X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/cd3609994b39a094ff7528b93f55631bb213fd7f..8d3bb1a5dcfdea9857d3c88c3751f09593e34dc8:/wp-admin/update-core.php diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php index 360bb91a..e123463b 100644 --- a/wp-admin/update-core.php +++ b/wp-admin/update-core.php @@ -7,10 +7,11 @@ */ /** 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() ) { @@ -18,15 +19,31 @@ if ( is_multisite() && ! is_network_admin() ) { exit(); } -if ( ! current_user_can( 'update_core' ) ) - wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); +if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_themes' ) && ! current_user_can( 'update_plugins' ) ) + wp_die( __( 'Sorry, you are not allowed to update this site.' ) ); +/** + * + * @global string $wp_local_package + * @global wpdb $wpdb + * @global string $wp_version + * + * @staticvar bool $first_pass + * + * @param object $update + */ 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; @@ -40,7 +57,7 @@ function list_core_update( $update ) { $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 { @@ -51,13 +68,13 @@ function list_core_update( $update ) { $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 ); + $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 ) - $message = sprintf( __('You cannot update because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.'), $update->current, $update->php_version, $php_version ); + $message = sprintf( __('You cannot update because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.'), $update->current, $update->php_version, $php_version ); elseif ( !$mysql_compat ) - $message = sprintf( __('You cannot update because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $update->current, $update->mysql_version, $mysql_version ); + $message = sprintf( __('You cannot update because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $update->current, $update->mysql_version, $mysql_version ); else - $message = sprintf(__('You can update to WordPress %2$s automatically or download the package and install it manually:'), $update->current, $version_string); + $message = sprintf(__('You can update to WordPress %2$s automatically or download the package and install it manually:'), $update->current, $version_string); if ( !$mysql_compat || !$php_compat ) $show_buttons = false; } @@ -74,7 +91,7 @@ function list_core_update( $update ) { echo ''; if ( $show_buttons ) { if ( $first_pass ) { - submit_button( $submit, $current ? 'button' : 'primary', 'upgrade', false ); + submit_button( $submit, $current ? 'button' : 'primary regular', 'upgrade', false ); $first_pass = false; } else { submit_button( $submit, 'button', 'upgrade', false ); @@ -89,13 +106,17 @@ 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 ''; } +/** + * @since 2.7.0 + */ function dismissed_updates() { $dismissed = get_core_updates( array( 'dismissed' => true, 'available' => false ) ); if ( $dismissed ) { @@ -114,7 +135,7 @@ function dismissed_updates() { '.__('Show hidden updates').'

'; echo '