Make WordPress Core

Changeset 16055


Ignore:
Timestamp:
10/28/2010 05:29:44 PM (16 years ago)
Author:
ryan
Message:

Lose the snack menu. see #14772

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/admin-bar/admin-bar-superadmin.php

    r16038 r16055  
    1010        /* Add the main superadmin menu item */
    1111        $wp_admin_bar->add_menu( array(  'id' => 'superadmin', 'title' => 'μ', 'href' => '', 'meta' => array( 'class' => 'ab-sadmin' ), ) );
    12 
    13         wp_admin_bar_build_snackmenu();
    1412
    1513        /* Get the settings we need for the current site */
     
    4644}
    4745
    48 function wp_admin_bar_build_snackmenu() {
    49         global $wp_admin_bar, $menu, $submenu, $pagenow;
    50 
    51         // Hide moderation count, filter removed at the bottom of this function
    52         add_filter( 'wp_count_comments', 'wp_admin_bar_removemodcount' );
    53 
    54         require_once( ABSPATH . 'wp-admin/includes/admin.php' );
    55 
    56         // menu.php assumes it is in the global scope and relies on the $wp_taxonomies global array
    57         $wp_taxonomies = array();
    58         require_once( ABSPATH . 'wp-admin/menu.php' );
    59 
    60         /* Add the snack menu submenu to the superadmin menu */
    61         $wp_admin_bar->add_menu( array( 'parent' => 'superadmin', 'title' => __( 'Snack Menu' ), 'href' => '/wp-admin/',) );
    62 
    63         /* Loop through the submenus and add them */
    64         foreach ( (array) $menu as $key => $item ) {
    65                 $admin_is_parent = false;
    66                 $submenu_as_parent = false;
    67 
    68                 if ( $submenu_as_parent && !empty($submenu[$item[2]]) ) {
    69                         $submenu[$item[2]] = array_values($submenu[$item[2]]);  // Re-index.
    70                         $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
    71                         $menu_file = $submenu[$item[2]][0][2];
    72        
    73                         if ( false !== $pos = strpos($menu_file, '?') )
    74                                 $menu_file = substr($menu_file, 0, $pos);
    75 
    76                         if (
    77                                 (
    78                                         'index.php' != $submenu[$item[2]][0][2] &&
    79                                         file_exists( WP_PLUGIN_DIR . "/$menu_file" )
    80                                 ) ||
    81                                 ! empty( $menu_hook )
    82                         ) {
    83                                
    84                                 $admin_is_parent = true;
    85                                 $wp_admin_bar->add_menu( array( 'parent' => 'snack-menu', 'title' => $item[0], 'href' => admin_url("admin.php?page={$submenu[$item[2]][0][2]}"), ) );
    86 
    87                         } else {
    88                                 $wp_admin_bar->add_menu( array( 'parent' => 'snack-menu', 'title' => $item[0], 'href' => admin_url("{$submenu[$item[2]][0][2]}"), ) );
    89                         }
    90                 } else if ( current_user_can($item[1]) ) {
    91                         $menu_hook = get_plugin_page_hook($item[2], 'admin.php');
    92                         $menu_file = $item[2];
    93 
    94                         if ( false !== $pos = strpos($menu_file, '?') )
    95                                 $menu_file = substr($menu_file, 0, $pos);
    96 
    97                         if (
    98                                 (
    99                                         'index.php' != $item[2] &&
    100                                         file_exists( WP_PLUGIN_DIR . "/$menu_file" )
    101                                 ) ||
    102                                 ! empty($menu_hook)
    103                         ) {
    104 
    105                                 $admin_is_parent = true;
    106                                 $wp_admin_bar->add_menu( array( 'parent' => 'snack-menu', 'title' => $item[0], 'href' => admin_url("admin.php?page={$item[2]}"), ) );
    107                         } else {
    108                                 $wp_admin_bar->add_menu( array(  'parent' => 'snack-menu', 'title' => $item[0], 'href' => admin_url("{$item[2]}"), ) );
    109                         }
    110                 }
    111 
    112                 if ( ! empty($submenu[$item[2]]) ) {
    113                         $first = true;
    114                         $unique_submenu = array();
    115                        
    116                         foreach ( $submenu[$item[2]] as $sub_key => $sub_item ) {
    117                                 if ( !current_user_can($sub_item[1]) || in_array( $sub_item[0], $unique_submenu ) )
    118                                         continue;
    119                        
    120                                 $unique_submenu[] = $sub_item[0];
    121                                
    122                                 if ( $first )
    123                                         $first = false;
    124                                
    125                                 $menu_file = $item[2];
    126                                 if ( false !== $pos = strpos($menu_file, '?') )
    127                                         $menu_file = substr($menu_file, 0, $pos);
    128                                
    129                                 $menu_hook = get_plugin_page_hook($sub_item[2], $item[2]);
    130                                 $sub_file = $sub_item[2];
    131 
    132                                 if ( false !== $pos = strpos($sub_file, '?') )
    133                                         $sub_file = substr($sub_file, 0, $pos);
    134                                
    135                                 if (
    136                                         (
    137                                                 'index.php' != $sub_item[2] &&
    138                                                 file_exists( WP_PLUGIN_DIR . "/$sub_file" )
    139                                         ) ||
    140                                         ! empty($menu_hook)
    141                                 ) {
    142                                         // If admin.php is the current page or if the parent exists as a file in the plugins or admin dir
    143                                         if (
    144                                                 (
    145                                                         ! $admin_is_parent &&
    146                                                         file_exists(WP_PLUGIN_DIR . "/$menu_file") &&
    147                                                         ! is_dir(WP_PLUGIN_DIR . "/{$item[2]}")
    148                                                 ) ||
    149                                                 file_exists( $menu_file )
    150                                         ) {
    151                                                 $wp_admin_bar->add_menu( array( 'parent' => sanitize_title( $item[0] ), 'title' => $sub_item[0], 'href' => admin_url("{$item[2]}?page={$sub_item[2]}"), ) );
    152                                         } else {
    153                                                 $wp_admin_bar->add_menu( array( 'parent' => sanitize_title( $item[0] ), 'title' => $sub_item[0], 'href' => admin_url("admin.php?page={$sub_item[2]}"), ) );
    154                                         }
    155                                 } else {
    156                                         $wp_admin_bar->add_menu( array( 'parent' => sanitize_title( $item[0] ), 'title' => $sub_item[0], 'href' => admin_url("{$sub_item[2]}"), ) );
    157                                 }
    158                         }
    159                 }
    160         }
    161 
    162         remove_filter( 'wp_count_comments', 'wp_admin_bar_removemodcount' );
    163 }
    164 
    165 // Short circuits wp_count_comments() for the front end
    166 function wp_admin_bar_removemodcount( $stats ) {
    167         if ( is_admin() )
    168                 return $stats;
    169 
    170         $stats = array(
    171                 'moderated'      => 0,
    172                 'approved'       => 0,
    173                 'spam'           => 0,
    174                 'trash'          => 0,
    175                 'post-trashed'   => 0,
    176                 'total_comments' => 0,
    177         );
    178 
    179         return (object) $stats;
    180 }
    181 
    18246?>
Note: See TracChangeset for help on using the changeset viewer.