WordPress.org

Make WordPress Core

Ticket #11542: 11542.diff

File 11542.diff, 2.9 KB (added by dd32, 10 years ago)
  • wp-admin/includes/class-wp-upgrader.php

     
    464464
    465465                $this->maintenance_mode(true);
    466466
     467                $results = array();
     468
    467469                $all = count($plugins);
    468470                $i = 1;
    469471                foreach ( $plugins as $plugin ) {
  • wp-admin/plugins.php

     
    224224                case 'clear-recent-list':
    225225                        update_option('recently_activated', array());
    226226                        break;
     227                case 'upgrade-selected':
     228                        if ( ! current_user_can('update_plugins') )
     229                                wp_die(__('You do not have sufficient permissions to update plugins for this blog.'));
     230
     231                        check_admin_referer('bulk-manage-plugins');
     232
     233                        if ( isset($_GET['plugins']) ) {
     234                                $plugins = explode(',', $_GET['plugins']);
     235                        } elseif ( isset($_POST['checked']) ) {
     236                                $plugins = (array) $_POST['checked'];
     237
     238                                // Filter out non-upgrade-needing plugins, Easy to check non-upgrade-needing plugins..
     239                                $current = get_transient( 'update_plugins' );
     240                                foreach ( $plugins as $key => $plugin )
     241                                        if ( !isset( $current->response[ $plugin ] ) )
     242                                                unset($plugins[$key]);
     243
     244                                unset($current);
     245                        } else {
     246                                $plugins = array();
     247                        }
     248
     249                        $title = __('Upgrade Plugins');
     250                        $nonce = 'bulk-manage-plugins';
     251                        $url = 'plugins.php?action=upgrade-selected&plugins=' . urlencode(join(',', $plugins));
     252                        $parent_file = 'plugins.php';
     253
     254                        require_once('admin-header.php');
     255
     256                        include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
     257
     258                        $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact('title', 'nonce', 'url') ) );
     259                        $upgrader->bulk_upgrade($plugins);
     260
     261                        require_once('admin-footer.php');
     262                        exit;
     263                        break;
    227264        }
    228265}
    229266
     
    490527        <?php if ( current_user_can('delete_plugins') && ( 'active' != $context ) ) : ?>
    491528                        <option value="delete-selected"><?php _e('Delete'); ?></option>
    492529        <?php endif; ?>
     530                        <option value="upgrade-selected"><?php _e('Upgrade') ?></option>
    493531                </select>
    494532                <input type="submit" name="doaction_active" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary action" />
    495533        <?php if( 'recent' == $context ) : ?>
  • wp-admin/update-core.php

     
    364364        $url = 'update-core.php?action=do-plugin-upgrade&amp;plugins=' . urlencode(join(',', $plugins));
    365365        $title = __('Upgrade Plugins');
    366366        $nonce = 'upgrade-core';
    367         $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact('title', 'nonce', 'url', 'plugin') ) );
     367        $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact('title', 'nonce', 'url') ) );
    368368        $upgrader->bulk_upgrade($plugins);
    369369}
    370370