WordPress 4.3
[autoinstalls/wordpress.git] / wp-admin / upgrade.php
index 3c30d940a4c568e07bef1bfb4bef6549fdc9d9c3..53c1d17012d1ecaafef87a6450f42d041eb35995 100644 (file)
 <?php
-define('WP_INSTALLING', true);
-if (!file_exists('../wp-config.php')) die("There doesn't seem to be a wp-config.php file. Double check that you updated wp-config-sample.php with the proper database connection information and renamed it to wp-config.php.");
-require('../wp-config.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();
+
 timer_start();
-require_once(ABSPATH . '/wp-admin/upgrade-functions.php');
+require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
+
+delete_site_transient('update_core');
+
+if ( isset( $_GET['step'] ) )
+       $step = $_GET['step'];
+else
+       $step = 0;
 
-$step = $_GET['step'];
-if (!$step) $step = 0;
-header( 'Content-Type: text/html; charset=utf-8' );
+// 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 wpdb   $wpdb
+ */
+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 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
 <head>
-       <title>WordPress &rsaquo; Upgrade</title>
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-       <style media="screen" type="text/css">
-       <!--
-       html {
-               background: #eee;
-       }
-       body {
-               background: #fff;
-               color: #000;
-               font-family: Georgia, "Times New Roman", Times, serif;
-               margin-left: 20%;
-               margin-right: 20%;
-               padding: .2em 2em;
-       }
-       
-       h1 {
-               color: #006;
-               font-size: 18px;
-               font-weight: lighter;
-       }
-       
-       h2 {
-               font-size: 16px;
-       }
-       
-       p, li, dt {
-               line-height: 140%;
-               padding-bottom: 2px;
-       }
-
-       ul, ol {
-               padding: 5px 5px 5px 20px;
-       }
-       #logo {
-               margin-bottom: 2em;
-       }
-.step a, .step input {
-       font-size: 2em;
-}
-.step, th {
-       text-align: right;
-}
-#footer {
-text-align: center; border-top: 1px solid #ccc; padding-top: 1em; font-style: italic;
-}
-       -->
-       </style>
+       <meta name="viewport" content="width=device-width" />
+       <meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php echo get_option( 'blog_charset' ); ?>" />
+       <title><?php _e( 'WordPress &rsaquo; Update' ); ?></title>
+       <?php
+       wp_admin_css( 'install', true );
+       wp_admin_css( 'ie', true );
+       ?>
 </head>
-<body>
-<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
-<?php
-switch($step) {
+<body class="wp-core-ui">
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
 
+<?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
+
+<h2><?php _e( 'No Update Required' ); ?></h2>
+<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 ) :
+       if ( !$mysql_compat && !$php_compat )
+               printf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> 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.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
+       elseif ( !$php_compat )
+               printf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version );
+       elseif ( !$mysql_compat )
+               printf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version );
+?>
+<?php else :
+switch ( $step ) :
        case 0:
-       $goback = wp_specialchars(wp_get_referer());
-?> 
-<p><?php _e('This file upgrades you from any previous version of WordPress to the latest. It may take a while though, so be patient.'); ?></p> 
-       <h2 class="step"><a href="upgrade.php?step=1&amp;backto=<?php echo $goback; ?>"><?php _e('Upgrade WordPress &raquo;'); ?></a></h2>
+               $goback = wp_get_referer();
+               if ( $goback ) {
+                       $goback = esc_url_raw( $goback );
+                       $goback = urlencode( $goback );
+               }
+?>
+<h2><?php _e( 'Database Update Required' ); ?></h2>
+<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 update process may take a little while, so please be patient.' ); ?></p>
+<p class="step"><a class="button button-large" href="upgrade.php?step=1&amp;backto=<?php echo $goback; ?>"><?php _e( 'Update WordPress Database' ); ?></a></p>
 <?php
-       break;
-       
+               break;
        case 1:
-       $wp_current_db_version = __get_option('db_version');
-       if ( $wp_db_version != $wp_current_db_version ) {
-               wp_cache_flush();
-               make_db_current_silent();
-               upgrade_all();
-               wp_cache_flush();
-       }
-
-       if ( empty( $_GET['backto'] ) )
-               $backto = __get_option('home');
-       else
-               $backto = wp_specialchars( $_GET['backto'] , 1 );
-?> 
-<h2><?php _e('Step 1'); ?></h2> 
-       <p><?php printf(__("There's actually only one step. So if you see this, you're done. <a href='%s'>Have fun</a>!"),  $backto); ?></p>
+               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' ) . '/');
+?>
+<h2><?php _e( 'Update Complete' ); ?></h2>
+       <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>
 
 <!--
 <pre>
-<?php printf(__('%s queries'), $wpdb->num_queries); ?>
+<?php printf( __( '%s queries' ), $wpdb->num_queries ); ?>
 
-<?php printf(__('%s seconds'), timer_stop(0)); ?>
+<?php printf( __( '%s seconds' ), timer_stop( 0 ) ); ?>
 </pre>
 -->
 
 <?php
-       break;
-}
-?> 
+               break;
+endswitch;
+endif;
+?>
 </body>
 </html>