| 1 | Index: wp-admin/includes/class-wp-upgrader.php |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- wp-admin/includes/class-wp-upgrader.php (revision 12531) |
|---|
| 4 | +++ wp-admin/includes/class-wp-upgrader.php (working copy) |
|---|
| 5 | @@ -464,6 +464,8 @@ |
|---|
| 6 | |
|---|
| 7 | $this->maintenance_mode(true); |
|---|
| 8 | |
|---|
| 9 | + $results = array(); |
|---|
| 10 | + |
|---|
| 11 | $all = count($plugins); |
|---|
| 12 | $i = 1; |
|---|
| 13 | foreach ( $plugins as $plugin ) { |
|---|
| 14 | Index: wp-admin/plugins.php |
|---|
| 15 | =================================================================== |
|---|
| 16 | --- wp-admin/plugins.php (revision 12531) |
|---|
| 17 | +++ wp-admin/plugins.php (working copy) |
|---|
| 18 | @@ -224,6 +224,43 @@ |
|---|
| 19 | case 'clear-recent-list': |
|---|
| 20 | update_option('recently_activated', array()); |
|---|
| 21 | break; |
|---|
| 22 | + case 'upgrade-selected': |
|---|
| 23 | + if ( ! current_user_can('update_plugins') ) |
|---|
| 24 | + wp_die(__('You do not have sufficient permissions to update plugins for this blog.')); |
|---|
| 25 | + |
|---|
| 26 | + check_admin_referer('bulk-manage-plugins'); |
|---|
| 27 | + |
|---|
| 28 | + if ( isset($_GET['plugins']) ) { |
|---|
| 29 | + $plugins = explode(',', $_GET['plugins']); |
|---|
| 30 | + } elseif ( isset($_POST['checked']) ) { |
|---|
| 31 | + $plugins = (array) $_POST['checked']; |
|---|
| 32 | + |
|---|
| 33 | + // Filter out non-upgrade-needing plugins, Easy to check non-upgrade-needing plugins.. |
|---|
| 34 | + $current = get_transient( 'update_plugins' ); |
|---|
| 35 | + foreach ( $plugins as $key => $plugin ) |
|---|
| 36 | + if ( !isset( $current->response[ $plugin ] ) ) |
|---|
| 37 | + unset($plugins[$key]); |
|---|
| 38 | + |
|---|
| 39 | + unset($current); |
|---|
| 40 | + } else { |
|---|
| 41 | + $plugins = array(); |
|---|
| 42 | + } |
|---|
| 43 | + |
|---|
| 44 | + $title = __('Upgrade Plugins'); |
|---|
| 45 | + $nonce = 'bulk-manage-plugins'; |
|---|
| 46 | + $url = 'plugins.php?action=upgrade-selected&plugins=' . urlencode(join(',', $plugins)); |
|---|
| 47 | + $parent_file = 'plugins.php'; |
|---|
| 48 | + |
|---|
| 49 | + require_once('admin-header.php'); |
|---|
| 50 | + |
|---|
| 51 | + include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; |
|---|
| 52 | + |
|---|
| 53 | + $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact('title', 'nonce', 'url') ) ); |
|---|
| 54 | + $upgrader->bulk_upgrade($plugins); |
|---|
| 55 | + |
|---|
| 56 | + require_once('admin-footer.php'); |
|---|
| 57 | + exit; |
|---|
| 58 | + break; |
|---|
| 59 | } |
|---|
| 60 | } |
|---|
| 61 | |
|---|
| 62 | @@ -490,6 +527,7 @@ |
|---|
| 63 | <?php if ( current_user_can('delete_plugins') && ( 'active' != $context ) ) : ?> |
|---|
| 64 | <option value="delete-selected"><?php _e('Delete'); ?></option> |
|---|
| 65 | <?php endif; ?> |
|---|
| 66 | + <option value="upgrade-selected"><?php _e('Upgrade') ?></option> |
|---|
| 67 | </select> |
|---|
| 68 | <input type="submit" name="doaction_active" value="<?php esc_attr_e('Apply'); ?>" class="button-secondary action" /> |
|---|
| 69 | <?php if( 'recent' == $context ) : ?> |
|---|
| 70 | Index: wp-admin/update-core.php |
|---|
| 71 | =================================================================== |
|---|
| 72 | --- wp-admin/update-core.php (revision 12531) |
|---|
| 73 | +++ wp-admin/update-core.php (working copy) |
|---|
| 74 | @@ -364,7 +364,7 @@ |
|---|
| 75 | $url = 'update-core.php?action=do-plugin-upgrade&plugins=' . urlencode(join(',', $plugins)); |
|---|
| 76 | $title = __('Upgrade Plugins'); |
|---|
| 77 | $nonce = 'upgrade-core'; |
|---|
| 78 | - $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact('title', 'nonce', 'url', 'plugin') ) ); |
|---|
| 79 | + $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact('title', 'nonce', 'url') ) ); |
|---|
| 80 | $upgrader->bulk_upgrade($plugins); |
|---|
| 81 | } |
|---|
| 82 | |
|---|