WordPress.org

Make WordPress Core

Changeset 14348


Ignore:
Timestamp:
05/02/10 22:57:44 (5 years ago)
Author:
nacin
Message:

Support network-wide plugin re-activation in upgrades and edits. props PeteMall, fixes #13216

Location:
trunk/wp-admin
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/class-wp-upgrader.php

    r14173 r14348  
    987987    var $plugin = ''; 
    988988    var $plugin_active = false; 
     989    var $plugin_network_active = false; 
    989990 
    990991    function Plugin_Upgrader_Skin($args = array()) { 
     
    998999        $this->plugin = $args['plugin']; 
    9991000 
    1000         $this->plugin_active = is_plugin_active($this->plugin); 
     1001        $this->plugin_active = is_plugin_active( $this->plugin ); 
     1002        $this->plugin_network_active = is_plugin_active_for_network( $this->plugin ); 
    10011003 
    10021004        parent::__construct($args); 
     
    10071009        if ( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){ 
    10081010            show_message(__('Reactivating the plugin…')); 
    1009             echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&plugin=' . $this->plugin, 'activate-plugin_' . $this->plugin) .'"></iframe>'; 
     1011            echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . $this->plugin, 'activate-plugin_' . $this->plugin) .'"></iframe>'; 
    10101012        } 
    10111013 
  • trunk/wp-admin/plugin-editor.php

    r14299 r14348  
    5656        fclose($f); 
    5757 
     58        $network_wide = is_plugin_active_for_network( $file ); 
     59 
    5860        // Deactivate so we can test it. 
    5961        if ( is_plugin_active($file) || isset($_POST['phperror']) ) { 
     
    6365            update_option('recently_activated', array($file => time()) + (array)get_option('recently_activated')); 
    6466 
    65             wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto")); 
     67            wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto&networkwide=" . $network_wide)); 
    6668            exit; 
    6769        } 
     
    8486 
    8587        if ( ! is_plugin_active($file) ) 
    86             activate_plugin($file, "plugin-editor.php?file=$file&phperror=1"); // we'll override this later if the plugin can be included without fatal error 
     88            activate_plugin($file, "plugin-editor.php?file=$file&phperror=1", ! empty( $_GET['networkwide'] ) ); // we'll override this later if the plugin can be included without fatal error 
    8789 
    8890        wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto"); 
  • trunk/wp-admin/update.php

    r14313 r14348  
    7070        if ( ! isset($_GET['failure']) && ! isset($_GET['success']) ) { 
    7171            wp_redirect( 'update.php?action=activate-plugin&failure=true&plugin=' . $plugin . '&_wpnonce=' . $_GET['_wpnonce'] ); 
    72             activate_plugin($plugin); 
     72            activate_plugin( $plugin, '', ! empty( $_GET['networkwide'] ) ); 
    7373            wp_redirect( 'update.php?action=activate-plugin&success=true&plugin=' . $plugin . '&_wpnonce=' . $_GET['_wpnonce'] ); 
    7474            die(); 
Note: See TracChangeset for help on using the changeset viewer.