Make WordPress Core


Ignore:
Timestamp:
07/12/2020 01:14:01 AM (6 years ago)
Author:
SergeyBiryukov
Message:

Administration: Handle the result of Plugin_Upgrader::bulk_upgrade() for a plugin that is already at the latest version in the same way it is handled for themes.

This corrects a fragile check of the result in wp_ajax_update_plugin() that depended on the internal array pointer, and brings some consistency with wp_ajax_update_theme().

Follow-up to [37714], [48401].
See #50448.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/ajax-actions.php

    r48375 r48445  
    44634463                wp_send_json_error( $status );
    44644464        } elseif ( is_array( $result ) && ! empty( $result[ $plugin ] ) ) {
    4465                 $plugin_update_data = current( $result );
    44664465
    44674466                /*
    4468                  * If the `update_plugins` site transient is empty (e.g. when you update
    4469                  * two plugins in quick succession before the transient repopulates),
    4470                  * this may be the return.
     4467                 * Plugin is already at the latest version.
     4468                 *
     4469                 * This may also be the return value If the `update_plugins` site transient is empty,
     4470                 * e.g. when you update two plugins in quick succession before the transient repopulates.
    44714471                 *
    44724472                 * Preferably something can be done to ensure `update_plugins` isn't empty.
    44734473                 * For now, surface some sort of error here.
    44744474                 */
    4475                 if ( true === $plugin_update_data ) {
    4476                         $status['errorMessage'] = __( 'Plugin update failed.' );
     4475                if ( true === $result[ $plugin ] ) {
     4476                        $status['errorMessage'] = $upgrader->strings['up_to_date'];
    44774477                        wp_send_json_error( $status );
    44784478                }
    … …  
    44854485                        $status['newVersion'] = sprintf( __( 'Version %s' ), $plugin_data['Version'] );
    44864486                }
     4487
    44874488                wp_send_json_success( $status );
    44884489        } elseif ( false === $result ) {
Note: See TracChangeset for help on using the changeset viewer.