diff -r f507feede89a -r 09a1c134465b web/wp-admin/plugins.php --- a/web/wp-admin/plugins.php Wed Dec 19 12:35:13 2012 -0800 +++ b/web/wp-admin/plugins.php Wed Dec 19 17:46:52 2012 -0800 @@ -9,14 +9,7 @@ /** WordPress Administration Bootstrap */ require_once('./admin.php'); -if ( is_multisite() ) { - $menu_perms = get_site_option( 'menu_items', array() ); - - if ( empty( $menu_perms['plugins'] ) && ! current_user_can( 'manage_network_plugins' ) ) - wp_die( __( 'Cheatin’ uh?' ) ); -} - -if ( !current_user_can('activate_plugins') ) +if ( ! current_user_can('activate_plugins') ) wp_die( __( 'You do not have sufficient permissions to manage plugins for this site.' ) ); $wp_list_table = _get_list_table('WP_Plugins_List_Table'); @@ -37,6 +30,11 @@ if ( ! current_user_can('activate_plugins') ) wp_die(__('You do not have sufficient permissions to activate plugins for this site.')); + if ( is_multisite() && ! is_network_admin() && is_network_only_plugin( $plugin ) ) { + wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") ); + exit; + } + check_admin_referer('activate-plugin_' . $plugin); $result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . $plugin), is_network_admin() ); @@ -51,11 +49,6 @@ } if ( ! is_network_admin() ) { - if ( is_network_only_plugin( $plugin ) ) { - wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") ); - exit; - } - $recent = (array) get_option( 'recently_activated' ); unset( $recent[ $plugin ] ); update_option( 'recently_activated', $recent );