Make WordPress Core

Ticket #16156: 16156.patch

File 16156.patch, 5.4 KB (added by solarissmoke, 13 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/**