Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
03/31/2023 05:26:39 PM (3 years ago)
Author:
imath
Message:

Make sure all displayed user URLs are built using the BP Rewrites API

Replace all remaining bp_displayed_user_domain() usage in favor of
bp_displayed_user_url().
Introduce the bp_members_get_path_chunks() function to quickly build BP
Rewrites argument for member's URL using an array of slugs.
Deprecate bp_activities_member_rss_link(), bp_blogs_blog_tabs() &
bp_groups_header_tabs().
Improve bp_displayed_user_link() so that it's possible to pass an array
of slugs to output an escaped BP Rewrites ready URL.

Props r-a-y, johnjamesjacoby, boonebgorges

Closes https://github.com/buddypress/buddypress/pull/79
See #4954

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-members/bp-members-adminbar.php

    r13441 r13443  
    8383
    8484        // Only show if viewing a user.
    85         if ( !bp_is_user() )
     85        if ( ! bp_is_user() ) {
    8686                return false;
     87        }
    8788
    8889        // Don't show this menu to non site admins or if you're viewing your own profile.
    89         if ( !current_user_can( 'edit_users' ) || bp_is_my_profile() )
     90        if ( ! current_user_can( 'edit_users' ) || bp_is_my_profile() ) {
    9091                return false;
     92        }
    9193
    9294        $bp = buddypress();
     
    9698
    9799        // Add the top-level User Admin button.
    98         $wp_admin_bar->add_node( array(
    99                 'id'    => $bp->user_admin_menu_id,
    100                 'title' => __( 'Edit Member', 'buddypress' ),
    101                 'href'  => bp_displayed_user_domain()
    102         ) );
     100        $wp_admin_bar->add_node(
     101                array(
     102                        'id'    => $bp->user_admin_menu_id,
     103                        'title' => __( 'Edit Member', 'buddypress' ),
     104                        'href'  => bp_displayed_user_url()
     105                )
     106        );
    103107
    104108        if ( bp_is_active( 'xprofile' ) ) {
    105109                // User Admin > Edit this user's profile.
    106                 $wp_admin_bar->add_node( array(
    107                         'parent' => $bp->user_admin_menu_id,
    108                         'id'     => $bp->user_admin_menu_id . '-edit-profile',
    109                         'title'  => __( "Edit Profile", 'buddypress' ),
    110                         'href'   => bp_get_members_component_link( $bp->profile->id, 'edit' )
    111                 ) );
     110                $wp_admin_bar->add_node(
     111                        array(
     112                                'parent' => $bp->user_admin_menu_id,
     113                                'id'     => $bp->user_admin_menu_id . '-edit-profile',
     114                                'title'  => __( "Edit Profile", 'buddypress' ),
     115                                'href'   => bp_get_members_component_link( $bp->profile->id, 'edit' ),
     116                        )
     117                );
    112118
    113119                // User Admin > Edit this user's avatar.
    114120                if ( buddypress()->avatar->show_avatars ) {
    115                         $wp_admin_bar->add_node( array(
    116                                 'parent' => $bp->user_admin_menu_id,
    117                                 'id'     => $bp->user_admin_menu_id . '-change-avatar',
    118                                 'title'  => __( "Edit Profile Photo", 'buddypress' ),
    119                                 'href'   => bp_get_members_component_link( $bp->profile->id, 'change-avatar' )
    120                         ) );
     121                        $wp_admin_bar->add_node(
     122                                array(
     123                                        'parent' => $bp->user_admin_menu_id,
     124                                        'id'     => $bp->user_admin_menu_id . '-change-avatar',
     125                                        'title'  => __( "Edit Profile Photo", 'buddypress' ),
     126                                        'href'   => bp_get_members_component_link( $bp->profile->id, 'change-avatar' ),
     127                                )
     128                        );
    121129                }
    122130
    123131                // User Admin > Edit this user's cover image.
    124132                if ( bp_displayed_user_use_cover_image_header() ) {
    125                         $wp_admin_bar->add_node( array(
    126                                 'parent' => $bp->user_admin_menu_id,
    127                                 'id'     => $bp->user_admin_menu_id . '-change-cover-image',
    128                                 'title'  => __( 'Edit Cover Image', 'buddypress' ),
    129                                 'href'   => bp_get_members_component_link( $bp->profile->id, 'change-cover-image' )
    130                         ) );
     133                        $wp_admin_bar->add_node(
     134                                array(
     135                                        'parent' => $bp->user_admin_menu_id,
     136                                        'id'     => $bp->user_admin_menu_id . '-change-cover-image',
     137                                        'title'  => __( 'Edit Cover Image', 'buddypress' ),
     138                                        'href'   => bp_get_members_component_link( $bp->profile->id, 'change-cover-image' ),
     139                                )
     140                        );
    131141                }
    132142
     
    135145        if ( bp_is_active( 'settings' ) ) {
    136146                // User Admin > Spam/unspam.
    137                 $wp_admin_bar->add_node( array(
    138                         'parent' => $bp->user_admin_menu_id,
    139                         'id'     => $bp->user_admin_menu_id . '-user-capabilities',
    140                         'title'  => __( 'User Capabilities', 'buddypress' ),
    141                         'href'   => bp_displayed_user_domain() . 'settings/capabilities/'
    142                 ) );
     147                $wp_admin_bar->add_node(
     148                        array(
     149                                'parent' => $bp->user_admin_menu_id,
     150                                'id'     => $bp->user_admin_menu_id . '-user-capabilities',
     151                                'title'  => __( 'User Capabilities', 'buddypress' ),
     152                                'href'   => bp_get_members_component_link( $bp->settings->id, 'capabilities' ),
     153                        )
     154                );
    143155
    144156                // User Admin > Delete Account.
    145                 $wp_admin_bar->add_node( array(
    146                         'parent' => $bp->user_admin_menu_id,
    147                         'id'     => $bp->user_admin_menu_id . '-delete-user',
    148                         'title'  => __( 'Delete Account', 'buddypress' ),
    149                         'href'   => bp_displayed_user_domain() . 'settings/delete-account/'
    150                 ) );
    151 
    152         }
    153 
     157                $wp_admin_bar->add_node(
     158                        array(
     159                                'parent' => $bp->user_admin_menu_id,
     160                                'id'     => $bp->user_admin_menu_id . '-delete-user',
     161                                'title'  => __( 'Delete Account', 'buddypress' ),
     162                                'href'   => bp_get_members_component_link( $bp->settings->id, 'delete-account' ),
     163                        )
     164                );
     165        }
    154166}
    155167add_action( 'admin_bar_menu', 'bp_members_admin_bar_user_admin_menu', 99 );
Note: See TracChangeset for help on using the changeset viewer.