Make WordPress Core


Ignore:
Timestamp:
11/09/2009 06:53:21 PM (16 years ago)
Author:
ryan
Message:

Put site into maintenance mode during bulk plugin upgrade. Skip plugin deactivate/activate. Add compatibility info. see #10973

File:
1 edited

Legend:

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

    r12107 r12157  
    433433                ));
    434434
    435         //Cleanup our hooks, incase something else does a upgrade on this connection.
     435        // Cleanup our hooks, incase something else does a upgrade on this connection.
    436436        remove_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'));
    437437        remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
     
    452452        $current = get_transient( 'update_plugins' );
    453453
    454         add_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'), 10, 2);
    455454        add_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'), 10, 4);
    456455
    457456        $this->skin->header();
     457
     458        // Connect to the Filesystem first.
     459        $res = $this->fs_connect( array(WP_CONTENT_DIR, WP_PLUGIN_DIR) );
     460        if ( ! $res ) {
     461            $this->skin->footer();
     462            return false;
     463        }
     464
     465        $this->maintenance_mode(true);
     466
    458467        $all = count($plugins);
    459468        $i = 1;
     
    493502                break;
    494503        }
     504        $this->maintenance_mode(false);
    495505        $this->skin->footer();
    496506
    497         //Cleanup our hooks, incase something else does a upgrade on this connection.
    498         remove_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'));
     507        // Cleanup our hooks, incase something else does a upgrade on this connection.
    499508        remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
    500509
     
    900909
    901910    function after() {
     911        if ( $this->upgrader->bulk )
     912            return;
     913
    902914        $this->plugin = $this->upgrader->plugin_info();
    903915        if( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){
     
    905917            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>';
    906918        }
     919
    907920        $update_actions =  array(
    908921            'activate_plugin' => '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $this->plugin, 'activate-plugin_' . $this->plugin) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>',
Note: See TracChangeset for help on using the changeset viewer.