From 7b9ac7eacc0ba5f5c15d1887dc65e9d7d23192c8 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Fri, 28 Nov 2008 19:34:49 +0000 Subject: [PATCH] add_utility_page() git-svn-id: https://develop.svn.wordpress.org/trunk@9949 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/includes/plugin.php | 21 +++++++++++++++++++++ wp-admin/menu.php | 18 ++++++++++-------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php index 5b1a635fa7..b42276c64e 100644 --- a/wp-admin/includes/plugin.php +++ b/wp-admin/includes/plugin.php @@ -577,6 +577,27 @@ function add_object_page( $page_title, $menu_title, $access_level, $file, $funct return $hookname; } +function add_utility_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') { + global $menu, $admin_page_hooks, $_wp_last_utility_menu; + + $file = plugin_basename( $file ); + + $admin_page_hooks[$file] = sanitize_title( $menu_title ); + + $hookname = get_plugin_page_hookname( $file, '' ); + if (!empty ( $function ) && !empty ( $hookname )) + add_action( $hookname, $function ); + + if ( empty($icon_url) ) + $icon_url = 'images/generic.png'; + + $_wp_last_utility_menu++; + + $menu[$_wp_last_utility_menu] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url ); + + return $hookname; +} + function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $file, $function = '' ) { global $submenu; global $menu; diff --git a/wp-admin/menu.php b/wp-admin/menu.php index 3c4157d76f..5dfb9a32f9 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -52,9 +52,9 @@ $menu[25] = array( sprintf( __('Comments %s'), "response) ) $update_count = count( $update_plugins->response ); -$menu[35] = array( sprintf( __('Plugins %s'), "" . number_format_i18n($update_count) . "" ), 'activate_plugins', 'plugins.php', '', 'menu-top', 'menu-plugins', 'div' ); +$menu[45] = array( sprintf( __('Plugins %s'), "" . number_format_i18n($update_count) . "" ), 'activate_plugins', 'plugins.php', '', 'menu-top', 'menu-plugins', 'div' ); $submenu['plugins.php'][5] = array( __('Installed'), 'activate_plugins', 'plugins.php' ); $submenu['plugins.php'][10] = array(_c('Add New|plugin'), 'install_plugins', 'plugin-install.php'); $submenu['plugins.php'][15] = array( __('Editor'), 'edit_plugins', 'plugin-editor.php' ); if ( current_user_can('edit_users') ) - $menu[40] = array( __('Users'), 'edit_users', 'users.php', '', 'menu-top', 'menu-users', 'div' ); + $menu[50] = array( __('Users'), 'edit_users', 'users.php', '', 'menu-top', 'menu-users', 'div' ); else - $menu[40] = array( __('Profile'), 'read', 'profile.php', '', 'menu-top', 'menu-users', 'div' ); + $menu[50] = array( __('Profile'), 'read', 'profile.php', '', 'menu-top', 'menu-users', 'div' ); if ( current_user_can('edit_users') ) { $_wp_real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php. @@ -83,13 +83,13 @@ if ( current_user_can('edit_users') ) { $submenu['profile.php'][5] = array(__('Your Profile'), 'read', 'profile.php'); } -$menu[45] = array( __('Tools'), 'manage_options', 'tools.php', '', 'menu-top', 'menu-tools', 'div' ); +$menu[55] = array( __('Tools'), 'manage_options', 'tools.php', '', 'menu-top', 'menu-tools', 'div' ); $submenu['tools.php'][5] = array( __('Tools'), 'read', 'tools.php' ); $submenu['tools.php'][10] = array( __('Import'), 'import', 'import.php' ); $submenu['tools.php'][15] = array( __('Export'), 'import', 'export.php' ); $submenu['tools.php'][20] = array( __('Upgrade'), 'install_plugins', 'update-core.php'); -$menu[50] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top', 'menu-settings', 'div' ); +$menu[60] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top', 'menu-settings', 'div' ); $submenu['options-general.php'][10] = array(__('General'), 'manage_options', 'options-general.php'); $submenu['options-general.php'][15] = array(__('Writing'), 'manage_options', 'options-writing.php'); $submenu['options-general.php'][20] = array(__('Reading'), 'manage_options', 'options-reading.php'); @@ -99,7 +99,9 @@ $menu[50] = array( __('Settings'), 'manage_options', 'options-general.php', '', $submenu['options-general.php'][40] = array(__('Permalinks'), 'manage_options', 'options-permalink.php'); $submenu['options-general.php'][45] = array(__('Miscellaneous'), 'manage_options', 'options-misc.php'); -$menu[55] = array( '', 'read', '', '', 'wp-menu-separator-last' ); +$_wp_last_utility_menu = 60; // The index of the last top-level menu in the utility menu group + +$menu[79] = array( '', 'read', '', '', 'wp-menu-separator-last' ); // Back-compat for old top-levels $_wp_real_parent_file['post.php'] = 'edit.php';