WordPress.org

Make WordPress Core

Changeset 16055


Ignore:
Timestamp:
10/28/10 17:29:44 (3 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.