X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/449d082fcc4873c1f7d363a0d9f7409be7f6e77d..ae01624bdce6b71c47e08e8a0287de58284a6b73:/wp-admin/update-core.php diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php index 25840099..3671915d 100644 --- a/wp-admin/update-core.php +++ b/wp-admin/update-core.php @@ -7,29 +7,49 @@ */ /** WordPress Administration Bootstrap */ -require_once('admin.php'); +require_once('./admin.php'); -if ( ! current_user_can('update_plugins') ) - wp_die(__('You do not have sufficient permissions to update plugins for this blog.')); +if ( is_multisite() && ! is_network_admin() ) { + wp_redirect( network_admin_url( 'update-core.php' ) ); + exit(); +} + +if ( ! current_user_can( 'update_core' ) ) + wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); function list_core_update( $update ) { - $version_string = 'en_US' == $update->locale ? + global $wp_local_package, $wpdb; + $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; - $submit = __('Upgrade Automatically'); + $submit = __('Update Automatically'); $form_action = 'update-core.php?action=do-core-upgrade'; + $php_version = phpversion(); + $mysql_version = $wpdb->db_version(); + $show_buttons = true; if ( 'development' == $update->response ) { - $message = __('You are using a development version of WordPress. You can upgrade 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 upgrade. 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(__('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); $submit = __('Re-install Automatically'); $form_action = 'update-core.php?action=do-core-reinstall'; } else { - $message = sprintf(__('You can upgrade to version %s automatically or download the package and install it manually:'), $version_string); + $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 ( !$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 ) + $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 ); + else + $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; } $download = sprintf(__('Download %s'), $version_string); } @@ -40,16 +60,23 @@ function list_core_update( $update ) { echo '
'; } @@ -58,8 +85,8 @@ function dismissed_updates() { $dismissed = get_core_updates( array( 'dismissed' => true, 'available' => false ) ); if ( $dismissed ) { - $show_text = js_escape(__('Show hidden updates')); - $hide_text = js_escape(__('Hide hidden updates')); + $show_text = esc_js(__('Show hidden updates')); + $hide_text = esc_js(__('Hide hidden updates')); ?>