WordPress.org

Make WordPress Core

Ticket #50907: 50907.2.diff

File 50907.2.diff, 6.0 KB (added by helen, 14 months ago)

Patch refresh attempt, manual diff editing

  • src/wp-admin/css/common.css

    diff --git a/src/wp-admin/css/common.css b/src/wp-admin/css/common.css
    index 083159a22f..e60ee25c6c 100644
    a b h3 { 
    344344}
    345345
    346346.update-core-php h2 {
    347         margin-top: 2em;
     347        margin-top: 4em;
    348348}
    349349
    350350.update-php h2,
  • src/wp-admin/includes/class-core-upgrader.php

    diff --git a/src/wp-admin/includes/class-core-upgrader.php b/src/wp-admin/includes/class-core-upgrader.php
    index 4184bc8ea9..df0bbf141f 100644
    a b class Core_Upgrader extends WP_Upgrader { 
    4848         *
    4949         * @param object $current Response object for whether WordPress is current.
    5050         * @param array  $args {
    51          *     Optional. Arguments for upgrading WordPress core. Default empty array.
     51         *        Optional. Arguments for upgrading WordPress core. Default empty array.
    5252         *
    53          *     @type bool $pre_check_md5    Whether to check the file checksums before
    54          *                                  attempting the upgrade. Default true.
    55          *     @type bool $attempt_rollback Whether to attempt to rollback the chances if
    56          *                                  there is a problem. Default false.
    57          *     @type bool $do_rollback      Whether to perform this "upgrade" as a rollback.
    58          *                                  Default false.
     53         *        @type bool $pre_check_md5    Whether to check the file checksums before
     54         *                                     attempting the upgrade. Default true.
     55         *        @type bool $attempt_rollback Whether to attempt to rollback the chances if
     56         *                                     there is a problem. Default false.
     57         *        @type bool $do_rollback      Whether to perform this "upgrade" as a rollback.
     58         *                                     Default false.
    5959         * }
    6060         * @return string|false|WP_Error New WordPress version on success, false or WP_Error on failure.
    6161         */
    class Core_Upgrader extends WP_Upgrader { 
    279279                $current_is_development_version = (bool) strpos( $wp_version, '-' );
    280280
    281281                // Defaults:
    282                 $upgrade_dev   = true;
    283                 $upgrade_minor = true;
    284                 $upgrade_major = false;
     282                $upgrade_dev   = get_site_option( 'auto_update_core_dev', true );
     283                $upgrade_minor = get_site_option( 'auto_update_core_minor', true );
     284                $upgrade_major = get_site_option( 'auto_update_core_major', false );
    285285
    286286                // WP_AUTO_UPDATE_CORE = true (all), 'minor', false.
    287287                if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
  • src/wp-admin/update-core.php

    diff --git a/src/wp-admin/update-core.php b/src/wp-admin/update-core.php
    index fcae12eaa0..a4ef446f10 100644
    a b function core_upgrade_preamble() { 
    300300        dismissed_updates();
    301301}
    302302
     303/**
     304 * Display WordPress auto-updates settings.
     305 *
     306 * @since 5.6.0
     307 */
     308function core_auto_updates_settings() {
     309        $upgrade_major_value = '';
     310        if ( isset( $_POST['core-auto-updates-settings'] ) && wp_verify_nonce( $_POST['set_core_auto_updates_settings'], 'core-auto-updates-nonce' ) ) {
     311                if ( isset( $_POST['core-auto-updates-major'] ) && 1 === (int) $_POST['core-auto-updates-major'] ) {
     312                        update_site_option( 'auto_update_core_major', 1 );
     313                } else {
     314                        update_site_option( 'auto_update_core_major', 0 );
     315                }
     316                echo '<div class="notice notice-info is-dismissible"><p>';
     317                _e( 'WordPress auto-updates settings updated.' );
     318                echo '</p></div>';
     319        }
     320
     321        $upgrade_dev   = get_site_option( 'auto_update_core_dev', true );
     322        $upgrade_minor = get_site_option( 'auto_update_core_minor', true );
     323        $upgrade_major = get_site_option( 'auto_update_core_major', false );
     324
     325        if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
     326                if ( false === WP_AUTO_UPDATE_CORE ) {
     327                        // Defaults to turned off, unless a filter allows it.
     328                        $upgrade_dev   = false;
     329                        $upgrade_minor = false;
     330                        $upgrade_major = false;
     331                } elseif ( true === WP_AUTO_UPDATE_CORE ) {
     332                        // ALL updates for core.
     333                        $upgrade_dev   = true;
     334                        $upgrade_minor = true;
     335                        $upgrade_major = true;
     336                } elseif ( 'minor' === WP_AUTO_UPDATE_CORE ) {
     337                        // Only minor updates for core.
     338                        $upgrade_dev   = false;
     339                        $upgrade_minor = true;
     340                        $upgrade_major = false;
     341                }
     342        }
     343
     344        $upgrade_dev   = apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev );
     345        $upgrade_minor = apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor );
     346        $upgrade_major = apply_filters( 'allow_major_auto_core_updates', $upgrade_major );
     347
     348        $auto_update_settings = array(
     349                'dev'   => $upgrade_dev,
     350                'minor' => $upgrade_minor,
     351                'major' => $upgrade_major,
     352        );
     353        ?>
     354        <form method="post" action="<?php echo esc_url( $_SERVER['REQUEST_URI'] ); ?>" name="core-auto-updates" class="form-core-auto-updates">
     355                <?php wp_nonce_field( 'core-auto-updates-nonce', 'set_core_auto_updates_settings' ); ?>
     356                <h2><?php _e( 'WordPress auto-updates settings' ); ?></h2>
     357                <p>
     358                        <?php
     359                        if ( $auto_update_settings['major'] ) {
     360                                $wp_version = get_bloginfo( 'version' );
     361                                $updates    = get_core_updates();
     362                                if ( isset( $updates[0]->version ) && version_compare( $updates[0]->version, $wp_version, '>' ) ) {
     363                                        echo wp_get_auto_update_message();
     364                                }
     365                        }
     366                        ?>
     367                </p>
     368                <p>
     369                        <input type="checkbox" name="core-auto-updates-major" id="core-auto-updates-major" value="1" <?php checked( $auto_update_settings['major'], 1 ); ?> />
     370                        <label for="core-auto-updates-major">
     371                                <?php _e( 'Keep my site up-to-date with regular feature updates (major versions).' ); ?>
     372                        </label>
     373                </p>
     374                <?php
     375                /**
     376                 * Fires after the major core auto-update checkbox.
     377                 *
     378                 * @since 5.6.0
     379                 */
     380                do_action( 'after_core_auto_updates_settings_fields', $auto_update_settings );
     381                ?>
     382                <p>
     383                        <input id="core-auto-updates-settings" class="button" type="submit" value="<?php esc_attr_e( 'Save settings' ); ?>" name="core-auto-updates-settings" />
     384                </p>
     385        <?php
     386}
     387
    303388/**
    304389 * Display the upgrade plugins form.
    305390 *
    if ( 'upgrade-core' === $action ) { 
    890975
    891976        if ( current_user_can( 'update_core' ) ) {
    892977                core_upgrade_preamble();
     978                core_auto_updates_settings();
    893979        }
    894980        if ( current_user_can( 'update_plugins' ) ) {
    895981                list_plugin_updates();