Updates: Partially revert [42584], as this branch of code should always be run after a core update check.

This code branch is responsible for running all autoupdates, including plugins and themes - which should run regardless of if there's a core autoupdate available.

This revert does not revert the `$timeout` changes, as these should still use cached data if it's available.
Ideally this should be decoupled from the core update check to allow background updates to operate even when the core update check is disabled or running more often than twice daily.

Merges [42653] to the 4.9 branch.
Fixes #43103, #43235.

Built from https://develop.svn.wordpress.org/branches/4.9@42654


git-svn-id: http://core.svn.wordpress.org/branches/4.9@42483 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Dion Hulse 2018-02-06 12:47:42 +00:00
parent 2643287b2c
commit 662345c10f

View File

@ -168,8 +168,7 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
return; return;
} }
$offers = $body['offers']; $offers = $body['offers'];
$has_auto_update = false;
foreach ( $offers as &$offer ) { foreach ( $offers as &$offer ) {
foreach ( $offer as $offer_key => $value ) { foreach ( $offer as $offer_key => $value ) {
@ -183,10 +182,6 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
} }
$offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale',
'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email', 'new_files' ), '' ) ); 'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email', 'new_files' ), '' ) );
if ( 'autoupdate' == $offer->response ) {
$has_auto_update = true;
}
} }
$updates = new stdClass(); $updates = new stdClass();
@ -208,13 +203,8 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
} }
// Trigger background updates if running non-interactively, and we weren't called from the update handler. // Trigger background updates if running non-interactively, and we weren't called from the update handler.
if ( $doing_cron && $has_auto_update && ! doing_action( 'wp_maybe_auto_update' ) ) { if ( $doing_cron && ! doing_action( 'wp_maybe_auto_update' ) ) {
include_once( ABSPATH . '/wp-admin/includes/update.php' ); do_action( 'wp_maybe_auto_update' );
// Only trigger background updates if an acceptable autoupdate is on offer, avoids needless extra API calls.
if ( find_core_auto_update() ) {
do_action( 'wp_maybe_auto_update' );
}
} }
} }