Skip to:
Content

bbPress.org

Changeset 6137


Ignore:
Timestamp:
12/08/2016 03:43:15 PM (7 years ago)
Author:
johnjamesjacoby
Message:

Moderation: Pass $reply_id into bbp_get_reply_toggles() so the exacty reply ID can be referenced directly at the time of the filter.

See #3032.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/replies/functions.php

    r6136 r6137  
    16161616    }
    16171617
     1618    // What's the reply id?
     1619    $reply_id = bbp_get_reply_id( (int) $_GET['reply_id'] );
     1620
    16181621    // Get possible reply-handler toggles
    1619     $possible_actions = bbp_get_reply_toggles();
    1620 
    1621     // Bail if actions aren't meant for this function
    1622     if ( ! in_array( $action, $possible_actions, true ) ) {
     1622    $toggles = bbp_get_reply_toggles( $reply_id );
     1623
     1624    // Bail if action isn't meant for this function
     1625    if ( ! in_array( $action, $toggles, true ) ) {
    16231626        return;
    16241627    }
    1625 
    1626     $reply_id  = (int) $_GET['reply_id'];    // What's the reply id?
    1627     $post_data = array( 'ID' => $reply_id ); // Prelim array
    16281628
    16291629    // Make sure reply exists
     
    16341634
    16351635    // What is the user doing here?
    1636     if ( ! current_user_can( 'edit_reply', $reply->ID ) || ( 'bbp_toggle_reply_trash' === $action && ! current_user_can( 'delete_reply', $reply->ID ) ) ) {
     1636    if ( ! current_user_can( 'edit_reply', $reply_id ) || ( 'bbp_toggle_reply_trash' === $action && ! current_user_can( 'delete_reply', $reply_id ) ) ) {
    16371637        bbp_add_error( 'bbp_toggle_reply_permission', __( '<strong>ERROR:</strong> You do not have the permission to do that!', 'bbpress' ) );
    16381638        return;
    16391639    }
    16401640
    1641     // Subaction?
    1642     $sub_action = in_array( $_GET['sub_action'], array( 'trash', 'untrash', 'delete' ), true )
     1641    // Sub-action?
     1642    $sub_action = ! empty( $_GET['sub_action'] )
    16431643        ? sanitize_key( $_GET['sub_action'] )
    16441644        : false;
     1645
     1646    // Preliminary array
     1647    $post_data = array( 'ID' => $reply_id );
    16451648
    16461649    // Do the reply toggling
     
    17271730        case 'bbp_toggle_reply_trash' :
    17281731
    1729             // Bail if no subaction
    1730             if ( empty( $r['sub_action'] ) ) {
    1731                 break;
    1732             }
    1733 
    17341732            // Which subaction?
    17351733            switch ( $r['sub_action'] ) {
     
    17971795 * @since 2.6.0 bbPress (r6133)
    17981796 *
     1797 * @param int $reply_id   Optional. Reply id.
     1798 *
    17991799 * @return array
    18001800 */
    1801 function bbp_get_reply_toggles() {
     1801function bbp_get_reply_toggles( $reply_id = 0 ) {
    18021802    return apply_filters( 'bbp_get_toggle_reply_actions', array(
    18031803        'bbp_toggle_reply_spam',
    18041804        'bbp_toggle_reply_trash',
    18051805        'bbp_toggle_reply_approve'
    1806     ) );
     1806    ), $reply_id );
    18071807}
    18081808
Note: See TracChangeset for help on using the changeset viewer.