Skip to:
Content

BuddyPress.org

Changeset 6622


Ignore:
Timestamp:
12/10/2012 06:47:31 PM (13 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.