Make WordPress Core

Ticket #51928: 51928.diff

File 51928.diff, 1.6 KB (added by afragen, 14 months ago)
  • wp-admin/includes/class-plugin-upgrader.php

    diff --git a/wp-admin/includes/class-plugin-upgrader.php b/wp-admin/includes/class-plugin-upgrader.php
    index b171f9228b..3d528494e3 100644
    a b class Plugin_Upgrader extends WP_Upgrader { 
    317317                $this->update_count   = count( $plugins );
    318318                $this->update_current = 0;
    319319                foreach ( $plugins as $plugin ) {
     320                        $start_time = time();
     321
    320322                        $this->update_current++;
    321323                        $this->skin->plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, false, true );
    322324
    class Plugin_Upgrader extends WP_Upgrader { 
    349351
    350352                        $results[ $plugin ] = $this->result;
    351353
     354                        // If WP_Error send data to WordPress.org.
     355                        if ( is_wp_error( $result ) ) {
     356                                // Include an unmodified $wp_version.
     357                                require ABSPATH . WPINC . '/version.php';
     358                                global $wp_filesystem;
     359                                $stats = array(
     360                                        'update_type'      => 'plugin',
     361                                        'plugin'           => $plugin,
     362                                        'success'          => false,
     363                                        'fs_method'        => $wp_filesystem->method,
     364                                        'fs_method_forced' => defined( 'FS_METHOD' ) || has_filter( 'filesystem_method' ),
     365                                        'fs_method_direct' => ! empty( $GLOBALS['_wp_filesystem_direct_method'] ) ? $GLOBALS['_wp_filesystem_direct_method'] : '',
     366                                        'time_taken'       => time() - $start_time,
     367                                        'reported'         => $wp_version,
     368                                        'attempted'        => $r->new_version,
     369                                        'wp_error'         => $result,
     370                                );
     371                                wp_version_check( $stats );
     372                        }
     373
    352374                        // Prevent credentials auth screen from displaying multiple times.
    353375                        if ( false === $result ) {
    354376                                break;