Skip to:
Content

bbPress.org

Ticket #2069: anon-spectate-filterable.diff

File anon-spectate-filterable.diff, 2.9 KB (added by kevinB, 8 years ago)
  • includes/core/capabilities.php

     
    176176                        $caps = array(
    177177
    178178                                // Primary caps
    179                                 'spectate'              => false,
     179                                'spectate'              => true,
    180180                                'participate'           => false,
    181181                                'moderate'              => false,
    182182                                'throttle'              => false,
  • includes/users/capabilities.php

     
    222222        if ( ! did_action( 'set_current_user' ) )
    223223                return;
    224224
     225        // Load up bbPress once
     226        $bbp         = bbpress();
     227
    225228        // Bail if not logged in or already a member of this site
    226         if ( ! is_user_logged_in() )
    227                 return;
     229        if ( ! is_user_logged_in() ) {
     230                $user_role = '';
     231                $add_to_site = false;
     232        } else {
     233                // Get the current user ID
     234                $user_id = bbp_get_current_user_id();
    228235
    229         // Get the current user ID
    230         $user_id = bbp_get_current_user_id();
     236                // Bail if user already has a forums role
     237                if ( bbp_get_user_role( $user_id ) )
     238                        return;
    231239
    232         // Bail if user already has a forums role
    233         if ( bbp_get_user_role( $user_id ) )
    234                 return;
     240                // Bail if user is marked as spam or is deleted
     241                if ( bbp_is_user_inactive( $user_id ) )
     242                        return;
    235243
    236         // Bail if user is marked as spam or is deleted
    237         if ( bbp_is_user_inactive( $user_id ) )
    238                 return;
     244                /** Ready *****************************************************************/
    239245
    240         /** Ready *****************************************************************/
     246                // Get whether or not to add a role to the user account
     247                $add_to_site = bbp_allow_global_access();
    241248
    242         // Load up bbPress once
    243         $bbp         = bbpress();
     249                // Get the current user's WordPress role. Set to empty string if none found.
     250                $user_role   = bbp_get_user_blog_role( $user_id );
     251        }
    244252
    245         // Get whether or not to add a role to the user account
    246         $add_to_site = bbp_allow_global_access();
    247 
    248         // Get the current user's WordPress role. Set to empty string if none found.
    249         $user_role   = bbp_get_user_blog_role( $user_id );
    250 
    251253        // Get the role map
    252254        $role_map    = bbp_get_user_role_map();
    253255
     
    295297                'editor'        => $default_role,
    296298                'author'        => $default_role,
    297299                'contributor'   => $default_role,
    298                 'subscriber'    => $default_role
     300                'subscriber'    => $default_role,
     301                '' => bbp_get_blocked_role(),
    299302        ) );
    300303}
    301304
  • includes/users/functions.php

     
    11091109function bbp_forum_enforce_blocked() {
    11101110
    11111111        // Bail if not logged in or super admin
    1112         if ( ! is_user_logged_in() || is_super_admin() ) {
     1112        if ( is_super_admin() ) {
    11131113                return;
    11141114        }
    11151115