X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/03f2fa83c13c1b532284205fa7efcab9b8b2c41f..16e7b37c7914d753890c1a05a9335f3b43751eb8:/wp-admin/update-core.php diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php index 0e698a57..c6c21ead 100644 --- a/wp-admin/update-core.php +++ b/wp-admin/update-core.php @@ -20,22 +20,23 @@ if ( is_multisite() && ! is_network_admin() ) { } 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.' ) ); + 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, $wp_version; + global $wp_local_package, $wpdb; static $first_pass = true; + $wp_version = get_bloginfo( 'version' ); + 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. @@ -53,11 +54,10 @@ 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:'); - $download = __('Download nightly build'); + $message = __('You are using a development version of WordPress. You can update to the latest nightly build automatically:'); } else { if ( $current ) { - $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 ); + $message = sprintf( __( 'If you need to re-install version %s, you can do so here:' ), $version_string ); $submit = __('Re-install Now'); $form_action = 'update-core.php?action=do-core-reinstall'; } else { @@ -68,17 +68,20 @@ function list_core_update( $update ) { $mysql_compat = version_compare( $mysql_version, $update->mysql_version, '>=' ); if ( !$mysql_compat && !$php_compat ) + /* translators: 1: WordPress version number, 2: Minimum required PHP version number, 3: Minimum required MySQL version number, 4: Current PHP version number, 5: Current MySQL version number */ $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 ) + /* translators: 1: WordPress version number, 2: Minimum required PHP version number, 3: Current PHP version number */ $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 ) + /* translators: 1: WordPress version number, 2: Minimum required MySQL version number, 3: Current MySQL version number */ $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); + /* translators: 1: WordPress version number, 2: WordPress version number including locale if necessary */ + $message = sprintf(__('You can update to WordPress %2$s automatically:'), $update->current, $version_string); if ( !$mysql_compat || !$php_compat ) $show_buttons = false; } - $download = sprintf(__('Download %s'), $version_string); } echo '

'; @@ -91,18 +94,17 @@ function list_core_update( $update ) { echo ''; if ( $show_buttons ) { if ( $first_pass ) { - submit_button( $submit, $current ? 'button' : 'primary regular', 'upgrade', false ); + submit_button( $submit, $current ? '' : 'primary regular', 'upgrade', false ); $first_pass = false; } else { - submit_button( $submit, 'button', 'upgrade', false ); + submit_button( $submit, '', 'upgrade', false ); } - echo ' ' . $download . ' '; } if ( 'en_US' != $update->locale ) if ( !isset( $update->dismissed ) || !$update->dismissed ) - submit_button( __('Hide this update'), 'button', 'dismiss', false ); + submit_button( __( 'Hide this update' ), '', 'dismiss', false ); else - submit_button( __('Bring back this update'), 'button', 'undismiss', false ); + submit_button( __( 'Bring back this update' ), '', 'undismiss', false ); 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.').'

'; @@ -149,13 +151,13 @@ function dismissed_updates() { * * @since 2.7.0 * - * @global string $wp_version * @global string $required_php_version * @global string $required_mysql_version */ function core_upgrade_preamble() { - global $wp_version, $required_php_version, $required_mysql_version; + global $required_php_version, $required_mysql_version; + $wp_version = get_bloginfo( 'version' ); $updates = get_core_updates(); if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) { @@ -213,14 +215,9 @@ function core_upgrade_preamble() { dismissed_updates(); } -/** - * - * @global string $wp_version - */ function list_plugin_updates() { - global $wp_version; - - $cur_wp_version = preg_replace('/-.*$/', '', $wp_version); + $wp_version = get_bloginfo( 'version' ); + $cur_wp_version = preg_replace( '/-.*$/', '', $wp_version ); require_once(ABSPATH . 'wp-admin/includes/plugin-install.php'); $plugins = get_plugin_updates(); @@ -242,55 +239,33 @@ function list_plugin_updates() {

- +
- - + + $plugin_data ) { - $info = plugins_api( 'plugin_information', array( - 'slug' => $plugin_data->update->slug, - 'fields' => array( - 'short_description' => false, - 'sections' => false, - 'requires' => false, - 'rating' => false, - 'ratings' => false, - 'downloaded' => false, - 'downloadlink' => false, - 'last_updated' => false, - 'added' => false, - 'tags' => false, - 'homepage' => false, - 'donate_link' => false, - ), - ) ); - - if ( is_wp_error( $info ) ) { - $info = false; - } - // Get plugin compat for running version of WordPress. - if ( isset($info->tested) && version_compare($info->tested, $cur_wp_version, '>=') ) { + if ( isset($plugin_data->update->tested) && version_compare($plugin_data->update->tested, $cur_wp_version, '>=') ) { $compat = '
' . sprintf(__('Compatibility with WordPress %1$s: 100%% (according to its author)'), $cur_wp_version); - } elseif ( isset($info->compatibility[$cur_wp_version][$plugin_data->update->new_version]) ) { - $compat = $info->compatibility[$cur_wp_version][$plugin_data->update->new_version]; - $compat = '
' . sprintf(__('Compatibility with WordPress %1$s: %2$d%% (%3$d "works" votes out of %4$d total)'), $cur_wp_version, $compat[0], $compat[2], $compat[1]); + } elseif ( isset($plugin_data->update->compatibility->{$cur_wp_version}) ) { + $compat = $plugin_data->update->compatibility->{$cur_wp_version}; + $compat = '
' . sprintf(__('Compatibility with WordPress %1$s: %2$d%% (%3$d "works" votes out of %4$d total)'), $cur_wp_version, $compat->percent, $compat->votes, $compat->total_votes); } else { $compat = '
' . sprintf(__('Compatibility with WordPress %1$s: Unknown'), $cur_wp_version); } // Get plugin compat for updated version of WordPress. if ( $core_update_version ) { - if ( isset( $info->tested ) && version_compare( $info->tested, $core_update_version, '>=' ) ) { + if ( isset( $plugin_data->update->tested ) && version_compare( $plugin_data->update->tested, $core_update_version, '>=' ) ) { $compat .= '
' . sprintf( __( 'Compatibility with WordPress %1$s: 100%% (according to its author)' ), $core_update_version ); - } elseif ( isset( $info->compatibility[ $core_update_version ][ $plugin_data->update->new_version ] ) ) { - $update_compat = $info->compatibility[$core_update_version][$plugin_data->update->new_version]; - $compat .= '
' . sprintf(__('Compatibility with WordPress %1$s: %2$d%% (%3$d "works" votes out of %4$d total)'), $core_update_version, $update_compat[0], $update_compat[2], $update_compat[1]); + } elseif ( isset( $plugin_data->update->compatibility->{$core_update_version} ) ) { + $update_compat = $plugin_data->update->compatibility->{$core_update_version}; + $compat .= '
' . sprintf(__('Compatibility with WordPress %1$s: %2$d%% (%3$d "works" votes out of %4$d total)'), $core_update_version, $update_compat->percent, $update_compat->votes, $update_compat->total_votes); } else { $compat .= '
' . sprintf(__('Compatibility with WordPress %1$s: Unknown'), $core_update_version); } @@ -303,22 +278,48 @@ function list_plugin_updates() { } $details_url = self_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin_data->update->slug . '§ion=changelog&TB_iframe=true&width=640&height=662'); - $details_text = sprintf(__('View version %1$s details.'), $plugin_data->update->new_version); - $details = sprintf('%3$s', esc_url($details_url), esc_attr($plugin_data->Name), $details_text); - - echo " - - - - "; + $details = sprintf( + '%3$s', + esc_url( $details_url ), + /* translators: 1: plugin name, 2: version number */ + esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $plugin_data->Name, $plugin_data->update->new_version ) ), + /* translators: %s: plugin version */ + sprintf( __( 'View version %s details.' ), $plugin_data->update->new_version ) + ); + + $checkbox_id = "checkbox_" . md5( $plugin_data->Name ); + ?> + + + + + - - + +

{$plugin_data->Name}
" . sprintf(__('You have version %1$s installed. Update to %2$s.'), $plugin_data->Version, $plugin_data->update->new_version) . ' ' . $details . $compat . $upgrade_notice . "

+ + +

+ Name; ?> + Version, + $plugin_data->update->new_version + ); + echo ' ' . $details . $compat . $upgrade_notice; + ?> +

@@ -346,30 +347,50 @@ function list_theme_updates() {

- +
- - + + $theme ) { - echo " - - - - "; + $checkbox_id = 'checkbox_' . md5( $theme->get( 'Name' ) ); + ?> + + + + + - - + +
" . $theme->display('Name') . ' ' . sprintf( __( 'You have version %1$s installed. Update to %2$s.' ), $theme->display('Version'), $theme->update['new_version'] ) . "
+ + +

+ + display( 'Name' ); ?> + display( 'Version' ), + $theme->update['new_version'] + ); + ?> +

@@ -468,7 +489,7 @@ function do_core_upgrade( $reinstall = false ) { if ( is_wp_error($result) ) { show_message($result); - if ('up_to_date' != $result->get_error_code() ) + if ( 'up_to_date' != $result->get_error_code() && 'locked' != $result->get_error_code() ) show_message( __('Installation Failed') ); echo ''; return; @@ -549,8 +570,8 @@ get_current_screen()->add_help_tab( array( get_current_screen()->set_help_sidebar( '

' . __('For more information:') . '

' . - '

' . __( 'Documentation on Updating WordPress' ) . '

' . - '

' . __( 'Support Forums' ) . '

' + '

' . __( 'Documentation on Updating WordPress' ) . '

' . + '

' . __( 'Support Forums' ) . '

' ); if ( 'upgrade-core' == $action ) { @@ -572,9 +593,16 @@ if ( 'upgrade-core' == $action ) { echo '

'; } + $last_update_check = false; + $current = get_site_transient( 'update_core' ); + + if ( $current && isset ( $current->last_checked ) ) { + $last_update_check = $current->last_checked + get_option( 'gmt_offset' ) * HOUR_IN_SECONDS; + } + 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' ) ) ); + printf( __( 'Last checked on %1$s at %2$s.' ), date_i18n( __( 'F j, Y' ), $last_update_check ), date_i18n( __( 'g:i a' ), $last_update_check ) ); echo '   ' . __( 'Check Again' ) . ''; echo '

'; @@ -594,12 +622,17 @@ if ( 'upgrade-core' == $action ) { */ do_action( 'core_upgrade_preamble' ); echo ''; + + wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( + 'totals' => wp_get_update_data(), + ) ); + include(ABSPATH . 'wp-admin/admin-footer.php'); } elseif ( 'do-core-upgrade' == $action || 'do-core-reinstall' == $action ) { if ( ! current_user_can( 'update_core' ) ) - wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); + wp_die( __( 'Sorry, you are not allowed to update this site.' ) ); check_admin_referer('upgrade-core'); @@ -618,12 +651,16 @@ if ( 'upgrade-core' == $action ) { if ( isset( $_POST['upgrade'] ) ) do_core_upgrade($reinstall); + wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( + 'totals' => wp_get_update_data(), + ) ); + include(ABSPATH . 'wp-admin/admin-footer.php'); } elseif ( 'do-plugin-upgrade' == $action ) { if ( ! current_user_can( 'update_plugins' ) ) - wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); + wp_die( __( 'Sorry, you are not allowed to update this site.' ) ); check_admin_referer('upgrade-core'); @@ -644,14 +681,19 @@ if ( 'upgrade-core' == $action ) { require_once(ABSPATH . 'wp-admin/admin-header.php'); echo '
'; echo '

' . __( 'Update Plugins' ) . '

'; - echo ''; + echo ''; echo '
'; + + wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( + 'totals' => wp_get_update_data(), + ) ); + include(ABSPATH . 'wp-admin/admin-footer.php'); } elseif ( 'do-theme-upgrade' == $action ) { if ( ! current_user_can( 'update_themes' ) ) - wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); + wp_die( __( 'Sorry, you are not allowed to update this site.' ) ); check_admin_referer('upgrade-core'); @@ -673,15 +715,20 @@ if ( 'upgrade-core' == $action ) { ?>

- +
wp_get_update_data(), + ) ); + include(ABSPATH . 'wp-admin/admin-footer.php'); } elseif ( 'do-translation-upgrade' == $action ) { if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_plugins' ) && ! current_user_can( 'update_themes' ) ) - wp_die( __( 'You do not have sufficient permissions to update this site.' ) ); + wp_die( __( 'Sorry, you are not allowed to update this site.' ) ); check_admin_referer( 'upgrade-translations' ); @@ -696,6 +743,10 @@ if ( 'upgrade-core' == $action ) { $upgrader = new Language_Pack_Upgrader( new Language_Pack_Upgrader_Skin( compact( 'url', 'nonce', 'title', 'context' ) ) ); $result = $upgrader->bulk_upgrade(); + wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( + 'totals' => wp_get_update_data(), + ) ); + require_once( ABSPATH . 'wp-admin/admin-footer.php' ); } else {