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 ) );
}
/**