You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
160 lines
5.4 KiB
160 lines
5.4 KiB
<?php |
|
/** |
|
* Upgrade WordPress Page. |
|
* |
|
* @package WordPress |
|
* @subpackage Administration |
|
*/ |
|
|
|
/** |
|
* We are upgrading WordPress. |
|
* |
|
* @since 1.5.1 |
|
* @var bool |
|
*/ |
|
define( 'WP_INSTALLING', true ); |
|
|
|
/** Load WordPress Bootstrap */ |
|
require( dirname( dirname( __FILE__ ) ) . '/wp-load.php' ); |
|
|
|
nocache_headers(); |
|
|
|
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
|
|
delete_site_transient( 'update_core' ); |
|
|
|
if ( isset( $_GET['step'] ) ) { |
|
$step = $_GET['step']; |
|
} else { |
|
$step = 0; |
|
} |
|
|
|
// Do it. No output. |
|
if ( 'upgrade_db' === $step ) { |
|
wp_upgrade(); |
|
die( '0' ); |
|
} |
|
|
|
/** |
|
* @global string $wp_version |
|
* @global string $required_php_version |
|
* @global string $required_mysql_version |
|
*/ |
|
global $wp_version, $required_php_version, $required_mysql_version; |
|
|
|
$step = (int) $step; |
|
|
|
$php_version = phpversion(); |
|
$mysql_version = $wpdb->db_version(); |
|
$php_compat = version_compare( $php_version, $required_php_version, '>=' ); |
|
if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) ) { |
|
$mysql_compat = true; |
|
} else { |
|
$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ); |
|
} |
|
|
|
header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) ); |
|
?> |
|
<!DOCTYPE html> |
|
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> |
|
<head> |
|
<meta name="viewport" content="width=device-width" /> |
|
<meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php echo get_option( 'blog_charset' ); ?>" /> |
|
<meta name="robots" content="noindex,nofollow" /> |
|
<title><?php _e( 'WordPress › Update' ); ?></title> |
|
<?php |
|
wp_admin_css( 'install', true ); |
|
wp_admin_css( 'ie', true ); |
|
?> |
|
</head> |
|
<body class="wp-core-ui"> |
|
<p id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></p> |
|
|
|
<?php if ( get_option( 'db_version' ) == $wp_db_version || ! is_blog_installed() ) : ?> |
|
|
|
<h1><?php _e( 'No Update Required' ); ?></h1> |
|
<p><?php _e( 'Your WordPress database is already up to date!' ); ?></p> |
|
<p class="step"><a class="button button-large" href="<?php echo get_option( 'home' ); ?>/"><?php _e( 'Continue' ); ?></a></p> |
|
|
|
<?php |
|
elseif ( ! $php_compat || ! $mysql_compat ) : |
|
$version_url = sprintf( |
|
/* translators: %s: WordPress version. */ |
|
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ), |
|
sanitize_title( $wp_version ) |
|
); |
|
|
|
/* translators: %s: URL to Update PHP page. */ |
|
$php_update_message = '</p><p>' . sprintf( __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); |
|
|
|
$annotation = wp_get_update_php_annotation(); |
|
if ( $annotation ) { |
|
$php_update_message .= '</p><p><em>' . $annotation . '</em>'; |
|
} |
|
|
|
if ( ! $mysql_compat && ! $php_compat ) { |
|
$message = sprintf( |
|
/* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Minimum required MySQL version number, 5: Current PHP version number, 6: Current MySQL version number. */ |
|
__( 'You cannot update because <a href="%1$s">WordPress %2$s</a> requires PHP version %3$s or higher and MySQL version %4$s or higher. You are running PHP version %5$s and MySQL version %6$s.' ), |
|
$version_url, |
|
$wp_version, |
|
$required_php_version, |
|
$required_mysql_version, |
|
$php_version, |
|
$mysql_version |
|
) . $php_update_message; |
|
} elseif ( ! $php_compat ) { |
|
$message = sprintf( |
|
/* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Current PHP version number. */ |
|
__( 'You cannot update because <a href="%1$s">WordPress %2$s</a> requires PHP version %3$s or higher. You are running version %4$s.' ), |
|
$version_url, |
|
$wp_version, |
|
$required_php_version, |
|
$php_version |
|
) . $php_update_message; |
|
} elseif ( ! $mysql_compat ) { |
|
$message = sprintf( |
|
/* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required MySQL version number, 4: Current MySQL version number. */ |
|
__( 'You cannot update because <a href="%1$s">WordPress %2$s</a> requires MySQL version %3$s or higher. You are running version %4$s.' ), |
|
$version_url, |
|
$wp_version, |
|
$required_mysql_version, |
|
$mysql_version |
|
); |
|
} |
|
|
|
echo '<p>' . $message . '</p>'; |
|
?> |
|
<?php |
|
else : |
|
switch ( $step ) : |
|
case 0: |
|
$goback = wp_get_referer(); |
|
if ( $goback ) { |
|
$goback = esc_url_raw( $goback ); |
|
$goback = urlencode( $goback ); |
|
} |
|
?> |
|
<h1><?php _e( 'Database Update Required' ); ?></h1> |
|
<p><?php _e( 'WordPress has been updated! Before we send you on your way, we have to update your database to the newest version.' ); ?></p> |
|
<p><?php _e( 'The database update process may take a little while, so please be patient.' ); ?></p> |
|
<p class="step"><a class="button button-large button-primary" href="upgrade.php?step=1&backto=<?php echo $goback; ?>"><?php _e( 'Update WordPress Database' ); ?></a></p> |
|
<?php |
|
break; |
|
case 1: |
|
wp_upgrade(); |
|
|
|
$backto = ! empty( $_GET['backto'] ) ? wp_unslash( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/'; |
|
$backto = esc_url( $backto ); |
|
$backto = wp_validate_redirect( $backto, __get_option( 'home' ) . '/' ); |
|
?> |
|
<h1><?php _e( 'Update Complete' ); ?></h1> |
|
<p><?php _e( 'Your WordPress database has been successfully updated!' ); ?></p> |
|
<p class="step"><a class="button button-large" href="<?php echo $backto; ?>"><?php _e( 'Continue' ); ?></a></p> |
|
<?php |
|
break; |
|
endswitch; |
|
endif; |
|
?> |
|
</body> |
|
</html>
|
|
|