From d8dc5d9f63d21d068138593df4f4a3a5a33db09c Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Sun, 24 May 2015 08:44:09 +0000 Subject: [PATCH] Updates: Correctly identify more failed update cases. This checks for a WP_Error being raised during an individual update, in addition to just the bootstrap error cases. The error message in these cases is still not displayed in the UI. See #32473, #32435 git-svn-id: https://develop.svn.wordpress.org/trunk@32571 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/ajax-actions.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php index 5ff3acd64a..a705e43e65 100644 --- a/src/wp-admin/includes/ajax-actions.php +++ b/src/wp-admin/includes/ajax-actions.php @@ -2922,10 +2922,15 @@ function wp_ajax_update_plugin() { wp_update_plugins(); } - $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); + $skin = new Automatic_Upgrader_Skin(); + $upgrader = new Plugin_Upgrader( $skin ); $result = $upgrader->bulk_upgrade( array( $plugin ) ); - if ( is_array( $result ) ) { + if ( is_array( $result ) && empty( $result[$plugin] ) && is_wp_error( $skin->result ) ) { + $result = $skin->result; + } + + if ( is_array( $result ) && !empty( $result[ $plugin ] ) ) { $plugin_update_data = current( $result ); /*