Changeset 16055
- Timestamp:
- 10/28/2010 05:29:44 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/admin-bar/admin-bar-superadmin.php
r16038 r16055 10 10 /* Add the main superadmin menu item */ 11 11 $wp_admin_bar->add_menu( array( 'id' => 'superadmin', 'title' => 'μ', 'href' => '', 'meta' => array( 'class' => 'ab-sadmin' ), ) ); 12 13 wp_admin_bar_build_snackmenu();14 12 15 13 /* Get the settings we need for the current site */ … … 46 44 } 47 45 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 function52 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 array57 $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 dir143 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 end166 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 182 46 ?>
Note: See TracChangeset
for help on using the changeset viewer.