summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAndrew Nacin <nacin@git.wordpress.org>2012-04-19 03:43:56 +0000
committerAndrew Nacin <nacin@git.wordpress.org>2012-04-19 03:43:56 +0000
commit4bf438f03359551a9d8a1aafa0795b59ad8cea4b (patch)
tree929be3fe045bde7a55913058fbd10109c8797887
parent356e46ee3f75dbef66b3c5cc98ac43d8351ad9df (diff)
downloadwordpress-4bf438f03359551a9d8a1aafa0795b59ad8cea4b.tar.gz
wordpress-4bf438f03359551a9d8a1aafa0795b59ad8cea4b.zip
Do not deactivate plugins which are already deactivated.
git-svn-id: https://develop.svn.wordpress.org/branches/3.3@20526 602fd350-edb4-49c9-b593-d223f7449a82
-rw-r--r--wp-admin/plugins.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php
index 00b53afe6e..826e691e1d 100644
--- a/wp-admin/plugins.php
+++ b/wp-admin/plugins.php
@@ -154,6 +154,10 @@ if ( $action ) {
wp_die(__('You do not have sufficient permissions to deactivate plugins for this site.'));
check_admin_referer('deactivate-plugin_' . $plugin);
+ if ( ! is_network_admin() && is_plugin_active_for_network() ) {
+ wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
+ exit;
+ }
deactivate_plugins($plugin);
update_option('recently_activated', array($plugin => time()) + (array)get_option('recently_activated'));
if ( headers_sent() )
@@ -169,7 +173,13 @@ if ( $action ) {
check_admin_referer('bulk-plugins');
$plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
- $plugins = array_filter($plugins, 'is_plugin_active'); //Do not deactivate plugins which are already deactivated.
+ // Do not deactivate plugins which are already deactivated.
+ if ( is_network_admin() ) {
+ $plugins = array_filter( $plugins, 'is_plugin_active_for_network' );
+ } else {
+ $plugins = array_filter( $plugins, 'is_plugin_active' );
+ $plugins = array_diff( $plugins, array_filter( $plugins, 'is_plugin_active_for_network' ) );
+ }
if ( empty($plugins) ) {
wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
exit;