Skip to:
Content

BuddyPress.org

Changeset 8568


Ignore:
Timestamp:
07/09/2014 04:43:00 PM (12 years ago)
Author:
boonebgorges
Message:

Formally deprecate the BuddyBar.

BuddyPress has been fully compatible with the WordPress toolbar since 1.6. We
have provided backward compatible support for the BuddyBar through the
BP_USE_WP_ADMIN_BAR constant. This changeset retains this support, but
officially deprecates it, with the following changes:

  • All UI related to the BuddyBar has been removed from the Dashboard setings panels
  • BuddyBar-related code has been moved to the deprecated functions folder
  • A _doing_it_wrong() notice is now thrown when loading the BuddyBar

Fixes #5390

Props DJPaul for an initial patch

Location:
trunk/src
Files:
5 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-blogs/bp-blogs-loader.php

    r8508 r8568  
    9494                        'activity',
    9595                        'functions',
    96                         'buddybar'
    9796                );
    9897
  • trunk/src/bp-core/admin/bp-core-settings.php

    r7965 r8568  
    5050}
    5151
    52 /**
    53  * If user has upgraded to 1.6 and chose to retain their BuddyBar, offer then a switch to change over
    54  * to the WP Toolbar.
    55  *
    56  * @since BuddyPress (1.6)
    57  */
    58 function bp_admin_setting_callback_force_buddybar() {
    59 ?>
    60 
    61         <input id="_bp_force_buddybar" name="_bp_force_buddybar" type="checkbox" value="1" <?php checked( ! bp_force_buddybar( true ) ); ?> />
    62         <label for="_bp_force_buddybar"><?php _e( 'Switch to WordPress Toolbar', 'buddypress' ); ?></label>
    63 
    64 <?php
    65 }
    66 
    6752/** Activity *******************************************************************/
    6853
     
    116101
    117102<?php
    118 }
    119 
    120 /**
    121  * Sanitization for _bp_force_buddyvar
    122  *
    123  * If upgraded to 1.6 and you chose to keep the BuddyBar, a checkbox asks if you want to switch to
    124  * the WP Toolbar. The option we store is 1 if the BuddyBar is forced on, so we use this function
    125  * to flip the boolean before saving the intval.
    126  *
    127  * @since BuddyPress (1.6)
    128  * @access Private
    129  */
    130 function bp_admin_sanitize_callback_force_buddybar( $value = false ) {
    131         return $value ? 0 : 1;
    132103}
    133104
  • trunk/src/bp-core/bp-core-adminbar.php

    r7756 r8568  
    7171        // Hide the WordPress Toolbar and show the BuddyBar
    7272        if ( ! bp_use_wp_admin_bar() ) {
     73                _doing_it_wrong( __FUNCTION__, __( 'The BuddyBar is no longer supported. Please migrate to the WordPress toolbar as soon as possible.', 'buddypress' ), '2.1.0' );
    7374
    7475                // Keep the WP Toolbar from loading
  • trunk/src/bp-core/bp-core-buddybar.php

    r8556 r8568  
    557557}
    558558
    559 /** BuddyBar Template functions ***********************************************/
    560 
    561 /**
    562  * Wrapper function for rendering the BuddyBar.
    563  *
    564  * @return bool|null Returns false if the BuddyBar is disabled.
    565  */
    566 function bp_core_admin_bar() {
    567         global $bp;
    568 
    569         if ( defined( 'BP_DISABLE_ADMIN_BAR' ) && BP_DISABLE_ADMIN_BAR )
    570                 return false;
    571 
    572         if ( (int) bp_get_option( 'hide-loggedout-adminbar' ) && !is_user_logged_in() )
    573                 return false;
    574 
    575         $bp->doing_admin_bar = true;
    576 
    577         echo '<div id="wp-admin-bar"><div class="padder">';
    578 
    579         // **** Do bp-adminbar-logo Actions ********
    580         do_action( 'bp_adminbar_logo' );
    581 
    582         echo '<ul class="main-nav">';
    583 
    584         // **** Do bp-adminbar-menus Actions ********
    585         do_action( 'bp_adminbar_menus' );
    586 
    587         echo '</ul>';
    588         echo "</div></div><!-- #wp-admin-bar -->\n\n";
    589 
    590         $bp->doing_admin_bar = false;
    591 }
    592 
    593 /**
    594  * Output the BuddyBar logo.
    595  */
    596 function bp_adminbar_logo() {
    597         echo '<a href="' . bp_get_root_domain() . '" id="admin-bar-logo">' . get_blog_option( bp_get_root_blog_id(), 'blogname' ) . '</a>';
    598 }
    599 
    600 /**
    601  * Output the "Log In" and "Sign Up" names to the BuddyBar.
    602  *
    603  * Visible only to visitors who are not logged in.
    604  *
    605  * @return bool|null Returns false if the current user is logged in.
    606  */
    607 function bp_adminbar_login_menu() {
    608 
    609         if ( is_user_logged_in() )
    610                 return false;
    611 
    612         echo '<li class="bp-login no-arrow"><a href="' . wp_login_url() . '">' . __( 'Log In', 'buddypress' ) . '</a></li>';
    613 
    614         // Show "Sign Up" link if user registrations are allowed
    615         if ( bp_get_signup_allowed() )
    616                 echo '<li class="bp-signup no-arrow"><a href="' . bp_get_signup_page() . '">' . __( 'Sign Up', 'buddypress' ) . '</a></li>';
    617 }
    618 
    619 /**
    620  * Output the My Account BuddyBar menu.
    621  *
    622  * @return bool|null Returns false on failure.
    623  */
    624 function bp_adminbar_account_menu() {
    625         global $bp;
    626 
    627         if ( !$bp->bp_nav || !is_user_logged_in() )
    628                 return false;
    629 
    630         echo '<li id="bp-adminbar-account-menu"><a href="' . bp_loggedin_user_domain() . '">';
    631         echo __( 'My Account', 'buddypress' ) . '</a>';
    632         echo '<ul>';
    633 
    634         // Loop through each navigation item
    635         $counter = 0;
    636         foreach( (array) $bp->bp_nav as $nav_item ) {
    637                 $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';
    638 
    639                 if ( -1 == $nav_item['position'] )
    640                         continue;
    641 
    642                 echo '<li' . $alt . '>';
    643                 echo '<a id="bp-admin-' . $nav_item['css_id'] . '" href="' . $nav_item['link'] . '">' . $nav_item['name'] . '</a>';
    644 
    645                 if ( isset( $bp->bp_options_nav[$nav_item['slug']] ) && is_array( $bp->bp_options_nav[$nav_item['slug']] ) ) {
    646                         echo '<ul>';
    647                         $sub_counter = 0;
    648 
    649                         foreach( (array) $bp->bp_options_nav[$nav_item['slug']] as $subnav_item ) {
    650                                 $link = $subnav_item['link'];
    651                                 $name = $subnav_item['name'];
    652 
    653                                 if ( bp_displayed_user_domain() )
    654                                         $link = str_replace( bp_displayed_user_domain(), bp_loggedin_user_domain(), $subnav_item['link'] );
    655 
    656                                 if ( isset( $bp->displayed_user->userdata->user_login ) )
    657                                         $name = str_replace( $bp->displayed_user->userdata->user_login, $bp->loggedin_user->userdata->user_login, $subnav_item['name'] );
    658 
    659                                 $alt = ( 0 == $sub_counter % 2 ) ? ' class="alt"' : '';
    660                                 echo '<li' . $alt . '><a id="bp-admin-' . $subnav_item['css_id'] . '" href="' . $link . '">' . $name . '</a></li>';
    661                                 $sub_counter++;
    662                         }
    663                         echo '</ul>';
    664                 }
    665 
    666                 echo '</li>';
    667 
    668                 $counter++;
    669         }
    670 
    671         $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';
    672 
    673         echo '<li' . $alt . '><a id="bp-admin-logout" class="logout" href="' . wp_logout_url( home_url() ) . '">' . __( 'Log Out', 'buddypress' ) . '</a></li>';
    674         echo '</ul>';
    675         echo '</li>';
    676 }
    677 
    678 function bp_adminbar_thisblog_menu() {
    679         if ( current_user_can( 'edit_posts' ) ) {
    680                 echo '<li id="bp-adminbar-thisblog-menu"><a href="' . admin_url() . '">';
    681                 _e( 'Dashboard', 'buddypress' );
    682                 echo '</a>';
    683                 echo '<ul>';
    684 
    685                 echo '<li class="alt"><a href="' . admin_url() . 'post-new.php">' . __( 'New Post', 'buddypress' ) . '</a></li>';
    686                 echo '<li><a href="' . admin_url() . 'edit.php">' . __( 'Manage Posts', 'buddypress' ) . '</a></li>';
    687                 echo '<li class="alt"><a href="' . admin_url() . 'edit-comments.php">' . __( 'Manage Comments', 'buddypress' ) . '</a></li>';
    688 
    689                 do_action( 'bp_adminbar_thisblog_items' );
    690 
    691                 echo '</ul>';
    692                 echo '</li>';
    693         }
    694 }
    695 
    696 /**
    697  * Output the Random BuddyBar menu.
    698  *
    699  * Not visible for logged-in users.
    700  */
    701 function bp_adminbar_random_menu() {
    702 ?>
    703 
    704         <li class="align-right" id="bp-adminbar-visitrandom-menu">
    705                 <a href="#"><?php _e( 'Visit', 'buddypress' ) ?></a>
    706                 <ul class="random-list">
    707                         <li><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ) . '?random-member' ?>" rel="nofollow"><?php _e( 'Random Member', 'buddypress' ) ?></a></li>
    708 
    709                         <?php if ( bp_is_active( 'groups' ) ) : ?>
    710 
    711                                 <li class="alt"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() ) . '?random-group' ?>"  rel="nofollow"><?php _e( 'Random Group', 'buddypress' ) ?></a></li>
    712 
    713                         <?php endif; ?>
    714 
    715                         <?php if ( is_multisite() && bp_is_active( 'blogs' ) ) : ?>
    716 
    717                                 <li><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_blogs_root_slug() ) . '?random-blog' ?>"  rel="nofollow"><?php _e( 'Random Site', 'buddypress' ) ?></a></li>
    718 
    719                         <?php endif; ?>
    720 
    721                         <?php do_action( 'bp_adminbar_random_menu' ) ?>
    722 
    723                 </ul>
    724         </li>
    725 
    726         <?php
    727 }
    728559
    729560/**
     
    748579        return 'true' === $pref;
    749580}
    750 
    751 /**
    752  * Enqueue the BuddyBar CSS.
    753  */
    754 function bp_core_load_buddybar_css() {
    755         global $wp_styles;
    756 
    757         if ( bp_use_wp_admin_bar() || ( (int) bp_get_option( 'hide-loggedout-adminbar' ) && !is_user_logged_in() ) || ( defined( 'BP_DISABLE_ADMIN_BAR' ) && BP_DISABLE_ADMIN_BAR ) )
    758                 return;
    759 
    760         $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
    761 
    762         if ( file_exists( get_stylesheet_directory() . '/_inc/css/adminbar.css' ) ) { // Backwards compatibility
    763                 $stylesheet = get_stylesheet_directory_uri() . '/_inc/css/adminbar.css';
    764         } else {
    765                 $stylesheet = buddypress()->plugin_url . "bp-core/css/buddybar{$min}.css";
    766         }
    767 
    768         wp_enqueue_style( 'bp-admin-bar', apply_filters( 'bp_core_buddybar_rtl_css', $stylesheet ), array(), bp_get_version() );
    769         $wp_styles->add_data( 'bp-admin-bar', 'rtl', true );
    770         if ( $min )
    771                 $wp_styles->add_data( 'bp-admin-bar', 'suffix', $min );
    772 }
    773 add_action( 'bp_init', 'bp_core_load_buddybar_css' );
  • trunk/src/bp-core/bp-core-options.php

    r8553 r8568  
    519519function bp_restrict_group_creation( $default = true ) {
    520520        return (bool) apply_filters( 'bp_restrict_group_creation', (bool) bp_get_option( 'bp_restrict_group_creation', $default ) );
    521 }
    522 
    523 /**
    524  * Should the old BuddyBar be forced in place of the WP admin bar?
    525  *
    526  * @since BuddyPress (1.6.0)
    527  *
    528  * @uses bp_get_option() To get the BuddyBar option.
    529  *
    530  * @param bool $default Optional. Fallback value if not found in the database.
    531  *        Default: true.
    532  * @return bool True if the BuddyBar should be forced on, otherwise false.
    533  */
    534 function bp_force_buddybar( $default = true ) {
    535         return (bool) apply_filters( 'bp_force_buddybar', (bool) bp_get_option( '_bp_force_buddybar', $default ) );
    536521}
    537522
  • trunk/src/bp-core/deprecated/2.1.php

    r8559 r8568  
    1919        $ext = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
    2020        $url = buddypress()->plugin_url . 'bp-core/deprecated/js/';
    21        
     21
    2222        $scripts = apply_filters( 'bp_core_register_deprecated_scripts', array(
    2323                // Core
     
    4545        $ext = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.css' : '.min.css';
    4646        $url = buddypress()->plugin_url . 'bp-core/deprecated/css/';
    47        
     47
    4848        $styles = apply_filters( 'bp_core_register_deprecated_styles', array(
    4949                // Messages
     
    5656}
    5757add_action( 'bp_enqueue_scripts', 'bp_core_register_deprecated_styles', 1 );
     58
     59/** BuddyBar *****************************************************************/
     60
     61/**
     62 * Add a Sites menu to the BuddyBar.
     63 *
     64 * @since BuddyPress (1.0.0)
     65 * @deprecated BuddyPress (2.1.0)
     66 *
     67 * @global object $bp The BuddyPress global settings object.
     68 *
     69 * @return bool|null Returns false on failure. Otherwise echoes the menu item.
     70 */
     71function bp_adminbar_blogs_menu() {
     72        global $bp;
     73
     74        if ( !is_user_logged_in() || !bp_is_active( 'blogs' ) )
     75                return false;
     76
     77        if ( !is_multisite() )
     78                return false;
     79
     80        $blogs = wp_cache_get( 'bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', 'bp' );
     81        if ( empty( $blogs ) ) {
     82                $blogs = bp_blogs_get_blogs_for_user( bp_loggedin_user_id(), true );
     83                wp_cache_set( 'bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', $blogs, 'bp' );
     84        }
     85
     86        $counter = 0;
     87        if ( is_array( $blogs['blogs'] ) && (int) $blogs['count'] ) {
     88
     89                echo '<li id="bp-adminbar-blogs-menu"><a href="' . trailingslashit( bp_loggedin_user_domain() . bp_get_blogs_slug() ) . '">';
     90
     91                _e( 'My Sites', 'buddypress' );
     92
     93                echo '</a>';
     94                echo '<ul>';
     95
     96                foreach ( (array) $blogs['blogs'] as $blog ) {
     97                        $alt      = ( 0 == $counter % 2 ) ? ' class="alt"' : '';
     98                        $site_url = esc_attr( $blog->siteurl );
     99
     100                        echo '<li' . $alt . '>';
     101                        echo '<a href="' . $site_url . '">' . esc_html( $blog->name ) . '</a>';
     102                        echo '<ul>';
     103                        echo '<li class="alt"><a href="' . $site_url . 'wp-admin/">' . __( 'Dashboard', 'buddypress' ) . '</a></li>';
     104                        echo '<li><a href="' . $site_url . 'wp-admin/post-new.php">' . __( 'New Post', 'buddypress' ) . '</a></li>';
     105                        echo '<li class="alt"><a href="' . $site_url . 'wp-admin/edit.php">' . __( 'Manage Posts', 'buddypress' ) . '</a></li>';
     106                        echo '<li><a href="' . $site_url . 'wp-admin/edit-comments.php">' . __( 'Manage Comments', 'buddypress' ) . '</a></li>';
     107                        echo '</ul>';
     108
     109                        do_action( 'bp_adminbar_blog_items', $blog );
     110
     111                        echo '</li>';
     112                        $counter++;
     113                }
     114
     115                $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';
     116
     117                if ( bp_blog_signup_enabled() ) {
     118                        echo '<li' . $alt . '>';
     119                        echo '<a href="' . bp_get_root_domain() . '/' . bp_get_blogs_root_slug() . '/create/">' . __( 'Create a Site!', 'buddypress' ) . '</a>';
     120                        echo '</li>';
     121                }
     122
     123                echo '</ul>';
     124                echo '</li>';
     125        }
     126}
     127
     128/**
     129 * If user has upgraded to 1.6 and chose to retain their BuddyBar, offer then a switch to change over
     130 * to the WP Toolbar.
     131 *
     132 * @since BuddyPress (1.6)
     133 * @deprecated BuddyPress (2.1.0)
     134 */
     135function bp_admin_setting_callback_force_buddybar() {
     136?>
     137
     138        <input id="_bp_force_buddybar" name="_bp_force_buddybar" type="checkbox" value="1" <?php checked( ! bp_force_buddybar( true ) ); ?> />
     139        <label for="_bp_force_buddybar"><?php _e( 'Switch to WordPress Toolbar', 'buddypress' ); ?></label>
     140
     141<?php
     142}
     143
     144
     145/**
     146 * Sanitization for _bp_force_buddyvar
     147 *
     148 * If upgraded to 1.6 and you chose to keep the BuddyBar, a checkbox asks if you want to switch to
     149 * the WP Toolbar. The option we store is 1 if the BuddyBar is forced on, so we use this function
     150 * to flip the boolean before saving the intval.
     151 *
     152 * @since BuddyPress (1.6)
     153 * @deprecated BuddyPress (2.1.0)
     154 * @access Private
     155 */
     156function bp_admin_sanitize_callback_force_buddybar( $value = false ) {
     157        return $value ? 0 : 1;
     158}
     159
     160/**
     161 * Wrapper function for rendering the BuddyBar.
     162 *
     163 * @return bool|null Returns false if the BuddyBar is disabled.
     164 * @deprecated BuddyPress (2.1.0)
     165 */
     166function bp_core_admin_bar() {
     167        global $bp;
     168
     169        if ( defined( 'BP_DISABLE_ADMIN_BAR' ) && BP_DISABLE_ADMIN_BAR )
     170                return false;
     171
     172        if ( (int) bp_get_option( 'hide-loggedout-adminbar' ) && !is_user_logged_in() )
     173                return false;
     174
     175        $bp->doing_admin_bar = true;
     176
     177        echo '<div id="wp-admin-bar"><div class="padder">';
     178
     179        // **** Do bp-adminbar-logo Actions ********
     180        do_action( 'bp_adminbar_logo' );
     181
     182        echo '<ul class="main-nav">';
     183
     184        // **** Do bp-adminbar-menus Actions ********
     185        do_action( 'bp_adminbar_menus' );
     186
     187        echo '</ul>';
     188        echo "</div></div><!-- #wp-admin-bar -->\n\n";
     189
     190        $bp->doing_admin_bar = false;
     191}
     192
     193/**
     194 * Output the BuddyBar logo.
     195 *
     196 * @deprecated BuddyPress (2.1.0)
     197 */
     198function bp_adminbar_logo() {
     199        echo '<a href="' . bp_get_root_domain() . '" id="admin-bar-logo">' . get_blog_option( bp_get_root_blog_id(), 'blogname' ) . '</a>';
     200}
     201
     202/**
     203 * Output the "Log In" and "Sign Up" names to the BuddyBar.
     204 *
     205 * Visible only to visitors who are not logged in.
     206 *
     207 * @deprecated BuddyPress (2.1.0)
     208 *
     209 * @return bool|null Returns false if the current user is logged in.
     210 */
     211function bp_adminbar_login_menu() {
     212
     213        if ( is_user_logged_in() )
     214                return false;
     215
     216        echo '<li class="bp-login no-arrow"><a href="' . wp_login_url() . '">' . __( 'Log In', 'buddypress' ) . '</a></li>';
     217
     218        // Show "Sign Up" link if user registrations are allowed
     219        if ( bp_get_signup_allowed() )
     220                echo '<li class="bp-signup no-arrow"><a href="' . bp_get_signup_page() . '">' . __( 'Sign Up', 'buddypress' ) . '</a></li>';
     221}
     222
     223/**
     224 * Output the My Account BuddyBar menu.
     225 *
     226 * @deprecated BuddyPress (2.1.0)
     227 *
     228 * @return bool|null Returns false on failure.
     229 */
     230function bp_adminbar_account_menu() {
     231        global $bp;
     232
     233        if ( !$bp->bp_nav || !is_user_logged_in() )
     234                return false;
     235
     236        echo '<li id="bp-adminbar-account-menu"><a href="' . bp_loggedin_user_domain() . '">';
     237        echo __( 'My Account', 'buddypress' ) . '</a>';
     238        echo '<ul>';
     239
     240        // Loop through each navigation item
     241        $counter = 0;
     242        foreach( (array) $bp->bp_nav as $nav_item ) {
     243                $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';
     244
     245                if ( -1 == $nav_item['position'] )
     246                        continue;
     247
     248                echo '<li' . $alt . '>';
     249                echo '<a id="bp-admin-' . $nav_item['css_id'] . '" href="' . $nav_item['link'] . '">' . $nav_item['name'] . '</a>';
     250
     251                if ( isset( $bp->bp_options_nav[$nav_item['slug']] ) && is_array( $bp->bp_options_nav[$nav_item['slug']] ) ) {
     252                        echo '<ul>';
     253                        $sub_counter = 0;
     254
     255                        foreach( (array) $bp->bp_options_nav[$nav_item['slug']] as $subnav_item ) {
     256                                $link = $subnav_item['link'];
     257                                $name = $subnav_item['name'];
     258
     259                                if ( bp_displayed_user_domain() )
     260                                        $link = str_replace( bp_displayed_user_domain(), bp_loggedin_user_domain(), $subnav_item['link'] );
     261
     262                                if ( isset( $bp->displayed_user->userdata->user_login ) )
     263                                        $name = str_replace( $bp->displayed_user->userdata->user_login, $bp->loggedin_user->userdata->user_login, $subnav_item['name'] );
     264
     265                                $alt = ( 0 == $sub_counter % 2 ) ? ' class="alt"' : '';
     266                                echo '<li' . $alt . '><a id="bp-admin-' . $subnav_item['css_id'] . '" href="' . $link . '">' . $name . '</a></li>';
     267                                $sub_counter++;
     268                        }
     269                        echo '</ul>';
     270                }
     271
     272                echo '</li>';
     273
     274                $counter++;
     275        }
     276
     277        $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';
     278
     279        echo '<li' . $alt . '><a id="bp-admin-logout" class="logout" href="' . wp_logout_url( home_url() ) . '">' . __( 'Log Out', 'buddypress' ) . '</a></li>';
     280        echo '</ul>';
     281        echo '</li>';
     282}
     283
     284function bp_adminbar_thisblog_menu() {
     285        if ( current_user_can( 'edit_posts' ) ) {
     286                echo '<li id="bp-adminbar-thisblog-menu"><a href="' . admin_url() . '">';
     287                _e( 'Dashboard', 'buddypress' );
     288                echo '</a>';
     289                echo '<ul>';
     290
     291                echo '<li class="alt"><a href="' . admin_url() . 'post-new.php">' . __( 'New Post', 'buddypress' ) . '</a></li>';
     292                echo '<li><a href="' . admin_url() . 'edit.php">' . __( 'Manage Posts', 'buddypress' ) . '</a></li>';
     293                echo '<li class="alt"><a href="' . admin_url() . 'edit-comments.php">' . __( 'Manage Comments', 'buddypress' ) . '</a></li>';
     294
     295                do_action( 'bp_adminbar_thisblog_items' );
     296
     297                echo '</ul>';
     298                echo '</li>';
     299        }
     300}
     301
     302/**
     303 * Output the Random BuddyBar menu.
     304 *
     305 * Not visible for logged-in users.
     306 *
     307 * @deprecated BuddyPress (2.1.0)
     308 */
     309function bp_adminbar_random_menu() {
     310?>
     311
     312        <li class="align-right" id="bp-adminbar-visitrandom-menu">
     313                <a href="#"><?php _e( 'Visit', 'buddypress' ) ?></a>
     314                <ul class="random-list">
     315                        <li><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ) . '?random-member' ?>" rel="nofollow"><?php _e( 'Random Member', 'buddypress' ) ?></a></li>
     316
     317                        <?php if ( bp_is_active( 'groups' ) ) : ?>
     318
     319                                <li class="alt"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() ) . '?random-group' ?>"  rel="nofollow"><?php _e( 'Random Group', 'buddypress' ) ?></a></li>
     320
     321                        <?php endif; ?>
     322
     323                        <?php if ( is_multisite() && bp_is_active( 'blogs' ) ) : ?>
     324
     325                                <li><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_blogs_root_slug() ) . '?random-blog' ?>"  rel="nofollow"><?php _e( 'Random Site', 'buddypress' ) ?></a></li>
     326
     327                        <?php endif; ?>
     328
     329                        <?php do_action( 'bp_adminbar_random_menu' ) ?>
     330
     331                </ul>
     332        </li>
     333
     334        <?php
     335}
     336
     337/**
     338 * Enqueue the BuddyBar CSS.
     339 *
     340 * @deprecated BuddyPress (2.1.0)
     341 */
     342function bp_core_load_buddybar_css() {
     343        global $wp_styles;
     344
     345        if ( bp_use_wp_admin_bar() || ( (int) bp_get_option( 'hide-loggedout-adminbar' ) && !is_user_logged_in() ) || ( defined( 'BP_DISABLE_ADMIN_BAR' ) && BP_DISABLE_ADMIN_BAR ) )
     346                return;
     347
     348        $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
     349
     350        if ( file_exists( get_stylesheet_directory() . '/_inc/css/adminbar.css' ) ) { // Backwards compatibility
     351                $stylesheet = get_stylesheet_directory_uri() . '/_inc/css/adminbar.css';
     352        } else {
     353                $stylesheet = buddypress()->plugin_url . "bp-core/css/buddybar{$min}.css";
     354        }
     355
     356        wp_enqueue_style( 'bp-admin-bar', apply_filters( 'bp_core_buddybar_rtl_css', $stylesheet ), array(), bp_get_version() );
     357        $wp_styles->add_data( 'bp-admin-bar', 'rtl', true );
     358        if ( $min )
     359                $wp_styles->add_data( 'bp-admin-bar', 'suffix', $min );
     360}
     361add_action( 'bp_init', 'bp_core_load_buddybar_css' );
     362
     363/**
     364 * Should the old BuddyBar be forced in place of the WP admin bar?
     365 *
     366 * @since BuddyPress (1.6.0)
     367 * @deprecated BuddyPress (2.1.0)
     368 *
     369 * @uses bp_get_option() To get the BuddyBar option.
     370 *
     371 * @param bool $default Optional. Fallback value if not found in the database.
     372 *        Default: true.
     373 * @return bool True if the BuddyBar should be forced on, otherwise false.
     374 */
     375function bp_force_buddybar( $default = true ) {
     376        return (bool) apply_filters( 'bp_force_buddybar', (bool) bp_get_option( '_bp_force_buddybar', $default ) );
     377}
     378
     379/**
     380 * Add menu items to the BuddyBar.
     381 *
     382 * @since BuddyPress (1.0.0)
     383 *
     384 * @deprecated BuddyPress (2.1.0)
     385 *
     386 * @global BuddyPress $bp
     387 */
     388function bp_groups_adminbar_admin_menu() {
     389        global $bp;
     390
     391        if ( empty( $bp->groups->current_group ) )
     392                return false;
     393
     394        // Only group admins and site admins can see this menu
     395        if ( !current_user_can( 'edit_users' ) && !bp_current_user_can( 'bp_moderate' ) && !bp_is_item_admin() )
     396                return false; ?>
     397
     398        <li id="bp-adminbar-adminoptions-menu">
     399                <a href="<?php bp_groups_action_link( 'admin' ); ?>"><?php _e( 'Admin Options', 'buddypress' ); ?></a>
     400
     401                <ul>
     402                        <li><a href="<?php bp_groups_action_link( 'admin/edit-details' ); ?>"><?php _e( 'Edit Details', 'buddypress' ); ?></a></li>
     403
     404                        <li><a href="<?php bp_groups_action_link( 'admin/group-settings' );  ?>"><?php _e( 'Group Settings', 'buddypress' ); ?></a></li>
     405
     406                        <?php if ( !(int)bp_get_option( 'bp-disable-avatar-uploads' ) ) : ?>
     407
     408                                <li><a href="<?php bp_groups_action_link( 'admin/group-avatar' ); ?>"><?php _e( 'Group Avatar', 'buddypress' ); ?></a></li>
     409
     410                        <?php endif; ?>
     411
     412                        <?php if ( bp_is_active( 'friends' ) ) : ?>
     413
     414                                <li><a href="<?php bp_groups_action_link( 'send-invites' ); ?>"><?php _e( 'Manage Invitations', 'buddypress' ); ?></a></li>
     415
     416                        <?php endif; ?>
     417
     418                        <li><a href="<?php bp_groups_action_link( 'admin/manage-members' ); ?>"><?php _e( 'Manage Members', 'buddypress' ); ?></a></li>
     419
     420                        <?php if ( $bp->groups->current_group->status == 'private' ) : ?>
     421
     422                                <li><a href="<?php bp_groups_action_link( 'admin/membership-requests' ); ?>"><?php _e( 'Membership Requests', 'buddypress' ); ?></a></li>
     423
     424                        <?php endif; ?>
     425
     426                        <li><a class="confirm" href="<?php echo wp_nonce_url( bp_get_group_permalink( $bp->groups->current_group ) . 'admin/delete-group/', 'groups_delete_group' ); ?>&amp;delete-group-button=1&amp;delete-group-understand=1"><?php _e( "Delete Group", 'buddypress' ) ?></a></li>
     427
     428                        <?php do_action( 'bp_groups_adminbar_admin_menu' ) ?>
     429
     430                </ul>
     431        </li>
     432
     433        <?php
     434}
     435add_action( 'bp_adminbar_menus', 'bp_groups_adminbar_admin_menu', 20 );
     436
     437/**
     438 * Add the Notifications menu to the BuddyBar.
     439 *
     440 * @deprecated BuddyPress (2.1.0)
     441 */
     442function bp_adminbar_notifications_menu() {
     443
     444        // Bail if notifications is not active
     445        if ( ! bp_is_active( 'notifications' ) ) {
     446                return false;
     447        }
     448
     449        bp_notifications_buddybar_menu();
     450}
     451add_action( 'bp_adminbar_menus', 'bp_adminbar_notifications_menu', 8 );
     452
     453/**
     454 * Add the Blog Authors menu to the BuddyBar (visible when not logged in).
     455 *
     456 * @deprecated BuddyPress (2.1.0)
     457 */
     458function bp_adminbar_authors_menu() {
     459        global $wpdb;
     460
     461        // Only for multisite
     462        if ( !is_multisite() )
     463                return false;
     464
     465        // Hide on root blog
     466        if ( $wpdb->blogid == bp_get_root_blog_id() || !bp_is_active( 'blogs' ) )
     467                return false;
     468
     469        $blog_prefix = $wpdb->get_blog_prefix( $wpdb->blogid );
     470        $authors     = $wpdb->get_results( "SELECT user_id, user_login, user_nicename, display_name, user_email, meta_value as caps FROM $wpdb->users u, $wpdb->usermeta um WHERE u.ID = um.user_id AND meta_key = '{$blog_prefix}capabilities' ORDER BY um.user_id" );
     471
     472        if ( !empty( $authors ) ) {
     473                // This is a blog, render a menu with links to all authors
     474                echo '<li id="bp-adminbar-authors-menu"><a href="/">';
     475                _e('Blog Authors', 'buddypress');
     476                echo '</a>';
     477
     478                echo '<ul class="author-list">';
     479                foreach( (array) $authors as $author ) {
     480                        $caps = maybe_unserialize( $author->caps );
     481                        if ( isset( $caps['subscriber'] ) || isset( $caps['contributor'] ) ) continue;
     482
     483                        echo '<li>';
     484                        echo '<a href="' . bp_core_get_user_domain( $author->user_id, $author->user_nicename, $author->user_login ) . '">';
     485                        echo bp_core_fetch_avatar( array(
     486                                'item_id' => $author->user_id,
     487                                'email'   => $author->user_email,
     488                                'width'   => 15,
     489                                'height'  => 15,
     490                                'alt'     => sprintf( __( 'Profile picture of %s', 'buddypress' ), $author->display_name )
     491                        ) );
     492                        echo ' ' . $author->display_name . '</a>';
     493                        echo '<div class="admin-bar-clear"></div>';
     494                        echo '</li>';
     495                }
     496                echo '</ul>';
     497                echo '</li>';
     498        }
     499}
     500add_action( 'bp_adminbar_menus', 'bp_adminbar_authors_menu', 12 );
     501
     502/**
     503 * Add a member admin menu to the BuddyBar.
     504 *
     505 * Adds an Toolbar menu to any profile page providing site moderator actions
     506 * that allow capable users to clean up a users account.
     507 *
     508 * @deprecated BuddyPress (2.1.0)
     509 */
     510function bp_members_adminbar_admin_menu() {
     511
     512        // Only show if viewing a user
     513        if ( !bp_displayed_user_id() )
     514                return false;
     515
     516        // Don't show this menu to non site admins or if you're viewing your own profile
     517        if ( !current_user_can( 'edit_users' ) || bp_is_my_profile() )
     518                return false; ?>
     519
     520        <li id="bp-adminbar-adminoptions-menu">
     521
     522                <a href=""><?php _e( 'Admin Options', 'buddypress' ) ?></a>
     523
     524                <ul>
     525                        <?php if ( bp_is_active( 'xprofile' ) ) : ?>
     526
     527                                <li><a href="<?php bp_members_component_link( 'profile', 'edit' ); ?>"><?php printf( __( "Edit %s's Profile", 'buddypress' ), esc_attr( bp_get_displayed_user_fullname() ) ) ?></a></li>
     528
     529                        <?php endif ?>
     530
     531                        <li><a href="<?php bp_members_component_link( 'profile', 'change-avatar' ); ?>"><?php printf( __( "Edit %s's Avatar", 'buddypress' ), esc_attr( bp_get_displayed_user_fullname() ) ) ?></a></li>
     532
     533                        <li><a href="<?php bp_members_component_link( 'settings', 'capabilities' ); ?>"><?php _e( 'User Capabilities', 'buddypress' ); ?></a></li>
     534
     535                        <li><a href="<?php bp_members_component_link( 'settings', 'delete-account' ); ?>"><?php printf( __( "Delete %s's Account", 'buddypress' ), esc_attr( bp_get_displayed_user_fullname() ) ); ?></a></li>
     536
     537                        <?php do_action( 'bp_members_adminbar_admin_menu' ) ?>
     538
     539                </ul>
     540        </li>
     541
     542        <?php
     543}
     544add_action( 'bp_adminbar_menus', 'bp_members_adminbar_admin_menu', 20 );
     545
     546/**
     547 * Create the Notifications menu for the BuddyBar.
     548 *
     549 * @since BuddyPress (1.9.0)
     550 * @deprecated BuddyPress (2.1.0)
     551 */
     552function bp_notifications_buddybar_menu() {
     553
     554        if ( ! is_user_logged_in() ) {
     555                return false;
     556        }
     557
     558        echo '<li id="bp-adminbar-notifications-menu"><a href="' . esc_url( bp_loggedin_user_domain() ) . '">';
     559        _e( 'Notifications', 'buddypress' );
     560
     561        if ( $notification_count = bp_notifications_get_unread_notification_count( bp_loggedin_user_id() ) ) : ?>
     562                <span><?php echo bp_core_number_format( $notification_count ); ?></span>
     563        <?php
     564        endif;
     565
     566        echo '</a>';
     567        echo '<ul>';
     568
     569        if ( $notifications = bp_notifications_get_notifications_for_user( bp_loggedin_user_id() ) ) {
     570                $counter = 0;
     571                for ( $i = 0, $count = count( $notifications ); $i < $count; ++$i ) {
     572                        $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : ''; ?>
     573
     574                        <li<?php echo $alt ?>><?php echo $notifications[$i] ?></li>
     575
     576                        <?php $counter++;
     577                }
     578        } else { ?>
     579
     580                <li><a href="<?php echo esc_url( bp_loggedin_user_domain() ); ?>"><?php _e( 'No new notifications.', 'buddypress' ); ?></a></li>
     581
     582        <?php
     583        }
     584
     585        echo '</ul>';
     586        echo '</li>';
     587}
     588add_action( 'bp_adminbar_menus', 'bp_adminbar_notifications_menu', 8 );
  • trunk/src/bp-groups/bp-groups-loader.php

    r8543 r8568  
    103103                        'activity',
    104104                        'template',
    105                         'buddybar',
    106105                        'adminbar',
    107106                        'functions',
     
    351350
    352351        /**
    353          * Setup BuddyBar navigation
     352         * Set up navigation.
    354353         *
    355354         * @global BuddyPress $bp The one true BuddyPress instance
  • trunk/src/bp-groups/bp-groups-notifications.php

    r8097 r8568  
    310310
    311311/**
    312  * Format the BuddyBar/Toolbar notifications for the Groups component
     312 * Format notifications for the Groups component.
    313313 *
    314314 * @since BuddyPress (1.0)
  • trunk/src/bp-members/bp-members-loader.php

    r8439 r8568  
    4545                        'screens',
    4646                        'template',
    47                         'buddybar',
    4847                        'adminbar',
    4948                        'functions',
  • trunk/src/bp-messages/bp-messages-notifications.php

    r8482 r8568  
    109109
    110110/**
    111  * Format the BuddyBar/Toolbar notifications for the Messages component.
     111 * Format notifications for the Messages component.
    112112 *
    113113 * @since BuddyPress (1.0.0)
  • trunk/src/bp-notifications/bp-notifications-loader.php

    r8223 r8568  
    4747                        'screens',
    4848                        'adminbar',
    49                         'buddybar',
    5049                        'template',
    5150                        'functions',
  • trunk/src/bp-settings/bp-settings-loader.php

    r7756 r8568  
    6565
    6666        /**
    67          * Setup BuddyBar navigation
     67         * Set up navigation.
    6868         */
    6969        public function setup_nav( $main_nav = array(), $sub_nav = array() ) {
  • trunk/src/bp-xprofile/bp-xprofile-loader.php

    r8518 r8568  
    6464                        'settings',
    6565                        'template',
    66                         'buddybar',
    6766                        'functions',
    6867                );
     
    157156
    158157        /**
    159          * Setup BuddyBar navigation
     158         * Set up navigation.
    160159         *
    161160         * @global BuddyPress $bp The one true BuddyPress instance
Note: See TracChangeset for help on using the changeset viewer.