Upgrade/Install: Replace the conditionals that check the `AUTOMATIC_UPDATER_DISABLED` constant and the `automatic_updater_disabled` filter in update-core.php with a call to `WP_Automatic_Updater::is_disabled()`.

This prevents a PHP warning, fixes the logic, and considers `wp_is_file_mod_allowed( 'automatic_updater' )` when determining the UI state.

Props jamesros161, pbiron, audrasjb, azaozz.
Merges [49677] and [49681] to the 5.6 branch.
Fixes #51827.
Built from https://develop.svn.wordpress.org/branches/5.6@49682


git-svn-id: http://core.svn.wordpress.org/branches/5.6@49405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2020-11-22 16:06:06 +00:00
parent 1e60ec94af
commit f677bc838e
2 changed files with 18 additions and 17 deletions

View File

@ -289,6 +289,9 @@ function core_auto_updates_settings() {
} }
} }
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
$updater = new WP_Automatic_Updater();
// Defaults: // Defaults:
$upgrade_dev = get_site_option( 'auto_update_core_dev', 'enabled' ) === 'enabled'; $upgrade_dev = get_site_option( 'auto_update_core_dev', 'enabled' ) === 'enabled';
$upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' ) === 'enabled'; $upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' ) === 'enabled';
@ -317,26 +320,25 @@ function core_auto_updates_settings() {
$upgrade_major = false; $upgrade_major = false;
} }
// The UI is overridden by the WP_AUTO_UPDATE_CORE constant. // The UI is overridden by the `WP_AUTO_UPDATE_CORE` constant.
$can_set_update_option = false; $can_set_update_option = false;
} }
if ( defined( 'AUTOMATIC_UPDATER_DISABLED' ) if ( $updater->is_disabled() ) {
|| has_filter( 'automatic_updater_disabled' ) $upgrade_dev = false;
) { $upgrade_minor = false;
if ( true === AUTOMATIC_UPDATER_DISABLED $upgrade_major = false;
/** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */
|| true === apply_filters( 'automatic_updater_disabled', false ) /*
) { * The UI is overridden by the `AUTOMATIC_UPDATER_DISABLED` constant
$upgrade_dev = false; * or the `automatic_updater_disabled` filter,
$upgrade_minor = false; * or by `wp_is_file_mod_allowed( 'automatic_updater' )`.
$upgrade_major = false; * See `WP_Automatic_Updater::is_disabled()`.
} */
// The UI is overridden by the AUTOMATIC_UPDATER_DISABLED constant.
$can_set_update_option = false; $can_set_update_option = false;
} }
// Is the UI overridden by a plugin using the allow_major_auto_core_updates filter? // Is the UI overridden by a plugin using the `allow_major_auto_core_updates` filter?
if ( has_filter( 'allow_major_auto_core_updates' ) ) { if ( has_filter( 'allow_major_auto_core_updates' ) ) {
$can_set_update_option = false; $can_set_update_option = false;
} }
@ -368,8 +370,7 @@ function core_auto_updates_settings() {
<p class="auto-update-status"> <p class="auto-update-status">
<?php <?php
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
$updater = new WP_Automatic_Updater();
if ( $updater->is_vcs_checkout( ABSPATH ) ) { if ( $updater->is_vcs_checkout( ABSPATH ) ) {
_e( 'This site appears to be under version control. Automatic updates are disabled.' ); _e( 'This site appears to be under version control. Automatic updates are disabled.' );
} elseif ( $upgrade_major ) { } elseif ( $upgrade_major ) {

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.6-RC1-49667'; $wp_version = '5.6-RC1-49682';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.