Skip to:
Content

BuddyPress.org

Changeset 6622


Ignore:
Timestamp:
12/10/2012 06:47:31 PM (14 years ago)
Author:
johnjamesjacoby
Message:

Toggle displayed/logged-in user for sub-nav. Bail if no menu should be available. Add 'user_has_access' checks where applicable. Reverts r6519. Fixes #4661.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity/bp-activity-loader.php

    r6342 r6622  
    129129
    130130                // Determine user to use
    131                 if ( bp_displayed_user_domain() )
     131                if ( bp_displayed_user_domain() ) {
    132132                        $user_domain = bp_displayed_user_domain();
    133                 elseif ( bp_loggedin_user_domain() )
     133                } elseif ( bp_loggedin_user_domain() ) {
    134134                        $user_domain = bp_loggedin_user_domain();
    135                 else
     135                } else {
    136136                        return;
     137                }
    137138
    138139                // User link
  • trunk/bp-blogs/bp-blogs-loader.php

    r6342 r6622  
    117117                );
    118118
    119                 $parent_url = trailingslashit( bp_displayed_user_domain() . bp_get_blogs_slug() );
     119                // Determine user to use
     120                if ( bp_displayed_user_domain() ) {
     121                        $user_domain = bp_displayed_user_domain();
     122                } elseif ( bp_loggedin_user_domain() ) {
     123                        $user_domain = bp_loggedin_user_domain();
     124                } else {
     125                        return;
     126                }
     127
     128                $parent_url = trailingslashit( $user_domain . bp_get_blogs_slug() );
    120129
    121130                $sub_nav[] = array(
  • trunk/bp-friends/bp-friends-loader.php

    r6342 r6622  
    103103                );
    104104
    105                 $friends_link = trailingslashit( bp_loggedin_user_domain() . bp_get_friends_slug() );
     105                // Determine user to use
     106                if ( bp_displayed_user_domain() ) {
     107                        $user_domain = bp_displayed_user_domain();
     108                } elseif ( bp_loggedin_user_domain() ) {
     109                        $user_domain = bp_loggedin_user_domain();
     110                } else {
     111                        return;
     112                }
     113
     114                $friends_link = trailingslashit( $user_domain . bp_get_friends_slug() );
    106115
    107116                // Add the subnav items to the friends nav item
     
    123132                        'screen_function' => 'friends_screen_requests',
    124133                        'position'        => 20,
    125                         'user_has_access' => bp_is_my_profile()
     134                        'user_has_access' => bp_core_can_edit_settings()
    126135                );
    127136
  • trunk/bp-groups/bp-groups-loader.php

    r6353 r6622  
    352352                );
    353353
    354                 $groups_link = trailingslashit( bp_loggedin_user_domain() . $this->slug );
    355 
    356                 // Add the My Groups nav item
    357                 $sub_nav[] = array(
    358                         'name'            => __( 'Memberships', 'buddypress' ),
    359                         'slug'            => 'my-groups',
    360                         'parent_url'      => $groups_link,
    361                         'parent_slug'     => $this->slug,
    362                         'screen_function' => 'groups_screen_my_groups',
    363                         'position'        => 10,
    364                         'item_css_id'     => 'groups-my-groups'
    365                 );
    366 
    367                 // Add the Group Invites nav item
    368                 $sub_nav[] = array(
    369                         'name'            => __( 'Invitations', 'buddypress' ),
    370                         'slug'            => 'invites',
    371                         'parent_url'      => $groups_link,
    372                         'parent_slug'     => $this->slug,
    373                         'screen_function' => 'groups_screen_group_invites',
    374                         'user_has_access' =>  bp_is_my_profile(),
    375                         'position'        => 30
    376                 );
    377 
    378                 parent::setup_nav( $main_nav, $sub_nav );
     354                // Determine user to use
     355                if ( bp_displayed_user_domain() ) {
     356                        $user_domain = bp_displayed_user_domain();
     357                } elseif ( bp_loggedin_user_domain() ) {
     358                        $user_domain = bp_loggedin_user_domain();
     359                } else {
     360                        $user_domain = false;
     361                }
     362
     363                if ( !empty( $user_domain ) ) {
     364                        $groups_link = trailingslashit( $user_domain . $this->slug );
     365
     366                        // Add the My Groups nav item
     367                        $sub_nav[] = array(
     368                                'name'            => __( 'Memberships', 'buddypress' ),
     369                                'slug'            => 'my-groups',
     370                                'parent_url'      => $groups_link,
     371                                'parent_slug'     => $this->slug,
     372                                'screen_function' => 'groups_screen_my_groups',
     373                                'position'        => 10,
     374                                'item_css_id'     => 'groups-my-groups'
     375                        );
     376
     377                        // Add the Group Invites nav item
     378                        $sub_nav[] = array(
     379                                'name'            => __( 'Invitations', 'buddypress' ),
     380                                'slug'            => 'invites',
     381                                'parent_url'      => $groups_link,
     382                                'parent_slug'     => $this->slug,
     383                                'screen_function' => 'groups_screen_group_invites',
     384                                'user_has_access' => bp_core_can_edit_settings(),
     385                                'position'        => 30
     386                        );
     387
     388                        parent::setup_nav( $main_nav, $sub_nav );
     389                }
    379390
    380391                if ( bp_is_groups_component() && bp_is_single_item() ) {
  • trunk/bp-messages/bp-messages-loader.php

    r6519 r6622  
    101101        function setup_nav() {
    102102
    103                 if ( ! bp_is_my_profile() )
    104                         return;
    105 
    106103                $sub_nav = array();
    107104                $name    = sprintf( __( 'Messages <span>%s</span>', 'buddypress' ), bp_get_total_unread_messages_count() );
     
    118115                );
    119116
     117                // Determine user to use
     118                if ( bp_displayed_user_domain() ) {
     119                        $user_domain = bp_displayed_user_domain();
     120                } elseif ( bp_loggedin_user_domain() ) {
     121                        $user_domain = bp_loggedin_user_domain();
     122                } else {
     123                        return;
     124                }
     125
    120126                // Link to user messages
    121                 $messages_link = trailingslashit( bp_loggedin_user_domain() . $this->slug );
     127                $messages_link = trailingslashit( $user_domain . $this->slug );
    122128
    123129                // Add the subnav items to the profile
     
    129135                        'screen_function' => 'messages_screen_inbox',
    130136                        'position'        => 10,
    131                         'user_has_access' => bp_is_my_profile()
     137                        'user_has_access' => bp_core_can_edit_settings()
    132138                );
    133139
     
    139145                        'screen_function' => 'messages_screen_sentbox',
    140146                        'position'        => 20,
    141                         'user_has_access' => bp_is_my_profile()
     147                        'user_has_access' => bp_core_can_edit_settings()
    142148                );
    143149
     
    149155                        'screen_function' => 'messages_screen_compose',
    150156                        'position'        => 30,
    151                         'user_has_access' => bp_is_my_profile()
     157                        'user_has_access' => bp_core_can_edit_settings()
    152158                );
    153159
  • trunk/bp-settings/bp-settings-loader.php

    r6519 r6622  
    8080
    8181                // Determine user to use
    82                 if ( bp_displayed_user_domain() )
     82                if ( bp_displayed_user_domain() ) {
    8383                        $user_domain = bp_displayed_user_domain();
    84                 elseif ( bp_loggedin_user_domain() )
     84                } elseif ( bp_loggedin_user_domain() ) {
    8585                        $user_domain = bp_loggedin_user_domain();
    86                 else
     86                } else {
    8787                        return;
     88                }
    8889
    8990                $settings_link = trailingslashit( $user_domain . $this->slug );
  • trunk/bp-xprofile/bp-xprofile-loader.php

    r6585 r6622  
    160160                );
    161161
    162                 $profile_link = trailingslashit( bp_loggedin_user_domain() . $this->slug );
     162                // Determine user to use
     163                if ( bp_displayed_user_domain() ) {
     164                        $user_domain = bp_displayed_user_domain();
     165                } elseif ( bp_loggedin_user_domain() ) {
     166                        $user_domain = bp_loggedin_user_domain();
     167                } else {
     168                        return;
     169                }
     170
     171                $profile_link = trailingslashit( $user_domain . $this->slug );
    163172
    164173                // Add the subnav items to the profile
     
    172181                );
    173182
    174                 if ( bp_is_my_profile() ) {
    175                         // Edit Profile
    176                         $sub_nav[] = array(
    177                                 'name'            => __( 'Edit', 'buddypress' ),
    178                                 'slug'            => 'edit',
    179                                 'parent_url'      => $profile_link,
    180                                 'parent_slug'     => $this->slug,
    181                                 'screen_function' => 'xprofile_screen_edit_profile',
    182                                 'position'        => 20
    183                         );
    184 
    185                         // Change Avatar
    186                         $sub_nav[] = array(
    187                                 'name'            => __( 'Change Avatar', 'buddypress' ),
    188                                 'slug'            => 'change-avatar',
    189                                 'parent_url'      => $profile_link,
    190                                 'parent_slug'     => $this->slug,
    191                                 'screen_function' => 'xprofile_screen_change_avatar',
    192                                 'position'        => 30
    193                         );
    194                 }
     183                // Edit Profile
     184                $sub_nav[] = array(
     185                        'name'            => __( 'Edit', 'buddypress' ),
     186                        'slug'            => 'edit',
     187                        'parent_url'      => $profile_link,
     188                        'parent_slug'     => $this->slug,
     189                        'screen_function' => 'xprofile_screen_edit_profile',
     190                        'position'        => 20,
     191                        'user_has_access' => bp_core_can_edit_settings()
     192                );
     193
     194                // Change Avatar
     195                $sub_nav[] = array(
     196                        'name'            => __( 'Change Avatar', 'buddypress' ),
     197                        'slug'            => 'change-avatar',
     198                        'parent_url'      => $profile_link,
     199                        'parent_slug'     => $this->slug,
     200                        'screen_function' => 'xprofile_screen_change_avatar',
     201                        'position'        => 30,
     202                        'user_has_access' => bp_core_can_edit_settings()
     203                );
    195204
    196205                parent::setup_nav( $main_nav, $sub_nav );
Note: See TracChangeset for help on using the changeset viewer.