Ticket #16156: 16156.patch

File 16156.patch, 5.4 KB (added by solarissmoke, 2 years ago)
  • wp-admin/update-core.php

     
    115115 * 
    116116 * @return null 
    117117 */ 
    118 function core_upgrade_preamble() { 
     118function core_upgrade_preamble( $update_status ) { 
    119119        global $upgrade_error; 
    120  
    121         $updates = get_core_updates(); 
    122120?> 
    123121        <div class="wrap"> 
    124122        <?php screen_icon('tools'); ?> 
    125123        <h2><?php _e('WordPress Updates'); ?></h2> 
    126124<?php 
    127         if ( $upgrade_error ) { 
    128                 echo '<div class="error"><p>'; 
    129                 if ( $upgrade_error == 'themes' ) 
    130                         _e('Please select one or more themes to update.'); 
    131                 else 
    132                         _e('Please select one or more plugins to update.'); 
    133                 echo '</p></div>'; 
     125        if( is_wp_error( $update_status ) ) { 
     126                echo '<div class="error">'; 
     127                echo '<p>' . __('Wordpress encountered an error while trying to check for updates: ') . $update_status->get_error_message() . '</p>'; 
     128                echo '<p><a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Try Again' ) . '</a></p>'; 
    134129        } 
     130        else { 
     131                if ( $upgrade_error ) { 
     132                        echo '<div class="error"><p>'; 
     133                        if ( $upgrade_error == 'themes' ) 
     134                                _e('Please select one or more themes to update.'); 
     135                        else 
     136                                _e('Please select one or more plugins to update.'); 
     137                        echo '</p></div>'; 
     138                } 
     139                 
     140                $updates = get_core_updates(); 
    135141 
    136         echo '<p>'; 
    137         /* translators: %1 date, %2 time. */ 
    138         printf( __('Last checked on %1$s at %2$s.'), date_i18n( get_option( 'date_format' ) ), date_i18n( get_option( 'time_format' ) ) ); 
    139         echo ' &nbsp; <a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check Again' ) . '</a>'; 
    140         echo '</p>'; 
     142                if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) { 
     143                        echo '<h3>'; 
     144                        _e('You have the latest version of WordPress.'); 
     145                        echo '</h3>'; 
     146                        echo '<p><a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check again for new updates.' ) . '</a></p>'; 
     147                } else { 
     148                        echo '<div class="updated inline"><p>'; 
     149                        _e('<strong>Important:</strong> before updating, please <a href="http://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="http://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.'); 
     150                        echo '</p></div>'; 
    141151 
    142         if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) { 
    143                 echo '<h3>'; 
    144                 _e('You have the latest version of WordPress.'); 
    145                 echo '</h3>'; 
    146         } else { 
    147                 echo '<div class="updated inline"><p>'; 
    148                 _e('<strong>Important:</strong> before updating, please <a href="http://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="http://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.'); 
    149                 echo '</p></div>'; 
     152                        echo '<h3 class="response">'; 
     153                        _e( 'An updated version of WordPress is available.' ); 
     154                        echo '</h3>'; 
     155                } 
    150156 
    151                 echo '<h3 class="response">'; 
    152                 _e( 'An updated version of WordPress is available.' ); 
    153                 echo '</h3>'; 
    154         } 
     157                echo '<ul class="core-updates">'; 
     158                $alternate = true; 
     159                foreach( (array) $updates as $update ) { 
     160                        echo '<li>'; 
     161                        list_core_update( $update ); 
     162                        echo '</li>'; 
     163                } 
     164                echo '</ul>'; 
     165                echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>'; 
     166                dismissed_updates(); 
    155167 
    156         echo '<ul class="core-updates">'; 
    157         $alternate = true; 
    158         foreach( (array) $updates as $update ) { 
    159                 echo '<li>'; 
    160                 list_core_update( $update ); 
    161                 echo '</li>'; 
     168                if ( current_user_can( 'update_plugins' ) ) 
     169                        list_plugin_updates(); 
     170                if ( current_user_can( 'update_themes' ) ) 
     171                        list_theme_updates(); 
    162172        } 
    163         echo '</ul>'; 
    164         echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>'; 
    165         dismissed_updates(); 
    166  
    167         if ( current_user_can( 'update_plugins' ) ) 
    168                 list_plugin_updates(); 
    169         if ( current_user_can( 'update_themes' ) ) 
    170                 list_theme_updates(); 
    171173        do_action('core_upgrade_preamble'); 
    172174        echo '</div>'; 
    173175} 
     
    409411 
    410412if ( 'upgrade-core' == $action ) { 
    411413 
    412         wp_version_check(); 
     414        $checked_for_updates = wp_version_check(); 
    413415        require_once(ABSPATH . 'wp-admin/admin-header.php'); 
    414         core_upgrade_preamble(); 
     416         
     417        core_upgrade_preamble( $checked_for_updates ); 
    415418 
    416419} elseif ( 'do-core-upgrade' == $action || 'do-core-reinstall' == $action ) { 
    417420        check_admin_referer('upgrade-core'); 
  • wp-includes/update.php

     
    1818 * @uses $wp_version Used to check against the newest WordPress version. 
    1919 * 
    2020 * @return mixed Returns null if update is unsupported. Returns false if check is too soon. 
     21 * Returns WP_ERROR object if HTTP request failed. Returns true on successful fetch of update information. 
    2122 */ 
    2223function wp_version_check() { 
    2324        if ( defined('WP_INSTALLING') ) 
     
    6970        ); 
    7071 
    7172        $response = wp_remote_get($url, $options); 
    72  
     73         
    7374        if ( is_wp_error( $response ) ) 
    74                 return false; 
     75                return $response; 
    7576 
    7677        if ( 200 != $response['response']['code'] ) 
    7778                return false; 
     
    103104        $updates->last_checked = time(); 
    104105        $updates->version_checked = $wp_version; 
    105106        set_site_transient( 'update_core',  $updates); 
     107        return true; 
    106108} 
    107109 
    108110/**