From f597bae65238afc89f1504abb0e7c85c4ab0eafd Mon Sep 17 00:00:00 2001
From: ryan
Date: Thu, 6 Nov 2008 03:31:41 +0000
Subject: [PATCH] More core update to update-core.php. Allow re-installing
current version (requires api.wp.org changes)
git-svn-id: http://svn.automattic.com/wordpress/trunk@9543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
---
wp-admin/includes/update.php | 10 +-
wp-admin/menu.php | 2 +-
wp-admin/update-core.php | 215 +++++++++++++++++++++++++++++++++++
wp-admin/update.php | 191 +------------------------------
4 files changed, 222 insertions(+), 196 deletions(-)
create mode 100644 wp-admin/update-core.php
diff --git a/wp-admin/includes/update.php b/wp-admin/includes/update.php
index f9daafb112..a036542d8e 100644
--- a/wp-admin/includes/update.php
+++ b/wp-admin/includes/update.php
@@ -94,12 +94,12 @@ function core_update_footer( $msg = '' ) {
switch ( $cur->response ) {
case 'development' :
- return sprintf( __( 'You are using a development version (%1$s). Cool! Please stay updated.' ), $GLOBALS['wp_version'], 'update.php?action=upgrade-core');
+ return sprintf( __( 'You are using a development version (%1$s). Cool! Please stay updated.' ), $GLOBALS['wp_version'], 'update-core.php');
break;
case 'upgrade' :
if ( current_user_can('manage_options') ) {
- return sprintf( ''.__( 'Get Version %2$s' ).'', wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core'), $cur->current);
+ return sprintf( ''.__( 'Get Version %2$s' ).'', 'update-core.php', $cur->current);
break;
}
@@ -118,7 +118,7 @@ function update_nag() {
return false;
if ( current_user_can('manage_options') )
- $msg = sprintf( __('WordPress %1$s is available! Please update now.'), $cur->current, 'update.php?action=upgrade-core' );
+ $msg = sprintf( __('WordPress %1$s is available! Please update now.'), $cur->current, 'update-core.php' );
else
$msg = sprintf( __('WordPress %1$s is available! Please notify the site administrator.'), $cur->current );
@@ -132,7 +132,7 @@ function update_right_now_message() {
$msg = sprintf( __('You are using WordPress %s.'), $GLOBALS['wp_version'] );
if ( isset( $cur->response ) && $cur->response == 'upgrade' && current_user_can('manage_options') )
- $msg .= " " . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '';
+ $msg .= " " . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '';
echo "$msg";
}
@@ -479,7 +479,7 @@ function maintenance_nag() {
return false;
if ( current_user_can('manage_options') )
- $msg = sprintf( __('An automated WordPress update has failed to complete - please attempt the update again now.'), 'update.php?action=upgrade-core' );
+ $msg = sprintf( __('An automated WordPress update has failed to complete - please attempt the update again now.'), 'update-core.php' );
else
$msg = __('An automated WordPress update has failed to complete! Please notify the site administrator.');
diff --git a/wp-admin/menu.php b/wp-admin/menu.php
index a398358b93..b7e4c6fff1 100644
--- a/wp-admin/menu.php
+++ b/wp-admin/menu.php
@@ -91,7 +91,7 @@ $menu[45] = array( __('Tools'), 'manage_options', 'import.php', '', '', 'menu-to
$submenu['import.php'][10] = array( __('Export'), 'import', 'export.php' );
if ( ! $is_opera )
$submenu['import.php'][20] = array( __('Turbo'), 'read', 'turbo.php' );
- $submenu['import.php'][30] = array( __('Update'), 'read', wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core'));
+ $submenu['import.php'][30] = array( __('Update'), 'read', 'update-core.php');
$menu[50] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top-last', 'menu-settings', 'images/menu/settings.png' );
$submenu['options-general.php'][10] = array(__('General'), 'manage_options', 'options-general.php');
diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php
new file mode 100644
index 0000000000..007046c978
--- /dev/null
+++ b/wp-admin/update-core.php
@@ -0,0 +1,215 @@
+locale ?
+ $update->current : sprintf("%s–%s", $update->current, $update->locale);
+ $current = false;
+ if ( !isset($update->response) || 'latest' == $update->response )
+ $current = true;
+ $submit = __('Upgrade Automatically');
+ 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:');
+ $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);
+ $submit = __('Re-install Automatically');
+ } else {
+ $message = sprintf(__('You can upgrade to version %s automatically or download the package and install it manually:'), $version_string);
+ }
+ $download = sprintf(__('Download %s'), $version_string);
+ }
+
+ echo '';
+ echo $message;
+ echo '
';
+ echo '';
+
+}
+
+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 hidden updates').'
';
+ echo '';
+ foreach($dismissed as $update) {
+ echo '- ';
+ list_core_update( $update );
+ echo '
';
+ }
+ echo '
';
+ }
+}
+
+/**
+ * Display upgrade WordPress for downloading latest or upgrading automatically form.
+ *
+ * @since 2.7
+ *
+ * @return null
+ */
+function core_upgrade_preamble() {
+ $updates = get_core_updates();
+
+ echo '';
+ echo '
' . __('Upgrade WordPress') . '
';
+
+ if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
+ echo '';
+ _e('You have the latest version of WordPress. You do not need to upgrade');
+ echo '
';
+ dismissed_updates();
+ echo '';
+ } else {
+ echo '';
+
+ echo '';
+ _e( 'There is a new version of WordPress available for upgrade' );
+ echo '
';
+ }
+
+ echo '';
+ $alternate = true;
+ foreach( $updates as $update ) {
+ $class = $alternate? ' class="alternate"' : '';
+ $alternate = !$alternate;
+ echo "- ";
+ list_core_update( $update );
+ echo '
';
+ }
+ echo '
';
+ dismissed_updates();
+ echo '';
+}
+
+
+/**
+ * Upgrade WordPress core display.
+ *
+ * @since 2.7
+ *
+ * @return null
+ */
+function do_core_upgrade() {
+ global $wp_filesystem;
+
+ $url = wp_nonce_url('update-core.php?action=do-core-upgrade', 'upgrade-core');
+ if ( false === ($credentials = request_filesystem_credentials($url)) )
+ return;
+
+ $version = isset( $_POST['version'] )? $_POST['version'] : false;
+ $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
+ $update = find_core_update( $version, $locale );
+ if ( !$update )
+ return;
+
+
+ if ( ! WP_Filesystem($credentials) ) {
+ request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
+ return;
+ }
+
+ echo '';
+ echo '
' . __('Upgrade WordPress') . '
';
+ if ( $wp_filesystem->errors->get_error_code() ) {
+ foreach ( $wp_filesystem->errors->get_error_messages() as $message )
+ show_message($message);
+ echo '';
+ return;
+ }
+
+ $result = wp_update_core($update, 'show_message');
+
+ if ( is_wp_error($result) ) {
+ show_message($result);
+ if ('up_to_date' != $result->get_error_code() )
+ show_message( __('Installation Failed') );
+ } else {
+ show_message( __('WordPress upgraded successfully') );
+ }
+ echo '';
+}
+
+function do_dismiss_core_update() {
+ $version = isset( $_POST['version'] )? $_POST['version'] : false;
+ $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
+ $update = find_core_update( $version, $locale );
+ if ( !$update )
+ return;
+ dismiss_core_update( $update );
+ wp_redirect( wp_nonce_url('update-core.php?action=upgrade-core', 'upgrade-core') );
+}
+
+function do_undismiss_core_update() {
+ $version = isset( $_POST['version'] )? $_POST['version'] : false;
+ $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
+ $update = find_core_update( $version, $locale );
+ if ( !$update )
+ return;
+ undismiss_core_update( $version, $locale );
+ wp_redirect( wp_nonce_url('update-core.php?action=upgrade-core', 'upgrade-core') );
+}
+
+$action = isset($_GET['action']) ? $_GET['action'] : 'upgrade-core';
+
+if ( 'upgrade-core' == $action ) {
+ $title = __('Upgrade WordPress');
+ $parent_file = 'index.php';
+ require_once('admin-header.php');
+ core_upgrade_preamble();
+ include('admin-footer.php');
+} elseif ( 'do-core-upgrade' == $action ) {
+ check_admin_referer('upgrade-core');
+ $title = __('Upgrade WordPress');
+ $parent_file = 'index.php';
+ // do the (un)dismiss actions before headers,
+ // so that they can redirect
+ if ( isset( $_POST['dismiss'] ) )
+ do_dismiss_core_update();
+ elseif ( isset( $_POST['undismiss'] ) )
+ do_undismiss_core_update();
+ require_once('admin-header.php');
+ if ( isset( $_POST['upgrade'] ) )
+ do_core_upgrade();
+ include('admin-footer.php');
+}?>
\ No newline at end of file
diff --git a/wp-admin/update.php b/wp-admin/update.php
index 4ecb837175..7ed10489cb 100644
--- a/wp-admin/update.php
+++ b/wp-admin/update.php
@@ -1,6 +1,6 @@
';
}
-function list_core_update( $update ) {
- $version_string = 'en_US' == $update->locale?
- $update->current : sprintf("%s–%s", $update->current, $update->locale);
- 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:');
- $submit = __('Download nightly build');
- } else {
- $message = sprintf(__('You can upgrade to version %s automatically or download the package and install it manually:'), $version_string);
- $submit = sprintf(__('Download %s'), $version_string);
- }
-
- echo '';
- echo $message;
- echo '
';
- echo '';
-
-}
-
-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 hidden updates').'';
- echo '';
- foreach($dismissed as $update) {
- echo '- ';
- list_core_update( $update );
- echo '
';
- }
- echo '
';
- }
-}
-
-/**
- * Display upgrade WordPress for downloading latest or upgrading automatically form.
- *
- * @since 2.7
- *
- * @return null
- */
-function core_upgrade_preamble() {
- $updates = get_core_updates();
-
- echo '';
- echo '
' . __('Upgrade WordPress') . '
';
-
- if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
- echo '';
- _e('You have the latest version of WordPress. You do not need to upgrade');
- echo '
';
- dismissed_updates();
- echo '';
- return;
- }
-
- echo '';
-
- echo '';
- _e( 'There is a new version of WordPress available for upgrade' );
- echo '
';
- echo '';
- $alternate = true;
- foreach( $updates as $update ) {
- $class = $alternate? ' class="alternate"' : '';
- $alternate = !$alternate;
- echo "- ";
- list_core_update( $update );
- echo '
';
- }
- echo '
';
- dismissed_updates();
- echo '';
-}
-
-
-/**
- * Upgrade WordPress core display.
- *
- * @since 2.7
- *
- * @return null
- */
-function do_core_upgrade() {
- global $wp_filesystem;
-
- $url = wp_nonce_url('update.php?action=do-core-upgrade', 'upgrade-core');
- if ( false === ($credentials = request_filesystem_credentials($url)) )
- return;
-
- $version = isset( $_POST['version'] )? $_POST['version'] : false;
- $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
- $update = find_core_update( $version, $locale );
- if ( !$update )
- return;
-
-
- if ( ! WP_Filesystem($credentials) ) {
- request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
- return;
- }
-
- echo '';
- echo '
' . __('Upgrade WordPress') . '
';
- if ( $wp_filesystem->errors->get_error_code() ) {
- foreach ( $wp_filesystem->errors->get_error_messages() as $message )
- show_message($message);
- echo '';
- return;
- }
-
- $result = wp_update_core($update, 'show_message');
-
- if ( is_wp_error($result) ) {
- show_message($result);
- if ('up_to_date' != $result->get_error_code() )
- show_message( __('Installation Failed') );
- } else {
- show_message( __('WordPress upgraded successfully') );
- }
- echo '';
-}
-
-function do_dismiss_core_update() {
- $version = isset( $_POST['version'] )? $_POST['version'] : false;
- $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
- $update = find_core_update( $version, $locale );
- if ( !$update )
- return;
- dismiss_core_update( $update );
- wp_redirect( wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core') );
-}
-
-function do_undismiss_core_update() {
- $version = isset( $_POST['version'] )? $_POST['version'] : false;
- $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
- $update = find_core_update( $version, $locale );
- if ( !$update )
- return;
- undismiss_core_update( $version, $locale );
- wp_redirect( wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core') );
-}
-
if ( isset($_GET['action']) ) {
$plugin = isset($_GET['plugin']) ? trim($_GET['plugin']) : '';
$theme = isset($_REQUEST['theme']) ? urldecode($_REQUEST['theme']) : '';
@@ -322,26 +153,6 @@ if ( isset($_GET['action']) ) {
include(WP_PLUGIN_DIR . '/' . $plugin);
}
iframe_footer();
- } elseif ( 'upgrade-core' == $action ) {
- $title = __('Upgrade WordPress');
- $parent_file = 'index.php';
- require_once('admin-header.php');
- core_upgrade_preamble();
- include('admin-footer.php');
- } elseif ( 'do-core-upgrade' == $action ) {
- check_admin_referer('upgrade-core');
- $title = __('Upgrade WordPress');
- $parent_file = 'index.php';
- // do the (un)dismiss actions before headers,
- // so that they can redirect
- if ( isset( $_POST['dismiss'] ) )
- do_dismiss_core_update();
- elseif ( isset( $_POST['undismiss'] ) )
- do_undismiss_core_update();
- require_once('admin-header.php');
- if ( isset( $_POST['upgrade'] ) )
- do_core_upgrade();
- include('admin-footer.php');
} elseif ( 'upgrade-theme' == $action ) {
check_admin_referer('upgrade-theme_' . $theme);
$title = __('Upgrade Theme');