Skip to:
Content

BuddyPress.org

Ticket #6506: 6506.03.patch

File 6506.03.patch, 2.3 KB (added by johnjamesjacoby, 9 years ago)
  • src/bp-messages/bp-messages-screens.php

     
    195195function messages_screen_notices() {
    196196        global $notice_id;
    197197
    198         if ( !bp_current_user_can( 'bp_moderate' ) ) {
    199                 return false;
    200         }
     198        $notice_id = (int) bp_action_variable( 1 );
    201199
    202         $notice_id = (int)bp_action_variable( 1 );
    203 
    204200        if ( !empty( $notice_id ) && is_numeric( $notice_id ) ) {
    205201                $notice = new BP_Messages_Notice( $notice_id );
    206202
  • src/bp-messages/bp-messages-template.php

     
    388388 * }
    389389 * @return bool True if there are threads to display, otherwise false.
    390390 */
    391 function bp_has_message_threads( $args = '' ) {
     391function bp_has_message_threads( $args = array() ) {
    392392        global $messages_template;
    393393
    394394        // The default box the user is looking at
    395         if ( bp_is_current_action( 'sentbox' ) ) {
    396                 $default_box = 'sentbox';
    397         } elseif ( bp_is_current_action( 'notices' ) ) {
    398                 $default_box = 'notices';
    399         } else {
    400                 $default_box = 'inbox';
     395        $current_action = bp_current_action();
     396        switch ( $current_action ) {
     397                case 'sentbox' :
     398                case 'notices' :
     399                case 'inbox'   :
     400                        $default_box = $current_action;
     401                        break;
     402                default :
     403                        $default_box = 'inbox';
     404                        break;
    401405        }
    402406
     407        // User ID
     408        $user_id = bp_loggedin_user_id();
     409
     410        // Search Terms
     411        $search_terms = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '';
     412
    403413        // Parse the arguments
    404414        $r = bp_parse_args( $args, array(
    405                 'user_id'      => bp_loggedin_user_id(),
     415                'user_id'      => $user_id,
    406416                'box'          => $default_box,
    407417                'per_page'     => 10,
    408418                'max'          => false,
    409419                'type'         => 'all',
    410                 'search_terms' => isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '',
     420                'search_terms' => $search_terms,
    411421                'page_arg'     => 'mpage', // See https://buddypress.trac.wordpress.org/ticket/3679
    412422                'meta_query'   => array()
    413423        ), 'has_message_threads' );
    414424
    415         // If trying to access notices without capabilities, redirect to root domain
    416         if ( bp_is_current_action( 'notices' ) && !bp_current_user_can( 'bp_moderate' ) ) {
    417                 bp_core_redirect( bp_displayed_user_domain() );
    418         }
    419 
    420425        // Load the messages loop global up with messages
    421426        $messages_template = new BP_Messages_Box_Template( $r );
    422427