Make WordPress Core

Ticket #2377: 2377.2.diff

File 2377.2.diff, 4.6 KB (added by davidhouse, 20 years ago)
  • wp-includes/functions.php

     
    22832283        return $wpdb->num_queries;
    22842284}
    22852285
     2286function deactivate_plugins() {
     2287        update_option('deactivated_plugins', get_settings('active_plugins'));
     2288        update_option('active_plugins', array());
     2289}
     2290
    22862291?>
  • wp-settings.php

     
    170170                require(ABSPATH . '/my-hacks.php');
    171171}
    172172
    173 if ( get_settings('active_plugins') ) {
     173if ( get_settings('active_plugins') && !defined('WP_INSTALLING') ) {
    174174        $current_plugins = get_settings('active_plugins');
    175175        if ( is_array($current_plugins) ) {
    176176                foreach ($current_plugins as $plugin) {
  • wp-admin/wp-admin.css

     
    712712.alternate.active .name {
    713713        background: #8B8;
    714714}
     715.deactivated td {
     716        background-color: #ccc;
     717        color: #999 !important;
     718}
     719.deactivated td a.edit:hover {
     720        background-color: #999;
     721}
    715722
    716723/* A handy div class for hiding controls.
    717724   Some browsers will disable them when you
  • wp-admin/plugins.php

     
    44if ( isset($_GET['action']) ) {
    55        check_admin_referer();
    66       
    7         if ('activate' == $_GET['action']) {
     7        if ('activate' == $_GET['action'] || 'reactivate' == $_GET['action']) {
    88                $current = get_settings('active_plugins');
     9                $deactivated = get_settings('deactivated_plugins');
     10                if (in_array($_GET['plugin'], $deactivated) && 'reactivate' == $_GET['action']) {
     11                        array_splice($deactivated, array_search( $_GET['plugin'], $deactivated), 1 ); // Array-fu!
     12                        update_option('deactivated_plugins', $deactivated);
     13                        //plugin will be activated in next if()
     14                }
    915                if (!in_array($_GET['plugin'], $current)) {
    1016                        $current[] = trim( $_GET['plugin'] );
    1117                        sort($current);
     
    6975
    7076if ( get_settings('active_plugins') )
    7177        $current_plugins = get_settings('active_plugins');
     78$deactivated_plugins = get_settings('deactivated_plugins');
    7279
    7380$plugins = get_plugins();
    7481
     
    104111                } else {
    105112                        $action = "<a href='plugins.php?action=activate&amp;plugin=$plugin_file' title='".__('Activate this plugin')."' class='edit'>".__('Activate')."</a>";
    106113                }
     114                if (!empty($deactivated_plugins) && in_array($plugin_file, $deactivated_plugins)) {
     115                        $style .= ' deactivated';
     116                        $action = "<a href='plugins.php?action=reactivate&amp;plugin=$plugin_file' title='".__('Reactivate this plugin')."' class='edit'>".__('Reactivate')."</a>";
     117                        $plugin_data['Title'] .= ' <em>' . __('deactivated in upgrade') . '</em>';
     118                }
    107119                $plugin_data['Description'] = wp_kses($plugin_data['Description'], array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array()) ); ;
    108120                if ($style != '') $style = 'class="' . $style . '"';
    109121                echo "
  • wp-admin/upgrade.php

     
    7575        break;
    7676       
    7777        case 1:
     78        deactivate_plugins();
    7879        wp_cache_flush();
    7980        make_db_current_silent();
    8081        upgrade_all();
     
    8788?>
    8889<h2><?php _e('Step 1'); ?></h2>
    8990        <p><?php printf(__("There's actually only one step. So if you see this, you're done. <a href='%s'>Have fun</a>!"),  $backto); ?></p>
     91       
     92        <?php $deactivated = get_option('deactivated_plugins');
     93        if (is_array($deactivated) && count($deactivated)) {
     94                <h3><?php _e('Deactivated plugins'); ?></h3>
     95                <p><?php _e('When upgrading, plugins designed for the old version can sometimes break with the new version, causing your upgraded WordPress to have errors or sometime not be accessible at all. To be on the safe side, we&apos;ve disabled all your plugins. On the plugins page the plugins you can reactivate the plugins you previously had activated one by one to make sure nothing breaks.'); ?></p>
     96               
     97                <p><?php _e('Here&apos;s a list of the plugins you had activated before. Plugins that were previously activated are marked on the Plugins page.'); ?></p>
     98               
     99                <ul>
     100                        <?php foreach ($deactivated as $plugin) {
     101                                $plugin_data = get_plugins_data($plugin); ?>
     102                                <li><?php echo $plugin_data['Title']; ?></li>
     103                        <?php } ?>
     104                </ul>
     105        <?php } ?>
    90106
    91107<!--
    92108<pre>