Ticket #7729: 7729.03.patch
File 7729.03.patch, 33.4 KB (added by , 4 years ago) |
---|
-
src/bp-activity/bp-activity-notifications.php
19 19 * @param int $item_id The activity ID. 20 20 * @param int $secondary_item_id In the case of at-mentions, this is the mentioner's ID. 21 21 * @param int $total_items The total number of notifications to format. 22 * @param string $format 'string' to get a BuddyBar-compatible notification, 'array' otherwise.22 * @param string $format 'string' for notification HTML link or 'array' for separate link and text. 23 23 * @param int $id Optional. The notification ID. 24 24 * @return string $return Formatted @mention notification. 25 25 */ -
src/bp-core/bp-core-adminbar.php
44 44 add_action( 'admin_bar_menu', 'bp_admin_bar_my_account_root', 100 ); 45 45 46 46 /** 47 * Handle the Toolbar/BuddyBar business.47 * Toggle the display of the toolbar based on certain conditions. 48 48 * 49 49 * @since 1.2.0 50 50 */ 51 51 function bp_core_load_admin_bar() { 52 53 52 // Show the Toolbar for logged out users. 54 53 if ( ! is_user_logged_in() && (int) bp_get_option( 'hide-loggedout-adminbar' ) != 1 ) { 55 54 show_admin_bar( true ); 56 55 } 57 56 58 // Hide the WordPress Toolbar and show the BuddyBar.57 // Hide the WordPress Toolbar. 59 58 if ( ! bp_use_wp_admin_bar() ) { 60 _doing_it_wrong( __FUNCTION__, __( 'The BuddyBar is no longer supported. Please migrate to the WordPress toolbar as soon as possible.', 'buddypress' ), '2.1.0' );61 62 // Load deprecated code if not available.63 if ( ! function_exists( 'bp_core_admin_bar' ) ) {64 require buddypress()->plugin_dir . 'bp-core/deprecated/2.1.php';65 }66 67 59 // Keep the WP Toolbar from loading. 68 60 show_admin_bar( false ); 69 70 // Actions used to build the BP Toolbar.71 add_action( 'bp_adminbar_logo', 'bp_adminbar_logo' );72 add_action( 'bp_adminbar_menus', 'bp_adminbar_login_menu', 2 );73 add_action( 'bp_adminbar_menus', 'bp_adminbar_account_menu', 4 );74 add_action( 'bp_adminbar_menus', 'bp_adminbar_thisblog_menu', 6 );75 add_action( 'bp_adminbar_menus', 'bp_adminbar_random_menu', 100 );76 77 // Actions used to append BP Toolbar to footer.78 add_action( 'wp_footer', 'bp_core_admin_bar', 8 );79 add_action( 'admin_footer', 'bp_core_admin_bar' );80 61 } 81 62 } 82 63 add_action( 'init', 'bp_core_load_admin_bar', 9 ); -
src/bp-core/bp-core-buddybar.php
5 5 * @package BuddyPress 6 6 * @subpackage Core 7 7 * @since 1.5.0 8 *9 * @todo Deprecate BuddyBar functions.10 8 */ 11 9 12 10 // Exit if accessed directly. -
src/bp-core/bp-core-functions.php
420 420 */ 421 421 function bp_use_wp_admin_bar() { 422 422 423 // Default to true (to avoid loading deprecated BuddyBar code).423 // Default to true. 424 424 $use_admin_bar = true; 425 425 426 426 // Has the WP Toolbar constant been explicitly opted into? 427 427 if ( defined( 'BP_USE_WP_ADMIN_BAR' ) ) { 428 428 $use_admin_bar = (bool) BP_USE_WP_ADMIN_BAR; 429 430 // ...or is the old BuddyBar being forced back into use?431 } elseif ( bp_force_buddybar( false ) ) {432 $use_admin_bar = false;433 429 } 434 430 435 431 /** -
src/bp-core/bp-core-options.php
90 90 // HeartBeat is on to refresh activities. 91 91 '_bp_enable_heartbeat_refresh' => true, 92 92 93 /* BuddyBar **********************************************************/94 95 // Force the BuddyBar.96 '_bp_force_buddybar' => false,97 98 93 /* Legacy *********************************************/ 99 94 100 95 // Do not register the bp-default themes directory. … … 667 662 return (bool) apply_filters( 'bp_restrict_group_creation', (bool) bp_get_option( 'bp_restrict_group_creation', $default ) ); 668 663 } 669 664 670 /**671 * Should the old BuddyBar be forced in place of the WP admin bar?672 *673 * @since 1.6.0674 *675 * @param bool $default Optional. Fallback value if not found in the database.676 * Default: true.677 * @return bool True if the BuddyBar should be forced on, otherwise false.678 */679 function bp_force_buddybar( $default = true ) {680 681 /**682 * Filters whether or not BuddyBar should be forced in place of WP Admin Bar.683 *684 * @since 1.6.0685 *686 * @param bool $value Whether or not BuddyBar should be forced in place of WP Admin Bar.687 */688 return (bool) apply_filters( 'bp_force_buddybar', (bool) bp_get_option( '_bp_force_buddybar', $default ) );689 }690 691 665 /** 692 666 * Check whether Akismet is enabled. 693 667 * -
src/bp-core/classes/class-bp-admin.php
375 375 add_settings_field( 'hide-loggedout-adminbar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_admin_bar', 'buddypress', 'bp_main' ); 376 376 register_setting( 'buddypress', 'hide-loggedout-adminbar', 'intval' ); 377 377 378 // Only show 'switch to Toolbar' option if the user chose to retain the BuddyBar during the 1.6 upgrade.379 if ( (bool) bp_get_option( '_bp_force_buddybar', false ) ) {380 // Load deprecated code if not available.381 if ( ! function_exists( 'bp_admin_setting_callback_force_buddybar' ) ) {382 require buddypress()->plugin_dir . 'bp-core/deprecated/2.1.php';383 }384 385 add_settings_field( '_bp_force_buddybar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_force_buddybar', 'buddypress', 'bp_main' );386 register_setting( 'buddypress', '_bp_force_buddybar', 'bp_admin_sanitize_callback_force_buddybar' );387 }388 389 378 // Allow account deletion. 390 379 add_settings_field( 'bp-disable-account-deletion', __( 'Account Deletion', 'buddypress' ), 'bp_admin_setting_callback_account_deletion', 'buddypress', 'bp_main' ); 391 380 register_setting( 'buddypress', 'bp-disable-account-deletion', 'intval' ); -
deleted file src/bp-core/css/buddybar-rtl.css
deleted file mode 100644
+ - 1 body:not(.wp-admin) {2 padding-top: 25px !important;3 }4 5 #wp-admin-bar {6 position: fixed;7 top: 0;8 right: 0;9 height: 25px;10 font-size: 11px;11 width: 100%;12 z-index: 9999;13 }14 15 #wp-admin-bar .padder {16 position: relative;17 padding: 0;18 width: 100%;19 margin: 0 auto;20 background: url(../images/60pc_black.png);21 height: 25px;22 }23 24 body#bp-default #wp-admin-bar .padder {25 max-width: 1250px;26 }27 28 #wp-admin-bar * {29 z-index: 999;30 }31 32 #wp-admin-bar div#admin-bar-logo {33 position: absolute;34 top: 5px;35 right: 10px;36 }37 38 #wp-admin-bar a img {39 border: none;40 }41 42 #wp-admin-bar li {43 list-style: none;44 margin: 0;45 padding: 0;46 line-height: 1;47 text-align: right;48 }49 50 #wp-admin-bar li a {51 padding: 7px 15px;52 color: #eee;53 text-decoration: none;54 font-size: 11px;55 }56 57 #wp-admin-bar li.alt {58 border: none;59 }60 61 #wp-admin-bar li.no-arrow a {62 padding-left: 15px;63 }64 65 #wp-admin-bar ul li ul li a span {66 display: none;67 }68 69 #wp-admin-bar li:hover,70 #wp-admin-bar li.hover {71 position: static;72 }73 74 #admin-bar-logo {75 float: right;76 font-weight: 700;77 font-size: 11px;78 padding: 5px 8px;79 margin: 0;80 text-decoration: none;81 color: #fff;82 }83 84 body#bp-default #admin-bar-logo {85 padding: 2px 8px;86 }87 88 /* all lists */89 #wp-admin-bar ul {90 margin: 0;91 list-style: none;92 line-height: 1;93 cursor: pointer;94 height: auto;95 padding: 0;96 }97 98 /* all list items */99 #wp-admin-bar ul li {100 padding: 0;101 float: right;102 position: relative;103 background: url(../images/admin-menu-arrow.gif) 12% 53% no-repeat;104 padding-left: 11px;105 }106 107 #wp-admin-bar ul li.no-arrow {108 background: none;109 padding-left: 0;110 }111 112 #wp-admin-bar ul li ul li {113 background-image: none;114 }115 116 #wp-admin-bar ul li.align-right {117 position: absolute;118 left: 0;119 }120 121 #wp-admin-bar ul li a {122 display: block;123 }124 125 #wp-admin-bar ul.main-nav li:hover,126 #wp-admin-bar ul.main-nav li.sfhover,127 #wp-admin-bar ul.main-nav li ul li.sfhover {128 background-color: #333;129 }130 131 /* second-level lists */132 #wp-admin-bar ul li ul {133 position: absolute;134 width: 185px;135 right: -999em;136 margin-right: 0;137 background: #333;138 border: 1px solid #222;139 -moz-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);140 -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);141 -moz-border-radius: 3px;142 -webkit-border-radius: 3px;143 -moz-border-radius-topright: 0;144 -webkit-border-top-right-radius: 0;145 -moz-border-radius-topleft: 0;146 -webkit-border-top-left-radius: 0;147 }148 149 #wp-admin-bar ul li > ul {150 border-top: none;151 }152 153 #wp-admin-bar ul li ul a {154 color: #eee;155 }156 157 #wp-admin-bar ul li ul li {158 float: right;159 width: 174px;160 margin: 0;161 }162 163 #wp-admin-bar ul li ul li:hover a {164 color: #fff;165 }166 167 #wp-admin-bar ul li div.admin-bar-clear {168 clear: both;169 }170 171 #wp-admin-bar ul.main-nav li ul li:hover,172 #wp-admin-bar ul.main-nav li ul li.sfhover,173 #wp-admin-bar ul.main-nav li ul li.sfhover {174 background-color: #222;175 }176 177 /* third-and-above-level lists */178 #wp-admin-bar ul li ul ul {179 margin: -25px 184px 0 0;180 -moz-border-radius: 3px;181 -webkit-border-radius: 3px;182 }183 184 #wp-admin-bar ul li ul li:hover ul li a {185 color: #eee;186 }187 188 #wp-admin-bar ul li ul li ul li:hover a {189 color: #fff;190 }191 192 #wp-admin-bar ul li:hover ul,193 #wp-admin-bar ul li ul li:hover ul,194 #wp-admin-bar ul li.sfhover ul,195 #wp-admin-bar ul li ul li.sfhover ul {196 right: auto;197 }198 199 #wp-admin-bar ul li.align-right:hover ul {200 left: 0;201 }202 203 #wp-admin-bar ul li:hover ul ul,204 #wp-admin-bar li.sfhover ul li ul {205 right: -999em;206 }207 208 /* Menu item css */209 #wp-admin-bar img.avatar {210 float: right;211 margin-left: 8px;212 }213 214 #wp-admin-bar span.activity {215 display: block;216 margin-right: 34px;217 padding: 0;218 }219 220 #wp-admin-bar ul.author-list li a {221 height: 17px;222 }223 224 #wp-admin-bar ul li#bp-adminbar-notifications-menu a span {225 padding: 0 6px;226 margin-right: 2px;227 background: #fff;228 color: #000;229 border-radius: 3px;230 }231 232 #wp-admin-bar-user-info img.avatar {233 height: 64px;234 width: 64px;235 } -
deleted file src/bp-core/css/buddybar.css
deleted file mode 100644
+ - 1 body:not(.wp-admin) {2 padding-top: 25px !important;3 }4 5 #wp-admin-bar {6 position: fixed;7 top: 0;8 left: 0;9 height: 25px;10 font-size: 11px;11 width: 100%;12 z-index: 9999;13 }14 15 #wp-admin-bar .padder {16 position: relative;17 padding: 0;18 width: 100%;19 margin: 0 auto;20 background: url(../images/60pc_black.png);21 height: 25px;22 }23 24 body#bp-default #wp-admin-bar .padder {25 max-width: 1250px;26 }27 28 #wp-admin-bar * {29 z-index: 999;30 }31 32 #wp-admin-bar div#admin-bar-logo {33 position: absolute;34 top: 5px;35 left: 10px;36 }37 38 #wp-admin-bar a img {39 border: none;40 }41 42 #wp-admin-bar li {43 list-style: none;44 margin: 0;45 padding: 0;46 line-height: 1;47 text-align: left;48 }49 50 #wp-admin-bar li a {51 padding: 7px 15px;52 color: #eee;53 text-decoration: none;54 font-size: 11px;55 }56 57 #wp-admin-bar li.alt {58 border: none;59 }60 61 #wp-admin-bar li.no-arrow a {62 padding-right: 15px;63 }64 65 #wp-admin-bar ul li ul li a span {66 display: none;67 }68 69 #wp-admin-bar li:hover,70 #wp-admin-bar li.hover {71 position: static;72 }73 74 #admin-bar-logo {75 float: left;76 font-weight: 700;77 font-size: 11px;78 padding: 5px 8px;79 margin: 0;80 text-decoration: none;81 color: #fff;82 }83 84 body#bp-default #admin-bar-logo {85 padding: 2px 8px;86 }87 88 /* all lists */89 #wp-admin-bar ul {90 margin: 0;91 list-style: none;92 line-height: 1;93 cursor: pointer;94 height: auto;95 padding: 0;96 }97 98 /* all list items */99 #wp-admin-bar ul li {100 padding: 0;101 float: left;102 position: relative;103 background: url(../images/admin-menu-arrow.gif) 88% 53% no-repeat;104 padding-right: 11px;105 }106 107 #wp-admin-bar ul li.no-arrow {108 background: none;109 padding-right: 0;110 }111 112 #wp-admin-bar ul li ul li {113 background-image: none;114 }115 116 #wp-admin-bar ul li.align-right {117 position: absolute;118 right: 0;119 }120 121 #wp-admin-bar ul li a {122 display: block;123 }124 125 #wp-admin-bar ul.main-nav li:hover,126 #wp-admin-bar ul.main-nav li.sfhover,127 #wp-admin-bar ul.main-nav li ul li.sfhover {128 background-color: #333;129 }130 131 /* second-level lists */132 #wp-admin-bar ul li ul {133 position: absolute;134 width: 185px;135 left: -999em;136 margin-left: 0;137 background: #333;138 border: 1px solid #222;139 -moz-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);140 -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);141 -moz-border-radius: 3px;142 -webkit-border-radius: 3px;143 -moz-border-radius-topleft: 0;144 -webkit-border-top-left-radius: 0;145 -moz-border-radius-topright: 0;146 -webkit-border-top-right-radius: 0;147 }148 149 #wp-admin-bar ul li > ul {150 border-top: none;151 }152 153 #wp-admin-bar ul li ul a {154 color: #eee;155 }156 157 #wp-admin-bar ul li ul li {158 float: left;159 width: 174px;160 margin: 0;161 }162 163 #wp-admin-bar ul li ul li:hover a {164 color: #fff;165 }166 167 #wp-admin-bar ul li div.admin-bar-clear {168 clear: both;169 }170 171 #wp-admin-bar ul.main-nav li ul li:hover,172 #wp-admin-bar ul.main-nav li ul li.sfhover,173 #wp-admin-bar ul.main-nav li ul li.sfhover {174 background-color: #222;175 }176 177 /* third-and-above-level lists */178 #wp-admin-bar ul li ul ul {179 margin: -25px 0 0 184px;180 -moz-border-radius: 3px;181 -webkit-border-radius: 3px;182 }183 184 #wp-admin-bar ul li ul li:hover ul li a {185 color: #eee;186 }187 188 #wp-admin-bar ul li ul li ul li:hover a {189 color: #fff;190 }191 192 #wp-admin-bar ul li:hover ul,193 #wp-admin-bar ul li ul li:hover ul,194 #wp-admin-bar ul li.sfhover ul,195 #wp-admin-bar ul li ul li.sfhover ul {196 left: auto;197 }198 199 #wp-admin-bar ul li.align-right:hover ul {200 right: 0;201 }202 203 #wp-admin-bar ul li:hover ul ul,204 #wp-admin-bar li.sfhover ul li ul {205 left: -999em;206 }207 208 /* Menu item css */209 #wp-admin-bar img.avatar {210 float: left;211 margin-right: 8px;212 }213 214 #wp-admin-bar span.activity {215 display: block;216 margin-left: 34px;217 padding: 0;218 }219 220 #wp-admin-bar ul.author-list li a {221 height: 17px;222 }223 224 #wp-admin-bar ul li#bp-adminbar-notifications-menu a span {225 padding: 0 6px;226 margin-left: 2px;227 background: #fff;228 color: #000;229 border-radius: 3px;230 }231 232 #wp-admin-bar-user-info img.avatar {233 height: 64px;234 width: 64px;235 } -
src/bp-core/deprecated/2.1.php
39 39 * @return false|null Returns false on failure. Otherwise echoes the menu item. 40 40 */ 41 41 function bp_adminbar_blogs_menu() { 42 43 if ( ! is_user_logged_in() || ! bp_is_active( 'blogs' ) ) {44 return false;45 }46 47 if ( ! is_multisite() ) {48 return false;49 }50 51 $blogs = wp_cache_get( 'bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', 'bp' );52 if ( empty( $blogs ) ) {53 $blogs = bp_blogs_get_blogs_for_user( bp_loggedin_user_id(), true );54 wp_cache_set( 'bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', $blogs, 'bp' );55 }56 57 $counter = 0;58 if ( is_array( $blogs['blogs'] ) && (int) $blogs['count'] ) {59 60 echo '<li id="bp-adminbar-blogs-menu"><a href="' . trailingslashit( bp_loggedin_user_domain() . bp_get_blogs_slug() ) . '">';61 62 _e( 'My Sites', 'buddypress' );63 64 echo '</a>';65 echo '<ul>';66 67 foreach ( (array) $blogs['blogs'] as $blog ) {68 $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';69 $site_url = esc_attr( $blog->siteurl );70 71 echo '<li' . $alt . '>';72 echo '<a href="' . $site_url . '">' . esc_html( $blog->name ) . '</a>';73 echo '<ul>';74 echo '<li class="alt"><a href="' . $site_url . 'wp-admin/">' . __( 'Dashboard', 'buddypress' ) . '</a></li>';75 echo '<li><a href="' . $site_url . 'wp-admin/post-new.php">' . __( 'New Post', 'buddypress' ) . '</a></li>';76 echo '<li class="alt"><a href="' . $site_url . 'wp-admin/edit.php">' . __( 'Manage Posts', 'buddypress' ) . '</a></li>';77 echo '<li><a href="' . $site_url . 'wp-admin/edit-comments.php">' . __( 'Manage Comments', 'buddypress' ) . '</a></li>';78 echo '</ul>';79 80 do_action( 'bp_adminbar_blog_items', $blog );81 82 echo '</li>';83 $counter++;84 }85 86 $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';87 88 if ( bp_blog_signup_enabled() ) {89 echo '<li' . $alt . '>';90 echo '<a href="' . trailingslashit( bp_get_blogs_directory_permalink() . 'create' ) . '">' . __( 'Create a Site!', 'buddypress' ) . '</a>';91 echo '</li>';92 }93 94 echo '</ul>';95 echo '</li>';96 }97 42 } 98 43 99 44 /** … … 104 49 * @deprecated 2.1.0 105 50 */ 106 51 function bp_admin_setting_callback_force_buddybar() { 107 ?>108 109 <input id="_bp_force_buddybar" name="_bp_force_buddybar" type="checkbox" value="1" <?php checked( ! bp_force_buddybar( true ) ); ?> />110 <label for="_bp_force_buddybar"><?php _e( 'Switch to WordPress Toolbar', 'buddypress' ); ?></label>111 112 <?php113 52 } 114 53 115 54 … … 135 74 * @deprecated 2.1.0 136 75 */ 137 76 function bp_core_admin_bar() { 138 $bp = buddypress();139 140 if ( defined( 'BP_DISABLE_ADMIN_BAR' ) && BP_DISABLE_ADMIN_BAR ) {141 return false;142 }143 144 if ( (int) bp_get_option( 'hide-loggedout-adminbar' ) && !is_user_logged_in() ) {145 return false;146 }147 148 $bp->doing_admin_bar = true;149 150 echo '<div id="wp-admin-bar"><div class="padder">';151 152 // **** Do bp-adminbar-logo Actions ********153 do_action( 'bp_adminbar_logo' );154 155 echo '<ul class="main-nav">';156 157 // **** Do bp-adminbar-menus Actions ********158 do_action( 'bp_adminbar_menus' );159 160 echo '</ul>';161 echo "</div></div><!-- #wp-admin-bar -->\n\n";162 163 $bp->doing_admin_bar = false;164 77 } 165 78 166 79 /** … … 169 82 * @deprecated 2.1.0 170 83 */ 171 84 function bp_adminbar_logo() { 172 echo '<a href="' . bp_get_root_domain() . '" id="admin-bar-logo">' . get_blog_option( bp_get_root_blog_id(), 'blogname' ) . '</a>';173 85 } 174 86 175 87 /** … … 182 94 * @return false|null Returns false if the current user is logged in. 183 95 */ 184 96 function bp_adminbar_login_menu() { 185 186 if ( is_user_logged_in() ) {187 return false;188 }189 190 echo '<li class="bp-login no-arrow"><a href="' . wp_login_url() . '">' . __( 'Log In', 'buddypress' ) . '</a></li>';191 192 // Show "Sign Up" link if user registrations are allowed.193 if ( bp_get_signup_allowed() ) {194 echo '<li class="bp-signup no-arrow"><a href="' . bp_get_signup_page() . '">' . __( 'Sign Up', 'buddypress' ) . '</a></li>';195 }196 97 } 197 98 198 99 /** … … 203 104 * @return false|null Returns false on failure. 204 105 */ 205 106 function bp_adminbar_account_menu() { 206 $bp = buddypress();207 208 if ( empty( $bp->bp_nav ) || ! is_user_logged_in() ) {209 return false;210 }211 212 echo '<li id="bp-adminbar-account-menu"><a href="' . bp_loggedin_user_domain() . '">';213 echo __( 'My Account', 'buddypress' ) . '</a>';214 echo '<ul>';215 216 // Loop through each navigation item.217 $counter = 0;218 foreach( (array) $bp->bp_nav as $nav_item ) {219 $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';220 221 if ( -1 == $nav_item['position'] ) {222 continue;223 }224 225 echo '<li' . $alt . '>';226 echo '<a id="bp-admin-' . $nav_item['css_id'] . '" href="' . $nav_item['link'] . '">' . $nav_item['name'] . '</a>';227 228 if ( isset( $bp->bp_options_nav[$nav_item['slug']] ) && is_array( $bp->bp_options_nav[$nav_item['slug']] ) ) {229 echo '<ul>';230 $sub_counter = 0;231 232 foreach( (array) $bp->bp_options_nav[$nav_item['slug']] as $subnav_item ) {233 $link = $subnav_item['link'];234 $name = $subnav_item['name'];235 236 if ( bp_displayed_user_domain() ) {237 $link = str_replace( bp_displayed_user_domain(), bp_loggedin_user_domain(), $subnav_item['link'] );238 }239 240 if ( isset( $bp->displayed_user->userdata->user_login ) ) {241 $name = str_replace( $bp->displayed_user->userdata->user_login, $bp->loggedin_user->userdata->user_login, $subnav_item['name'] );242 }243 244 $alt = ( 0 == $sub_counter % 2 ) ? ' class="alt"' : '';245 echo '<li' . $alt . '><a id="bp-admin-' . $subnav_item['css_id'] . '" href="' . $link . '">' . $name . '</a></li>';246 $sub_counter++;247 }248 echo '</ul>';249 }250 251 echo '</li>';252 253 $counter++;254 }255 256 $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : '';257 258 echo '<li' . $alt . '><a id="bp-admin-logout" class="logout" href="' . wp_logout_url( home_url() ) . '">' . __( 'Log Out', 'buddypress' ) . '</a></li>';259 echo '</ul>';260 echo '</li>';261 107 } 262 108 263 109 function bp_adminbar_thisblog_menu() { 264 if ( current_user_can( 'edit_posts' ) ) {265 echo '<li id="bp-adminbar-thisblog-menu"><a href="' . admin_url() . '">';266 _e( 'Dashboard', 'buddypress' );267 echo '</a>';268 echo '<ul>';269 270 echo '<li class="alt"><a href="' . admin_url() . 'post-new.php">' . __( 'New Post', 'buddypress' ) . '</a></li>';271 echo '<li><a href="' . admin_url() . 'edit.php">' . __( 'Manage Posts', 'buddypress' ) . '</a></li>';272 echo '<li class="alt"><a href="' . admin_url() . 'edit-comments.php">' . __( 'Manage Comments', 'buddypress' ) . '</a></li>';273 274 do_action( 'bp_adminbar_thisblog_items' );275 276 echo '</ul>';277 echo '</li>';278 }279 110 } 280 111 281 112 /** … … 286 117 * @deprecated 2.1.0 287 118 */ 288 119 function bp_adminbar_random_menu() { 289 ?>290 291 <li class="align-right" id="bp-adminbar-visitrandom-menu">292 <a href="#"><?php _e( 'Visit', 'buddypress' ) ?></a>293 <ul class="random-list">294 <li><a href="<?php bp_members_directory_permalink(); ?>?random-member" rel="nofollow"><?php _e( 'Random Member', 'buddypress' ) ?></a></li>295 296 <?php if ( bp_is_active( 'groups' ) ) : ?>297 298 <li class="alt"><a href="<?php bp_groups_directory_permalink(); ?>?random-group" rel="nofollow"><?php _e( 'Random Group', 'buddypress' ) ?></a></li>299 300 <?php endif; ?>301 302 <?php if ( is_multisite() && bp_is_active( 'blogs' ) ) : ?>303 304 <li><a href="<?php bp_blogs_directory_permalink(); ?>?random-blog" rel="nofollow"><?php _e( 'Random Site', 'buddypress' ) ?></a></li>305 306 <?php endif; ?>307 308 <?php do_action( 'bp_adminbar_random_menu' ) ?>309 310 </ul>311 </li>312 313 <?php314 120 } 315 121 316 122 /** … … 319 125 * @deprecated 2.1.0 320 126 */ 321 127 function bp_core_load_buddybar_css() { 322 323 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 ) ) {324 return;325 }326 327 $min = bp_core_get_minified_asset_suffix();328 329 if ( file_exists( get_stylesheet_directory() . '/_inc/css/adminbar.css' ) ) { // Backwards compatibility.330 $stylesheet = get_stylesheet_directory_uri() . '/_inc/css/adminbar.css';331 } else {332 $stylesheet = buddypress()->plugin_url . "bp-core/css/buddybar{$min}.css";333 }334 335 wp_enqueue_style( 'bp-admin-bar', apply_filters( 'bp_core_buddybar_rtl_css', $stylesheet ), array(), bp_get_version() );336 337 wp_style_add_data( 'bp-admin-bar', 'rtl', 'replace' );338 if ( $min ) {339 wp_style_add_data( 'bp-admin-bar', 'suffix', $min );340 }341 128 } 342 add_action( 'bp_init', 'bp_core_load_buddybar_css' );343 129 344 130 /** 345 131 * Add menu items to the BuddyBar. … … 349 135 * @deprecated 2.1.0 350 136 */ 351 137 function bp_groups_adminbar_admin_menu() { 352 $bp = buddypress();353 354 if ( empty( $bp->groups->current_group ) ) {355 return false;356 }357 358 // Only group admins and site admins can see this menu.359 if ( !current_user_can( 'edit_users' ) && !bp_current_user_can( 'bp_moderate' ) && !bp_is_item_admin() ) {360 return false;361 } ?>362 363 <li id="bp-adminbar-adminoptions-menu">364 <a href="<?php bp_groups_action_link( 'admin' ); ?>"><?php _e( 'Admin Options', 'buddypress' ); ?></a>365 366 <ul>367 <li><a href="<?php bp_groups_action_link( 'admin/edit-details' ); ?>"><?php _e( 'Edit Details', 'buddypress' ); ?></a></li>368 369 <li><a href="<?php bp_groups_action_link( 'admin/group-settings' ); ?>"><?php _e( 'Group Settings', 'buddypress' ); ?></a></li>370 371 <?php if ( !(int)bp_get_option( 'bp-disable-avatar-uploads' ) && $bp->avatar->show_avatars ) : ?>372 373 <li><a href="<?php bp_groups_action_link( 'admin/group-avatar' ); ?>"><?php _e( 'Group Profile Photo', 'buddypress' ); ?></a></li>374 375 <?php endif; ?>376 377 <?php if ( bp_is_active( 'friends' ) ) : ?>378 379 <li><a href="<?php bp_groups_action_link( 'send-invites' ); ?>"><?php _e( 'Manage Invitations', 'buddypress' ); ?></a></li>380 381 <?php endif; ?>382 383 <li><a href="<?php bp_groups_action_link( 'admin/manage-members' ); ?>"><?php _e( 'Manage Members', 'buddypress' ); ?></a></li>384 385 <?php if ( $bp->groups->current_group->status == 'private' ) : ?>386 387 <li><a href="<?php bp_groups_action_link( 'admin/membership-requests' ); ?>"><?php _e( 'Membership Requests', 'buddypress' ); ?></a></li>388 389 <?php endif; ?>390 391 <li><a class="confirm" href="<?php echo wp_nonce_url( bp_get_group_permalink( $bp->groups->current_group ) . 'admin/delete-group/', 'groups_delete_group' ); ?>&delete-group-button=1&delete-group-understand=1"><?php _e( "Delete Group", 'buddypress' ) ?></a></li>392 393 <?php do_action( 'bp_groups_adminbar_admin_menu' ) ?>394 395 </ul>396 </li>397 398 <?php399 138 } 400 add_action( 'bp_adminbar_menus', 'bp_groups_adminbar_admin_menu', 20 );401 139 402 140 /** 403 141 * Add the Notifications menu to the BuddyBar. … … 405 143 * @deprecated 2.1.0 406 144 */ 407 145 function bp_adminbar_notifications_menu() { 408 409 // Bail if notifications is not active.410 if ( ! bp_is_active( 'notifications' ) ) {411 return false;412 }413 414 bp_notifications_buddybar_menu();415 146 } 416 add_action( 'bp_adminbar_menus', 'bp_adminbar_notifications_menu', 8 );417 147 418 148 /** 419 149 * Add the Blog Authors menu to the BuddyBar (visible when not logged in). … … 421 151 * @deprecated 2.1.0 422 152 */ 423 153 function bp_adminbar_authors_menu() { 424 global $wpdb;425 426 // Only for multisite.427 if ( ! is_multisite() ) {428 return false;429 }430 431 // Hide on root blog.432 if ( bp_is_root_blog( $wpdb->blogid ) || ! bp_is_active( 'blogs' ) ) {433 return false;434 }435 436 $blog_prefix = $wpdb->get_blog_prefix( $wpdb->blogid );437 $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" );438 439 if ( !empty( $authors ) ) {440 // This is a blog, render a menu with links to all authors.441 echo '<li id="bp-adminbar-authors-menu"><a href="/">';442 _e('Blog Authors', 'buddypress');443 echo '</a>';444 445 echo '<ul class="author-list">';446 foreach( (array) $authors as $author ) {447 $caps = maybe_unserialize( $author->caps );448 if ( isset( $caps['subscriber'] ) || isset( $caps['contributor'] ) ) {449 continue;450 }451 452 echo '<li>';453 echo '<a href="' . bp_core_get_user_domain( $author->user_id, $author->user_nicename, $author->user_login ) . '">';454 echo bp_core_fetch_avatar( array(455 'item_id' => $author->user_id,456 'email' => $author->user_email,457 'width' => 15,458 'height' => 15,459 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), $author->display_name )460 ) );461 echo ' ' . $author->display_name . '</a>';462 echo '<div class="admin-bar-clear"></div>';463 echo '</li>';464 }465 echo '</ul>';466 echo '</li>';467 }468 154 } 469 add_action( 'bp_adminbar_menus', 'bp_adminbar_authors_menu', 12 );470 155 471 156 /** 472 157 * Add a member admin menu to the BuddyBar. … … 477 162 * @deprecated 2.1.0 478 163 */ 479 164 function bp_members_adminbar_admin_menu() { 480 481 // Only show if viewing a user.482 if ( ! bp_displayed_user_id() ) {483 return false;484 }485 486 // Don't show this menu to non site admins or if you're viewing your own profile.487 if ( !current_user_can( 'edit_users' ) || bp_is_my_profile() ) {488 return false;489 } ?>490 491 <li id="bp-adminbar-adminoptions-menu">492 493 <a href=""><?php _e( 'Admin Options', 'buddypress' ) ?></a>494 495 <ul>496 <?php if ( bp_is_active( 'xprofile' ) ) : ?>497 498 <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>499 500 <?php endif ?>501 502 <li><a href="<?php bp_members_component_link( 'profile', 'change-avatar' ); ?>"><?php printf( __( "Edit %s's Profile Photo", 'buddypress' ), esc_attr( bp_get_displayed_user_fullname() ) ) ?></a></li>503 504 <li><a href="<?php bp_members_component_link( 'settings', 'capabilities' ); ?>"><?php _e( 'User Capabilities', 'buddypress' ); ?></a></li>505 506 <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>507 508 <?php do_action( 'bp_members_adminbar_admin_menu' ) ?>509 510 </ul>511 </li>512 513 <?php514 165 } 515 add_action( 'bp_adminbar_menus', 'bp_members_adminbar_admin_menu', 20 );516 166 517 167 /** 518 168 * Create the Notifications menu for the BuddyBar. … … 521 171 * @deprecated 2.1.0 522 172 */ 523 173 function bp_notifications_buddybar_menu() { 524 525 if ( ! is_user_logged_in() ) {526 return false;527 }528 529 echo '<li id="bp-adminbar-notifications-menu"><a href="' . esc_url( bp_loggedin_user_domain() ) . '">';530 _e( 'Notifications', 'buddypress' );531 532 $notification_count = bp_notifications_get_unread_notification_count( bp_loggedin_user_id() );533 $notifications = bp_notifications_get_notifications_for_user( bp_loggedin_user_id() );534 535 if ( ! empty( $notification_count ) ) : ?>536 <span><?php echo bp_core_number_format( $notification_count ); ?></span>537 <?php538 endif;539 540 echo '</a>';541 echo '<ul>';542 543 if ( ! empty( $notifications ) ) {544 $counter = 0;545 for ( $i = 0, $count = count( $notifications ); $i < $count; ++$i ) {546 $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : ''; ?>547 548 <li<?php echo $alt ?>><?php echo $notifications[$i] ?></li>549 550 <?php $counter++;551 }552 } else { ?>553 554 <li><a href="<?php echo esc_url( bp_loggedin_user_domain() ); ?>"><?php _e( 'No new notifications.', 'buddypress' ); ?></a></li>555 556 <?php557 }558 559 echo '</ul>';560 echo '</li>';561 174 } 562 add_action( 'bp_adminbar_menus', 'bp_adminbar_notifications_menu', 8 );563 175 564 176 /** 565 177 * Output the base URL for subdomain installations of WordPress Multisite. -
src/bp-core/deprecated/6.0.php
85 85 86 86 bp_members_screen_change_avatar(); 87 87 } 88 89 /** 90 * Should the old BuddyBar be forced in place of the WP admin bar? 91 * 92 * We deprecated the BuddyBar in v2.1.0, but have completely removed it in 93 * v6.0. 94 * 95 * @since 1.6.0 96 * @deprecated 6.0.0 97 * 98 * @return bool 99 */ 100 function bp_force_buddybar() { 101 _deprecated_function( __FUNCTION__, '6.0.0', 'bp_force_buddybar()' ); 102 103 return false; 104 } -
src/bp-groups/bp-groups-notifications.php
374 374 * @param int $secondary_item_id The secondary item ID. 375 375 * @param int $total_items The total number of messaging-related notifications 376 376 * waiting for the user. 377 * @param string $format 'string' for BuddyBar-compatible notifications; 'array'377 * @param string $format 'string' for notification HTML link or 'array' for separate link and text. 378 378 * for WP Toolbar. Default: 'string'. 379 379 * @return string 380 380 */ -
src/bp-groups/classes/class-bp-groups-component.php
593 593 bp_core_new_nav_item( array( 594 594 'name' => __( 'Memberships', 'buddypress' ), 595 595 'slug' => $this->current_group->slug, 596 'position' => -1, // Do not show in BuddyBar.597 596 'screen_function' => 'groups_screen_group_home', 598 597 'default_subnav_slug' => $this->default_extension, 599 598 'item_css_id' => $this->id -
src/bp-messages/bp-messages-notifications.php
20 20 * @param int $secondary_item_id The secondary item id. 21 21 * @param int $total_items The total number of messaging-related notifications 22 22 * waiting for the user. 23 * @param string $format Return value format. 'string' for BuddyBar-compatible 24 * notifications; 'array' for WP Toolbar. Default: 'string'. 23 * @param string $format 'string' for notification HTML link or 'array' for separate link and text. 25 24 * @return string|array Formatted notifications. 26 25 */ 27 26 function messages_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) { -
src/bp-xprofile/bp-xprofile-notifications.php
19 19 * @param int $secondary_item_id The secondary item ID. 20 20 * @param int $total_items The total number of messaging-related notifications 21 21 * waiting for the user. 22 * @param string $format 'string' for BuddyBar-compatible notifications; 'array' 23 * for WP Toolbar. Default: 'string'. 22 * @param string $format 'string' for notification HTML link or 'array' for separate link and text. 24 23 * @return string 25 24 */ 26 25 function xprofile_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {