Make WordPress Core


Ignore:
Timestamp:
10/28/2010 05:29:44 PM (13 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.