Skip to:
Content

BuddyPress.org

Changeset 5483


Ignore:
Timestamp:
12/10/2011 06:16:23 PM (15 years ago)
Author:
johnjamesjacoby
Message:

First pass at WordPress 3.3 admin bar compat for 1.5 branch:

  • Introduce version check functions for groups, members, and core components
  • Add version checks in the above top level menus to tweak formatting for 3.2/3.3
  • See 3828
Location:
branches/1.5
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/1.5/bp-core/bp-core-adminbar.php

    r4976 r5483  
    1414if ( !bp_use_wp_admin_bar() || defined( 'DOING_AJAX' ) )
    1515        return;
     16
     17/**
     18 * Adjust the admin bar menus based on which WordPress version this is
     19 *
     20 * @since BuddyPress (1.5.2)
     21 */
     22function bp_core_admin_bar_version_check() {
     23        if ( '3.2' == bp_get_major_wp_version() ) {
     24                add_action( 'bp_setup_admin_bar', 'bp_admin_bar_root_site',       3 );
     25                add_action( 'bp_setup_admin_bar', 'bp_admin_bar_comments_menu',   3 );
     26                add_action( 'bp_setup_admin_bar', 'bp_admin_bar_appearance_menu', 3 );
     27                add_action( 'bp_setup_admin_bar', 'bp_admin_bar_updates_menu',    3 );
     28        }
     29}
     30add_action( 'admin_bar_menu', 'bp_core_admin_bar_version_check', 4 );
    1631
    1732/**
     
    2641function bp_admin_bar_remove_wp_menus() {
    2742
    28         remove_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 10 );
    29         remove_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
    30         remove_action( 'admin_bar_menu', 'wp_admin_bar_dashboard_view_site_menu', 25 );
    31 
    32         // Don't show the 'Edit Page' menu on BP pages
    33         if ( !bp_is_blog_page() )
    34                 remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 30 );
    35 
    36         remove_action( 'admin_bar_menu', 'wp_admin_bar_shortlink_menu', 80 );
    37         remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 70 );
    38 
    39         if ( !is_network_admin() && !is_user_admin() ) {
    40                 remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 50 );
    41                 remove_action( 'admin_bar_menu', 'wp_admin_bar_appearance_menu', 60 );
    42         }
    43 
    44         remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 70 );
     43        if ( '3.2' == bp_get_major_wp_version() ) {
     44                remove_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 10 );
     45                remove_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
     46                remove_action( 'admin_bar_menu', 'wp_admin_bar_dashboard_view_site_menu', 25 );
     47
     48                // Don't show the 'Edit Page' menu on BP pages
     49                if ( !bp_is_blog_page() )
     50                        remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 30 );
     51
     52                remove_action( 'admin_bar_menu', 'wp_admin_bar_shortlink_menu', 80 );
     53                remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 70 );
     54
     55                if ( !is_network_admin() && !is_user_admin() ) {
     56                        remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 50 );
     57                        remove_action( 'admin_bar_menu', 'wp_admin_bar_appearance_menu', 60 );
     58                }
     59
     60                remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 70 );
     61        }
    4562}
    4663add_action( 'bp_init', 'bp_admin_bar_remove_wp_menus', 2 );
     
    91108        }
    92109}
    93 add_action( 'bp_setup_admin_bar', 'bp_admin_bar_root_site', 3 );
    94110
    95111/**
     
    125141        }
    126142}
    127 add_action( 'bp_setup_admin_bar', 'bp_admin_bar_my_sites_menu', 3 );
    128143
    129144/**
     
    142157        $wp_admin_bar->add_menu( array( 'parent' => 'dashboard', 'id' => 'comments', 'title' => sprintf( __( 'Comments %s' ), $awaiting_mod ), 'href' => admin_url( 'edit-comments.php' ) ) );
    143158}
    144 add_action( 'bp_setup_admin_bar', 'bp_admin_bar_comments_menu', 3 );
    145159
    146160/**
     
    174188                $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'header', 'title' => __( 'Header' ), 'href' => admin_url( 'themes.php?page=custom-header' ) ) );
    175189}
    176 add_action( 'bp_setup_admin_bar', 'bp_admin_bar_appearance_menu', 3 );
    177190
    178191/**
     
    219232        $wp_admin_bar->add_menu( array( 'parent' => 'dashboard', 'id' => 'updates', 'title' => $update_title, 'href' => network_admin_url( 'update-core.php' ) ) );
    220233}
    221 add_action( 'bp_setup_admin_bar', 'bp_admin_bar_updates_menu', 3 );
    222234
    223235/**
     
    228240
    229241        if ( !bp_use_wp_admin_bar() )
     242                return;
     243
     244        if ( '3.3' == bp_get_major_wp_version() )
    230245                return;
    231246
     
    249264}
    250265add_action( 'bp_init', 'bp_core_load_admin_bar_css' );
     266
    251267?>
  • branches/1.5/bp-groups/bp-groups-adminbar.php

    r5052 r5483  
    1111// Exit if accessed directly
    1212if ( !defined( 'ABSPATH' ) ) exit;
     13
     14/**
     15 * Adjust the admin bar menus based on which WordPress version this is
     16 *
     17 * @since BuddyPress (1.5.2)
     18 */
     19function bp_groups_admin_bar_version_check() {
     20        if ( '3.2' == bp_get_major_wp_version() ) {
     21                add_action( 'bp_setup_admin_bar', 'bp_groups_group_admin_menu', 99 );
     22        } elseif ( '3.3' == bp_get_major_wp_version() ) {
     23                remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu',  80  );
     24                add_action( 'admin_bar_menu', 'bp_groups_group_admin_menu', 400 );
     25        }
     26}
     27add_action( 'admin_bar_menu', 'bp_groups_admin_bar_version_check', 4 );
    1328
    1429/**
     
    3146                return false;
    3247
    33         // Group avatar
    34         $avatar = bp_core_fetch_avatar( array(
    35                 'object'     => 'group',
    36                 'type'       => 'thumb',
    37                 'avatar_dir' => 'group-avatars',
    38                 'item_id'    => $bp->groups->current_group->id,
    39                 'width'      => 16,
    40                 'height'     => 16
    41         ) );
     48        if ( '3.2' == bp_get_major_wp_version() ) {
    4249
    43         // Unique ID for the 'My Account' menu
    44         $bp->group_admin_menu_id = ( ! empty( $avatar ) ) ? 'group-admin-with-avatar' : 'group-admin';
     50                // Group avatar
     51                $avatar = bp_core_fetch_avatar( array(
     52                        'object'     => 'group',
     53                        'type'       => 'thumb',
     54                        'avatar_dir' => 'group-avatars',
     55                        'item_id'    => $bp->groups->current_group->id,
     56                        'width'      => 16,
     57                        'height'     => 16
     58                ) );
    4559
    46         // Add the top-level Group Admin button
    47         $wp_admin_bar->add_menu( array(
    48                 'id'    => $bp->group_admin_menu_id,
    49                 'title' => $avatar . bp_get_current_group_name(),
    50                 'href'  => bp_get_group_permalink( $bp->groups->current_group )
    51         ) );
     60                // Unique ID for the 'My Account' menu
     61                $bp->group_admin_menu_id = ( ! empty( $avatar ) ) ? 'group-admin-with-avatar' : 'group-admin';
     62
     63                // Add the top-level Group Admin button
     64                $wp_admin_bar->add_menu( array(
     65                        'id'    => $bp->group_admin_menu_id,
     66                        'title' => $avatar . bp_get_current_group_name(),
     67                        'href'  => bp_get_group_permalink( $bp->groups->current_group )
     68                ) );
     69
     70        } elseif ( '3.3' == bp_get_major_wp_version() ) {
     71               
     72                // Unique ID for the 'My Account' menu
     73                $bp->group_admin_menu_id = 'group-admin';
     74
     75                // Add the top-level Group Admin button
     76                $wp_admin_bar->add_menu( array(
     77                        'id'    => $bp->group_admin_menu_id,
     78                        'title' => __( 'Edit Group', 'buddypress' ),
     79                        'href'  => bp_get_group_permalink( $bp->groups->current_group )
     80                ) );
     81        }
    5282
    5383        // Group Admin > Edit details
     
    113143        ) );
    114144}
    115 add_action( 'bp_setup_admin_bar', 'bp_groups_group_admin_menu', 99 );
    116145
    117146?>
  • branches/1.5/bp-members/bp-members-adminbar.php

    r5283 r5483  
    1313
    1414/**
     15 * Adjust the admin bar menus based on which WordPress version this is
     16 *
     17 * @since BuddyPress (1.5.2)
     18 */
     19function bp_members_admin_bar_version_check() {
     20       
     21        if ( '3.2' == bp_get_major_wp_version() ) {
     22                add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_my_account_menu',    4    );
     23                add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_notifications_menu', 5    );
     24                add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_user_admin_menu',    99   );
     25                add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_my_account_logout',  9999 );
     26        } elseif ( '3.3' == bp_get_major_wp_version() ) {
     27                add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_my_account_menu',    4   );
     28                add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_notifications_menu', 5   );
     29                add_action( 'admin_bar_menu',     'bp_members_admin_bar_user_admin_menu',    400 );
     30        }
     31}
     32add_action( 'admin_bar_menu', 'bp_members_admin_bar_version_check', 4 );
     33
     34/**
    1535 * Add the "My Account" menu and all submenus.
    1636 *
     
    1838 */
    1939function bp_members_admin_bar_my_account_menu() {
    20         global $bp, $wp_admin_bar;
     40        global $bp, $wp_admin_bar, $wp_version;
    2141
    2242        // Bail if this is an ajax request
     
    2747        if ( is_user_logged_in() ) {
    2848
    29                 // User avatar
    30                 $avatar = bp_core_fetch_avatar( array(
    31                         'item_id' => $bp->loggedin_user->id,
    32                         'email'   => $bp->loggedin_user->userdata->user_email,
    33                         'width'   => 16,
    34                         'height'  => 16
    35                 ) );
    36 
    37                 // Unique ID for the 'My Account' menu
    38                 $bp->my_account_menu_id = ( ! empty( $avatar ) ) ? 'my-account-with-avatar' : 'my-account';
    39 
    40                 // Create the main 'My Account' menu
    41                 $wp_admin_bar->add_menu( array(
    42                         'id'    => $bp->my_account_menu_id,
    43                         'title' => $avatar . bp_get_loggedin_user_fullname(),
    44                         'href'  => $bp->loggedin_user->domain
    45                 ) );
     49                if ( '3.2' == bp_get_major_wp_version() ) {
     50
     51                        // User avatar
     52                        $avatar = bp_core_fetch_avatar( array(
     53                                'item_id' => $bp->loggedin_user->id,
     54                                'email'   => $bp->loggedin_user->userdata->user_email,
     55                                'width'   => 16,
     56                                'height'  => 16
     57                        ) );
     58
     59                        // Unique ID for the 'My Account' menu
     60                        $bp->my_account_menu_id = ( ! empty( $avatar ) ) ? 'my-account-with-avatar' : 'my-account';
     61
     62                        // Create the main 'My Account' menu
     63                        $wp_admin_bar->add_menu( array(
     64                                'id'    => $bp->my_account_menu_id,
     65                                'title' => $avatar . bp_get_loggedin_user_fullname(),
     66                                'href'  => $bp->loggedin_user->domain
     67                        ) );
     68
     69                } else {
     70
     71                        // Unique ID for the 'My Account' menu
     72                        $bp->my_account_menu_id = 'my-account-buddypress';
     73
     74                        // Create the main 'My Account' menu
     75                        $wp_admin_bar->add_menu( array(
     76                                'parent' => 'my-account',
     77                                'id'     => $bp->my_account_menu_id,
     78                                'href'   => $bp->loggedin_user->domain,
     79                                'group'  => true,
     80                                'meta'   => array( 'class' => 'ab-sub-secondary' )
     81                        ) );
     82                }
    4683
    4784        // Show login and sign-up links
     
    67104        }
    68105}
    69 add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_my_account_menu', 4 );
    70106
    71107/**
     
    86122                return false;
    87123
    88         // User avatar
    89         $avatar = bp_core_fetch_avatar( array(
    90                 'item_id' => $bp->displayed_user->id,
    91                 'email'   => $bp->displayed_user->userdata->user_email,
    92                 'width'   => 16,
    93                 'height'  => 16
    94         ) );
    95 
    96         // Unique ID for the 'My Account' menu
    97         $bp->user_admin_menu_id = ( ! empty( $avatar ) ) ? 'user-admin-with-avatar' : 'user-admin';
    98 
    99         // Add the top-level User Admin button
    100         $wp_admin_bar->add_menu( array(
    101                 'id'    => $bp->user_admin_menu_id,
    102                 'title' => $avatar . bp_get_displayed_user_fullname(),
    103                 'href'  => bp_displayed_user_domain()
    104         ) );
     124        if ( '3.2' == bp_get_major_wp_version() ) {
     125
     126                // User avatar
     127                $avatar = bp_core_fetch_avatar( array(
     128                        'item_id' => $bp->displayed_user->id,
     129                        'email'   => $bp->displayed_user->userdata->user_email,
     130                        'width'   => 16,
     131                        'height'  => 16
     132                ) );
     133
     134                // Unique ID for the 'My Account' menu
     135                $bp->user_admin_menu_id = ( ! empty( $avatar ) ) ? 'user-admin-with-avatar' : 'user-admin';
     136
     137                // Add the top-level User Admin button
     138                $wp_admin_bar->add_menu( array(
     139                        'id'    => $bp->user_admin_menu_id,
     140                        'title' => $avatar . bp_get_displayed_user_fullname(),
     141                        'href'  => bp_displayed_user_domain()
     142                ) );
     143
     144        } elseif ( '3.3' == bp_get_major_wp_version() ) {
     145               
     146                // Unique ID for the 'My Account' menu
     147                $bp->user_admin_menu_id = 'user-admin';
     148
     149                // Add the top-level User Admin button
     150                $wp_admin_bar->add_menu( array(
     151                        'id'    => $bp->user_admin_menu_id,
     152                        'title' => __( 'Edit Member', 'buddypress' ),
     153                        'href'  => bp_displayed_user_domain()
     154                ) );
     155        }
    105156
    106157        // User Admin > Edit this user's profile
     
    148199        ) );
    149200}
    150 add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_user_admin_menu', 99 );
    151201
    152202/**
     
    168218        }
    169219
    170         // Add the top-level Notifications button
    171         $wp_admin_bar->add_menu( array(
    172                 'id'    => 'bp-notifications',
    173                 'title' => $menu_title,
    174                 'href'  => bp_loggedin_user_domain()
    175         ) );
     220        if ( '3.2' == bp_get_major_wp_version() ) {
     221
     222                // Add the top-level Notifications button
     223                $wp_admin_bar->add_menu( array(
     224                        'id'    => 'bp-notifications',
     225                        'title' => $menu_title,
     226                        'href'  => bp_loggedin_user_domain()
     227                ) );
     228
     229        } elseif ( '3.3' == bp_get_major_wp_version() ) {
     230               
     231                // Add the top-level Notifications button
     232                $wp_admin_bar->add_menu( array(
     233                        'parent' => 'top-secondary',
     234                        'id'     => 'bp-notifications',
     235                        'title'  => $menu_title,
     236                        'href'   => bp_loggedin_user_domain()
     237                ) );
     238        }
    176239
    177240        if ( !empty( $notifications ) ) {
     
    195258        return;
    196259}
    197 add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_notifications_menu', 999 );
    198260
    199261/**
     
    222284        }
    223285}
    224 add_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_my_account_logout', 9999 );
    225286
    226287?>
Note: See TracChangeset for help on using the changeset viewer.