diff --git a/wp-admin/includes/update.php b/wp-admin/includes/update.php index 7a6c01b9f9..51b3111fa9 100644 --- a/wp-admin/includes/update.php +++ b/wp-admin/includes/update.php @@ -98,13 +98,15 @@ function core_update_footer( $msg = '' ) { if ( ! isset( $cur->response ) ) $cur->response = ''; + $href = is_multisite() ? network_admin_url( 'update-core.php' ) : admin_url( 'update-core.php' ); + switch ( $cur->response ) { case 'development' : - return sprintf( __( 'You are using a development version (%1$s). Cool! Please stay updated.' ), $GLOBALS['wp_version'], 'update-core.php'); + return sprintf( __( 'You are using a development version (%1$s). Cool! Please stay updated.' ), $GLOBALS['wp_version'], $href ); break; case 'upgrade' : - return sprintf( ''.__( 'Get Version %2$s' ).'', 'update-core.php', $cur->current); + return sprintf( ''.__( 'Get Version %2$s' ).'', $href, $cur->current); break; case 'latest' : @@ -129,11 +131,12 @@ function update_nag() { if ( ! isset( $cur->response ) || $cur->response != 'upgrade' ) return false; - if ( current_user_can('update_core') ) - $msg = sprintf( __('WordPress %1$s is available! Please update now.'), $cur->current, 'update-core.php' ); - else + if ( current_user_can('update_core') ) { + $href = is_multisite() ? network_admin_url( 'update-core.php' ) : admin_url( 'update-core.php' ); + $msg = sprintf( __('WordPress %1$s is available! Please update now.'), $cur->current, $href ); + } else { $msg = sprintf( __('WordPress %1$s is available! Please notify the site administrator.'), $cur->current ); - + } echo "
$msg
"; } add_action( 'admin_notices', 'update_nag', 3 ); @@ -146,8 +149,11 @@ function update_right_now_message() { $cur = get_preferred_from_update_core(); $msg = sprintf( __('You are using WordPress %s.'), $GLOBALS['wp_version'] ); - if ( isset( $cur->response ) && $cur->response == 'upgrade' && current_user_can('update_core') ) - $msg .= " " . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . ''; + + if ( isset( $cur->response ) && $cur->response == 'upgrade' && current_user_can('update_core') ) { + $href = is_multisite() ? network_admin_url( 'update-core.php' ) : admin_url( 'update-core.php' ); + $msg .= " " . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . ''; + } echo "$msg"; } diff --git a/wp-admin/menu.php b/wp-admin/menu.php index 643c228a6c..7d58222f6e 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -151,7 +151,8 @@ if ( current_user_can( 'switch_themes') ) { } // Add 'Editor' to the bottom of the Appearence menu. -add_action('admin_menu', '_add_themes_utility_last', 101); +if ( ! is_multisite() ) + add_action('admin_menu', '_add_themes_utility_last', 101); function _add_themes_utility_last() { // Must use API on the admin_menu hook, direct modification is only possible on/before the _admin_menu hook add_submenu_page('themes.php', _x('Editor', 'theme editor'), _x('Editor', 'theme editor'), 'edit_themes', 'theme-editor.php'); @@ -171,7 +172,8 @@ if ( is_super_admin() || ( is_multisite() && isset($menu_perms['plugins']) && $m $submenu['plugins.php'][5] = array( __('Plugins'), 'activate_plugins', 'plugins.php' ); /* translators: add new plugin */ $submenu['plugins.php'][10] = array(_x('Add New', 'plugin'), 'install_plugins', 'plugin-install.php'); - $submenu['plugins.php'][15] = array( _x('Editor', 'plugin editor'), 'edit_plugins', 'plugin-editor.php' ); + if ( ! is_multisite() ) + $submenu['plugins.php'][15] = array( _x('Editor', 'plugin editor'), 'edit_plugins', 'plugin-editor.php' ); } unset($menu_perms, $update_plugins, $update_count); diff --git a/wp-admin/plugin-editor.php b/wp-admin/plugin-editor.php index d5c895d8ef..e66921919c 100644 --- a/wp-admin/plugin-editor.php +++ b/wp-admin/plugin-editor.php @@ -9,6 +9,11 @@ /** WordPress Administration Bootstrap */ require_once('./admin.php'); +if ( is_multisite() && ! is_network_admin() ) { + wp_redirect( network_admin_url( 'plugin-editor.php' ) ); + exit(); +} + if ( !current_user_can('edit_plugins') ) wp_die( __('You do not have sufficient permissions to edit plugins for this site.') ); diff --git a/wp-admin/plugin-install.php b/wp-admin/plugin-install.php index 55fc9f6cee..0662677b43 100644 --- a/wp-admin/plugin-install.php +++ b/wp-admin/plugin-install.php @@ -12,6 +12,11 @@ if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'plugin-informat /** WordPress Administration Bootstrap */ require_once('./admin.php'); +if ( is_multisite() && ! is_network_admin() ) { + wp_redirect( network_admin_url( 'plugin-install.php' ) ); + exit(); +} + $wp_list_table = get_list_table('WP_Plugin_Install_List_Table'); $wp_list_table->check_permissions(); $wp_list_table->prepare_items(); diff --git a/wp-admin/theme-editor.php b/wp-admin/theme-editor.php index 064c470e09..27aee57534 100644 --- a/wp-admin/theme-editor.php +++ b/wp-admin/theme-editor.php @@ -9,6 +9,11 @@ /** WordPress Administration Bootstrap */ require_once('./admin.php'); +if ( is_multisite() && ! is_network_admin() ) { + wp_redirect( network_admin_url( 'theme-editor.php' ) ); + exit(); +} + if ( !current_user_can('edit_themes') ) wp_die('

'.__('You do not have sufficient permissions to edit templates for this site.').'

'); diff --git a/wp-admin/theme-install.php b/wp-admin/theme-install.php index 779a0374ee..e48885f9e1 100644 --- a/wp-admin/theme-install.php +++ b/wp-admin/theme-install.php @@ -12,6 +12,11 @@ if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'theme-informati /** WordPress Administration Bootstrap */ require_once('./admin.php'); +if ( is_multisite() && ! is_network_admin() ) { + wp_redirect( network_admin_url( 'theme-install.php' ) ); + exit(); +} + $wp_list_table = get_list_table('WP_Theme_Install_List_Table'); $wp_list_table->check_permissions(); $wp_list_table->prepare_items(); diff --git a/wp-admin/themes.php b/wp-admin/themes.php index 1b9947c565..3cce2ee104 100644 --- a/wp-admin/themes.php +++ b/wp-admin/themes.php @@ -73,7 +73,15 @@ require_once('./admin-header.php');
- +

diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php index 6874c75e31..1f8cc200e5 100644 --- a/wp-admin/update-core.php +++ b/wp-admin/update-core.php @@ -9,6 +9,11 @@ /** WordPress Administration Bootstrap */ require_once('./admin.php'); +if ( is_multisite() && ! is_network_admin() ) { + wp_redirect( network_admin_url( 'update-core.php' ) ); + exit(); +} + if ( ! current_user_can('update_plugins') ) wp_die(__('You do not have sufficient permissions to update plugins for this site.')); diff --git a/wp-includes/admin-bar.php b/wp-includes/admin-bar.php index b6c715e31f..24137f3958 100644 --- a/wp-includes/admin-bar.php +++ b/wp-includes/admin-bar.php @@ -278,7 +278,9 @@ function wp_admin_bar_updates_menu() { $update_title = sprintf( __('Updates %s'), "" . number_format_i18n($update_count) . "" ); - $wp_admin_bar->add_menu( array( 'id' => 'updates', 'title' => $update_title, 'href' => admin_url('update-core.php') ) ); + $href = is_multisite() ? network_admin_url( 'update-core.php' ) : admin_url( 'update-core.php' ); + + $wp_admin_bar->add_menu( array( 'id' => 'updates', 'title' => $update_title, 'href' => $href ) ); } /**