diff options
author | Andrew Nacin <nacin@git.wordpress.org> | 2012-04-19 03:43:56 +0000 |
---|---|---|
committer | Andrew Nacin <nacin@git.wordpress.org> | 2012-04-19 03:43:56 +0000 |
commit | 4bf438f03359551a9d8a1aafa0795b59ad8cea4b (patch) | |
tree | 929be3fe045bde7a55913058fbd10109c8797887 | |
parent | 356e46ee3f75dbef66b3c5cc98ac43d8351ad9df (diff) | |
download | wordpress-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.php | 12 |
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; |