Skip to:
Content

bbPress.org

Changeset 5408


Ignore:
Timestamp:
06/16/2014 08:45:38 PM (12 years ago)
Author:
johnjamesjacoby
Message:

Abstract new topic-transition reply helper-functions onto action hooks for easier testing and replacement/extension by third party plugins. See #2494.

Location:
trunk/src/includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/core/actions.php

    r5405 r5408  
    263263add_action( 'bbp_spam_reply',    'bbp_decrease_user_reply_count' );
    264264
     265// Topic status transition helpers for replies
     266add_action( 'bbp_trash_topic',   'bbp_trash_topic_replies'   );
     267add_action( 'bbp_untrash_topic', 'bbp_untrash_topic_replies' );
     268add_action( 'bbp_delete_topic',  'bbp_delete_topic_replies'  );
     269add_action( 'bbp_spam_topic',    'bbp_spam_topic_replies'    );
     270add_action( 'bbp_unspam_topic', ' bbp_unspam_topic_replies'  );
     271
    265272// User status
    266273// @todo make these sub-actions
  • trunk/src/includes/topics/functions.php

    r5407 r5408  
    27722772    }
    27732773
    2774     // Bail if already open
     2774    // Bail if not closed
    27752775    if ( bbp_get_closed_status_id() !== $topic->post_status ) {
    27762776        return false;
     
    27812781
    27822782    // Get previous status
    2783     $topic_status       = get_post_meta( $topic_id, '_bbp_status', true );
     2783    $topic_status = get_post_meta( $topic_id, '_bbp_status', true );
     2784
     2785    // If no previous status, default to publish
     2786    if ( empty( $topic_status ) ) {
     2787        $topic_status = bbp_get_public_status_id();
     2788    }
    27842789
    27852790    // Set previous status
     
    28342839    do_action( 'bbp_spam_topic', $topic_id );
    28352840
    2836     // Trash replies to the topic
    2837     bbp_spam_topic_replies();
    2838 
    28392841    // Set post status to spam
    28402842    $topic->post_status = bbp_get_spam_status_id();
    28412843
    28422844    // Empty the topic of its tags
    2843     $topic->tax_input = bbp_spam_topic_tags();
     2845    $topic->tax_input = bbp_spam_topic_tags( $topic_id );
    28442846
    28452847    // No revisions
     
    29712973    // Execute pre unspam code
    29722974    do_action( 'bbp_unspam_topic', $topic_id );
    2973 
    2974     // Untrash the replies to a previously spammed topic
    2975     bbp_unspam_topic_replies();
    29762975
    29772976    // Get pre spam status
     
    30793078 */
    30803079function bbp_stick_topic( $topic_id = 0, $super = false ) {
     3080
     3081    // Validation
    30813082    $topic_id = bbp_get_topic_id( $topic_id );
    30823083
    30833084    // Bail if a topic is not a topic (prevents revisions as stickies)
    3084     if ( ! bbp_is_topic( $topic_id ) )
     3085    if ( ! bbp_is_topic( $topic_id ) ) {
    30853086        return false;
     3087    }
    30863088
    30873089    // We may have a super sticky to which we want to convert into a normal
     
    31143116    $success  = !empty( $super ) ? update_option( '_bbp_super_sticky_topics', $stickies ) : update_post_meta( $forum_id, '_bbp_sticky_topics', $stickies );
    31153117
    3116     do_action( 'bbp_sticked_topic', $topic_id, $super, $success );
     3118    do_action( 'bbp_stuck_topic', $topic_id, $super, $success );
    31173119
    31183120    return (bool) $success;
     
    31343136 * @uses delete_post_meta() To delete the forum stickies meta
    31353137 * @uses update_post_meta() To update the forum stickies meta
    3136  * @uses do_action() Calls 'bbp_unsticked_topic' with the topic id and success
     3138 * @uses do_action() Calls 'bbp_unstuck_topic' with the topic id and success
    31373139 * @return bool Always true.
    31383140 */
     
    31613163    }
    31623164
    3163     do_action( 'bbp_unsticked_topic', $topic_id, $success );
     3165    do_action( 'bbp_unstuck_topic', $topic_id, $success );
    31643166
    31653167    return (bool) $success;
     
    31893191    $topic_id = bbp_get_topic_id( $topic_id );
    31903192
    3191     if ( empty( $topic_id ) || !bbp_is_topic( $topic_id ) ) {
     3193    if ( empty( $topic_id ) || ! bbp_is_topic( $topic_id ) ) {
    31923194        return false;
    31933195    }
    31943196
    31953197    do_action( 'bbp_delete_topic', $topic_id );
    3196 
    3197     bbp_delete_topic_replies( $topic_id );
    31983198}
    31993199
     
    32533253    $topic_id = bbp_get_topic_id( $topic_id );
    32543254
    3255     if ( empty( $topic_id ) || !bbp_is_topic( $topic_id ) ) {
     3255    if ( empty( $topic_id ) || ! bbp_is_topic( $topic_id ) ) {
    32563256        return false;
    32573257    }
    32583258
    32593259    do_action( 'bbp_trash_topic', $topic_id );
    3260 
    3261     bbp_trash_topic_replies( $topic_id );
    32623260}
    32633261
     
    33263324
    33273325    do_action( 'bbp_untrash_topic', $topic_id );
    3328 
    3329     bbp_untrash_topic_replies( $topic_id );
    33303326}
    33313327
     
    33733369    $topic_id = bbp_get_topic_id( $topic_id );
    33743370
    3375     if ( empty( $topic_id ) || !bbp_is_topic( $topic_id ) )
     3371    if ( empty( $topic_id ) || ! bbp_is_topic( $topic_id ) ) {
    33763372        return false;
     3373    }
    33773374
    33783375    do_action( 'bbp_deleted_topic', $topic_id );
     
    33893386    $topic_id = bbp_get_topic_id( $topic_id );
    33903387
    3391     if ( empty( $topic_id ) || !bbp_is_topic( $topic_id ) )
     3388    if ( empty( $topic_id ) || ! bbp_is_topic( $topic_id ) ) {
    33923389        return false;
     3390    }
    33933391
    33943392    do_action( 'bbp_trashed_topic', $topic_id );
     
    34053403    $topic_id = bbp_get_topic_id( $topic_id );
    34063404
    3407     if ( empty( $topic_id ) || !bbp_is_topic( $topic_id ) )
     3405    if ( empty( $topic_id ) || ! bbp_is_topic( $topic_id ) ) {
    34083406        return false;
     3407    }
    34093408
    34103409    do_action( 'bbp_untrashed_topic', $topic_id );
     
    36173616
    36183617    // Bail if not editing a topic
    3619     if ( !bbp_is_topic_edit() )
     3618    if ( ! bbp_is_topic_edit() ) {
    36203619        return;
     3620    }
    36213621
    36223622    // User cannot edit topic, so redirect back to topic
     
    36413641
    36423642    // Bail if not editing a topic tag
    3643     if ( !bbp_is_topic_tag_edit() )
     3643    if ( ! bbp_is_topic_tag_edit() ) {
    36443644        return;
     3645    }
    36453646
    36463647    // Bail if current user cannot edit topic tags
Note: See TracChangeset for help on using the changeset viewer.