WordPress.org

Make WordPress Core


Ignore:
Timestamp:
04/19/12 03:43:56 (2 years ago)
Author:
nacin
Message:

Do not deactivate plugins which are already deactivated.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.3/wp-admin/plugins.php

    r19528 r20526  
    155155 
    156156            check_admin_referer('deactivate-plugin_' . $plugin); 
     157            if ( ! is_network_admin() && is_plugin_active_for_network() ) { 
     158                wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") ); 
     159                exit; 
     160            } 
    157161            deactivate_plugins($plugin); 
    158162            update_option('recently_activated', array($plugin => time()) + (array)get_option('recently_activated')); 
     
    170174 
    171175            $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array(); 
    172             $plugins = array_filter($plugins, 'is_plugin_active'); //Do not deactivate plugins which are already deactivated. 
     176            // Do not deactivate plugins which are already deactivated. 
     177            if ( is_network_admin() ) { 
     178                $plugins = array_filter( $plugins, 'is_plugin_active_for_network' ); 
     179            } else { 
     180                $plugins = array_filter( $plugins, 'is_plugin_active' ); 
     181                $plugins = array_diff( $plugins, array_filter( $plugins, 'is_plugin_active_for_network' ) ); 
     182            } 
    173183            if ( empty($plugins) ) { 
    174184                wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") ); 
Note: See TracChangeset for help on using the changeset viewer.