Ticket #11542: 11542.diff

File 11542.diff, 2.9 KB (added by dd32, 3 years ago)
Line 
1Index: 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 ) {
14Index: 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 ) : ?>
70Index: 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&amp;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