X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/wordpress.git/blobdiff_plain/b3ddbea8a296025a672b3c3ddca158dc51ed8080..48ab98cb1779cf2088c1351ac3dd3d0da6fb31d3:/wp-admin/update-core.php diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php index 85c70a41..f88025e0 100644 --- a/wp-admin/update-core.php +++ b/wp-admin/update-core.php @@ -7,22 +7,33 @@ */ /** WordPress Administration Bootstrap */ -require_once('./admin.php'); +require_once( dirname( __FILE__ ) . '/admin.php' ); + +wp_enqueue_style( 'plugin-install' ); +wp_enqueue_script( 'plugin-install' ); +wp_enqueue_script( 'updates' ); +add_thickbox(); if ( is_multisite() && ! is_network_admin() ) { wp_redirect( network_admin_url( 'update-core.php' ) ); exit(); } -if ( ! current_user_can( 'update_core' ) ) +if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_themes' ) && ! current_user_can( 'update_plugins' ) ) wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); function list_core_update( $update ) { - global $wp_local_package, $wpdb; - static $first_pass = true; + global $wp_local_package, $wpdb, $wp_version; + static $first_pass = true; + + if ( 'en_US' == $update->locale && 'en_US' == get_locale() ) + $version_string = $update->current; + // If the only available update is a partial builds, it doesn't need a language-specific version string. + elseif ( 'en_US' == $update->locale && $update->packages->partial && $wp_version == $update->partial_version && ( $updates = get_core_updates() ) && 1 == count( $updates ) ) + $version_string = $update->current; + else + $version_string = sprintf( "%s–%s", $update->current, $update->locale ); - $version_string = ('en_US' == $update->locale && 'en_US' == get_locale() ) ? - $update->current : sprintf("%s–%s", $update->current, $update->locale); $current = false; if ( !isset($update->response) || 'latest' == $update->response ) $current = true; @@ -32,16 +43,20 @@ function list_core_update( $update ) { $mysql_version = $wpdb->db_version(); $show_buttons = true; if ( 'development' == $update->response ) { - $message = __('You are using a development version of WordPress. You can update to the latest nightly build automatically or download the nightly build and install it manually:'); + $message = __('You are using a development version of WordPress. You can update to the latest nightly build automatically or download the nightly build and install it manually:'); $download = __('Download nightly build'); } else { if ( $current ) { - $message = sprintf(__('You have the latest version of WordPress. You do not need to update. However, if you want to re-install version %s, you can do so automatically or download the package and re-install manually:'), $version_string); + $message = sprintf( __( 'If you need to re-install version %s, you can do so here or download the package and re-install manually:' ), $version_string ); $submit = __('Re-install Now'); $form_action = 'update-core.php?action=do-core-reinstall'; } else { $php_compat = version_compare( $php_version, $update->php_version, '>=' ); - $mysql_compat = version_compare( $mysql_version, $update->mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); + if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) ) + $mysql_compat = true; + else + $mysql_compat = version_compare( $mysql_version, $update->mysql_version, '>=' ); + if ( !$mysql_compat && !$php_compat ) $message = sprintf( __('You cannot update because WordPress %1$s requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $update->current, $update->php_version, $update->mysql_version, $php_version, $mysql_version ); elseif ( !$php_compat ) @@ -66,7 +81,7 @@ function list_core_update( $update ) { echo ''; if ( $show_buttons ) { if ( $first_pass ) { - submit_button( $submit, 'button button-primary', 'upgrade', false ); + submit_button( $submit, $current ? 'button' : 'primary regular', 'upgrade', false ); $first_pass = false; } else { submit_button( $submit, 'button', 'upgrade', false ); @@ -81,7 +96,8 @@ function list_core_update( $update ) { echo '
'; if ( 'en_US' != $update->locale && ( !isset($wp_local_package) || $wp_local_package != $update->locale ) ) echo ''.__('This localized version contains both the translation and various other localization fixes. You can skip upgrading if you want to keep your current translation.').'
'; - else if ( 'en_US' == $update->locale && get_locale() != 'en_US' ) { + // Partial builds don't need language-specific warnings. + elseif ( 'en_US' == $update->locale && get_locale() != 'en_US' && ( ! $update->packages->partial && $wp_version == $update->partial_version ) ) { echo ''.sprintf( __('You are about to install WordPress %s in English (US). There is a chance this update will break your translation. You may prefer to wait for the localized version to be released.'), $update->response != 'development' ? $update->current : '' ).'
'; } echo ''; @@ -118,37 +134,32 @@ function dismissed_updates() { /** * Display upgrade WordPress for downloading latest or upgrading automatically form. * - * @since 2.7 + * @since 2.7.0 * * @return null */ function core_upgrade_preamble() { - global $upgrade_error; + global $wp_version, $required_php_version, $required_mysql_version; $updates = get_core_updates(); -?> -'; - if ( $upgrade_error == 'themes' ) - _e('Please select one or more themes to update.'); - else - _e('Please select one or more plugins to update.'); - echo '
'; - /* translators: %1 date, %2 time. */ - printf( __('Last checked on %1$s at %2$s.'), date_i18n( get_option( 'date_format' ) ), date_i18n( get_option( 'time_format' ) ) ); - echo ' ' . __( 'Check Again' ) . ''; - echo '
'; if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) { echo ''; @@ -160,23 +171,31 @@ function core_upgrade_preamble() { echo ''; } + if ( isset( $updates[0] ) && $updates[0]->response == 'development' ) { + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; + $upgrader = new WP_Automatic_Updater; + if ( wp_http_supports( 'ssl' ) && $upgrader->should_update( 'core', $updates[0], ABSPATH ) ) { + echo '
'; + echo '' . __( 'BETA TESTERS:' ) . ' ' . __( 'This site is set up to install updates of future beta versions automatically.' ); + echo '
' . __( '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.' ) . '
'; + // Don't show the maintenance mode notice when we are only showing a single re-install option. + if ( $updates && ( count( $updates ) > 1 || $updates[0]->response != 'latest' ) ) { + echo '' . __( '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.' ) . '
'; + } elseif ( ! $updates ) { + list( $normalized_version ) = explode( '-', $wp_version ); + echo '' . sprintf( __( 'Learn more about WordPress %s.' ), esc_url( self_admin_url( 'about.php' ) ), $normalized_version ) . '
'; + } dismissed_updates(); - - if ( current_user_can( 'update_plugins' ) ) - list_plugin_updates(); - if ( current_user_can( 'update_themes' ) ) - list_theme_updates(); - do_action('core_upgrade_preamble'); - echo '