Ticket #22704: 22704.stats.diff
| File 22704.stats.diff, 4.0 KB (added by , 12 years ago) |
|---|
-
src/wp-admin/includes/class-wp-upgrader.php
1299 1299 $result = update_core( $working_dir, $wp_dir ); 1300 1300 1301 1301 // In the event of an error, rollback to the previous version 1302 if ( is_wp_error( $result ) && $parsed_args['attempt_rollback'] && $current->packages->rollback ) {1302 if ( is_wp_error( $result ) && $parsed_args['attempt_rollback'] && $current->packages->rollback && ! $parsed_args['do_rollback'] ) { 1303 1303 apply_filters( 'update_feedback', $result ); 1304 1304 apply_filters( 'update_feedback', $this->strings['start_rollback'] ); 1305 1305 1306 $ this->upgrade( $current, array_merge( $parsed_args, array( 'do_rollback' => true ) ) );1306 $rollback_result = $this->upgrade( $current, array_merge( $parsed_args, array( 'do_rollback' => true ) ) ); 1307 1307 1308 $result = new WP_Error( 'rollback_was_required', $this->strings['rollback_was_required'] );1308 $result = new WP_Error( 'rollback_was_required', $this->strings['rollback_was_required'], array( 'rollback' => $rollback_result, 'update' => $result ) ); 1309 1309 } 1310 1310 do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core' ), $result ); 1311 1311 return $result; … … 1717 1717 1718 1718 // Next, Process any core upgrade 1719 1719 wp_version_check(); // Check for Core updates 1720 $extra_update_args = array(); 1720 1721 $core_update = find_core_auto_update(); 1721 1722 if ( $core_update ) { 1722 self::upgrade( 'core', $core_update ); 1723 $start_time = time(); 1724 $core_update_result = self::upgrade( 'core', $core_update ); 1723 1725 delete_site_transient( 'update_core' ); 1726 $extra_update_args['success'] = is_wp_error( $core_update_result ) ? $core_update_result->get_error_code() : true; 1727 if ( is_wp_error( $core_update_result ) && 'rollback_was_required' == $core_update_result->get_error_code() ) { 1728 $rollback_data = $core_update_result->get_error_data(); 1729 $extra_update_args['update'] = is_wp_error( $rollback_data['update'] ) ? $rollback_data['update']->get_error_code() : $rollback_data['update']; 1730 $extra_update_args['rollback'] = is_wp_error( $rollback_data['rollback'] ) ? $rollback_data['rollback']->get_error_code() : $rollback_data['rollback']; 1731 } 1732 $extra_update_args['fs_transport'] = $GLOBALS['wp_filesystem']->method; 1733 $extra_update_args['time_taken'] = ( time() - $start_time ); 1724 1734 } 1725 1735 1726 1736 // Cleanup, and check for any pending translations 1727 wp_version_check( ); // check for Core updates1737 wp_version_check( $extra_update_args ); // check for Core updates 1728 1738 wp_update_themes(); // Check for Theme updates 1729 1739 wp_update_plugins(); // Check for Plugin updates 1730 1740 -
src/wp-includes/update.php
19 19 * 20 20 * @return mixed Returns null if update is unsupported. Returns false if check is too soon. 21 21 */ 22 function wp_version_check( ) {22 function wp_version_check( $extra_args = array() ) { 23 23 if ( defined('WP_INSTALLING') ) 24 24 return; 25 25 … … 39 39 // Wait 60 seconds between multiple version check requests 40 40 $timeout = 60; 41 41 $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); 42 if ( $time_not_changed )42 if ( $time_not_changed && empty( $extra_args ) ) 43 43 return false; 44 44 45 45 $locale = apply_filters( 'core_version_check_locale', get_locale() ); … … 74 74 'local_package' => isset( $wp_local_package ) ? $wp_local_package : '', 75 75 'blogs' => $num_blogs, 76 76 'users' => $user_count, 77 'multisite_enabled' => $multisite_enabled 77 'multisite_enabled' => $multisite_enabled, 78 78 ); 79 $query = array_merge( $query, $extra_args ); 79 80 80 81 $url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' ); 81 82 if ( wp_http_supports( array( 'ssl' ) ) )