WordPress.org

Make WordPress Core

Ticket #25603: 25603.20.diff

File 25603.20.diff, 4.1 KB (added by nacin, 6 years ago)
  • wp-admin/about.php

     
    5252                        <p><?php _e( 'You&#8217;ll still need to click &#8220;Update Now&#8221; once WordPress 3.8 is released, but we&#8217;ve never had more confidence in that beautiful blue button.' ); ?></p>
    5353                </div>
    5454                <?php
    55                         $can_auto_update = wp_http_supports( 'ssl' );
     55                if ( current_user_can( 'update_core' ) ) {
     56                        $future_minor_update = (object) array(
     57                                'current'       => $wp_version . '.1.next.minor',
     58                                'version'       => $wp_version . '.1.next.minor',
     59                                'php_version'   => $required_php_version,
     60                                'mysql_version' => $required_mysql_version,
     61                        );
     62                        require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
     63                        $updater = new WP_Automatic_Updater;
     64                        $can_auto_update = wp_http_supports( 'ssl' ) && $updater->should_update( 'core', $future_minor_update, ABSPATH );
     65
    5666                        if ( $can_auto_update ) {
    57                                 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
    58                                 $upgrader = new WP_Automatic_Updater;
    59                                 $future_minor_update = (object) array(
    60                                         'current'       => $wp_version . '.1.next.minor',
    61                                         'version'       => $wp_version . '.1.next.minor',
    62                                         'php_version'   => $required_php_version,
    63                                         'mysql_version' => $required_mysql_version,
    64                                 );
    65                                 $can_auto_update = $upgrader->should_update( 'core', $future_minor_update, ABSPATH );
     67                                echo '<p class="about-auto-update cool">' . __( 'This site <strong>is</strong> able to apply these updates automatically. Cool!' ). '</p>';
     68
     69                        // If the updater is disabled entirely, don't show them anything.
     70                        } elseif ( ! $updater->is_disabled() ) {
     71                                echo '<p class="about-auto-update">';
     72                                // If notify_core_update is filtered to false, they won't get emails.
     73                                // Assumption: If the user can update core, they can see what the admin email is.
     74                                if ( apply_filters( 'notify_core_update', true, $future_minor_update ) ) {
     75                                        printf( __( 'This site <strong>is not</strong> able to apply these updates automatically. But we&#8217;ll email %s when there is a new security release.' ), esc_html( get_site_option( 'admin_email' ) ) );
     76                                } else {
     77                                        _e( 'This site <strong>is not</strong> able to apply these updates automatically.' );
     78                                }
     79                                echo '</p>';
    6680                        }
    67                         if ( $can_auto_update ) : ?>
    68                                 <p class="about-auto-update cool"><?php _e( 'This site <strong>is</strong> able to apply these updates automatically. Cool!' ); ?></p>
    69                         <?php else : ?>
    70                                 <p class="about-auto-update"><?php printf( __( 'This site <strong>is not</strong> able to apply these updates automatically. But we&#8217;ll email %s when there is a new security release.' ), esc_html( get_site_option( 'admin_email' ) ) ); ?></p>
    71                 <?php endif; ?>
     81                }
     82                ?>
    7283        </div>
    7384</div>
    7485
  • wp-admin/includes/class-wp-upgrader.php

     
    18101810                if ( $notified && $notified['email'] == get_site_option( 'admin_email' ) && $notified['version'] == $item->current )
    18111811                        return false;
    18121812
     1813                if ( ! apply_filters( 'notify_core_update', true, $item ) )
     1814                        return false;
     1815
    18131816                $this->send_email( 'manual', $item );
    18141817                return true;
    18151818        }
     
    21272130                 * @since 3.7.0
    21282131                 *
    21292132                 * @param bool   $send        Whether to send the email. Default true.
    2130                  * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'manual', 'critical'.
     2133                 * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'critical'.
    21312134                 * @param object $core_update The update offer that was attempted.
    21322135                 * @param mixed  $result      The result for the core update. Can be WP_Error.
    21332136                 */
    2134                 if ( ! apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result ) )
     2137                if ( 'manual' !== $type && ! apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result ) )
    21352138                        return;
    21362139
    21372140                switch ( $type ) {