Make WordPress Core

Ticket #51742: 51742.diff

File 51742.diff, 2.0 KB (added by audrasjb, 5 years ago)

Upgrade/Install: Disable major auto-updates checkbox when WP_AUTO_UPDATE_CORE constant and/or allow_major_auto_core_updates filter are defined

  • src/wp-admin/update-core.php

    diff --git a/src/wp-admin/update-core.php b/src/wp-admin/update-core.php
    index c08e57f6e9..4597def075 100644
    a b function core_auto_updates_settings() { 
    322322        $upgrade_minor = get_site_option( 'auto_update_core_minor', true );
    323323        $upgrade_major = get_site_option( 'auto_update_core_major', false );
    324324
     325        $major_optin_disabled = '';
    325326        // WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'minor', false.
    326327        if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
    327328                if ( false === WP_AUTO_UPDATE_CORE ) {
    function core_auto_updates_settings() { 
    343344                        $upgrade_minor = true;
    344345                        $upgrade_major = false;
    345346                }
     347                $major_optin_disabled = ' disabled';
    346348        }
    347349
    348350        /** This filter is documented in wp-admin/includes/class-core-upgrader.php */
    function core_auto_updates_settings() { 
    352354        /** This filter is documented in wp-admin/includes/class-core-upgrader.php */
    353355        $upgrade_major = apply_filters( 'allow_major_auto_core_updates', $upgrade_major );
    354356
     357        $is_major_optin_disabled = apply_filters( 'allow_major_auto_core_updates', null );
     358        if ( isset( $is_major_optin_disabled ) ) {
     359                $major_optin_disabled = ' disabled';
     360        }
     361
    355362        $auto_update_settings = array(
    356363                'dev'   => $upgrade_dev,
    357364                'minor' => $upgrade_minor,
    function core_auto_updates_settings() { 
    373380                        ?>
    374381                </p>
    375382                <p>
    376                         <input type="checkbox" name="core-auto-updates-major" id="core-auto-updates-major" value="1" <?php checked( $auto_update_settings['major'], 1 ); ?> />
     383                        <input type="checkbox" name="core-auto-updates-major" id="core-auto-updates-major" value="1" <?php checked( $auto_update_settings['major'], 1 ); ?> <?php echo $major_optin_disabled; ?> />
    377384                        <label for="core-auto-updates-major">
    378385                                <?php _e( 'Automatically keep this site up-to-date with regular feature updates.' ); ?>
     386                                <?php if ( ! empty( $major_optin_disabled ) ) : ?>
     387                                        <em><?php _e( 'This setting has been disabled using a constant or a filter.' ); ?></em>
     388                                <?php endif; ?>
    379389                        </label>
    380390                </p>
    381391                <?php