wp/wp-admin/upgrade.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
child 16 a86126ab1dd4
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
    20 nocache_headers();
    20 nocache_headers();
    21 
    21 
    22 timer_start();
    22 timer_start();
    23 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    23 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    24 
    24 
    25 delete_site_transient('update_core');
    25 delete_site_transient( 'update_core' );
    26 
    26 
    27 if ( isset( $_GET['step'] ) )
    27 if ( isset( $_GET['step'] ) ) {
    28 	$step = $_GET['step'];
    28 	$step = $_GET['step'];
    29 else
    29 } else {
    30 	$step = 0;
    30 	$step = 0;
       
    31 }
    31 
    32 
    32 // Do it. No output.
    33 // Do it. No output.
    33 if ( 'upgrade_db' === $step ) {
    34 if ( 'upgrade_db' === $step ) {
    34 	wp_upgrade();
    35 	wp_upgrade();
    35 	die( '0' );
    36 	die( '0' );
    37 
    38 
    38 /**
    39 /**
    39  * @global string $wp_version
    40  * @global string $wp_version
    40  * @global string $required_php_version
    41  * @global string $required_php_version
    41  * @global string $required_mysql_version
    42  * @global string $required_mysql_version
    42  * @global wpdb   $wpdb
       
    43  */
    43  */
    44 global $wp_version, $required_php_version, $required_mysql_version;
    44 global $wp_version, $required_php_version, $required_mysql_version;
    45 
    45 
    46 $step = (int) $step;
    46 $step = (int) $step;
    47 
    47 
    48 $php_version    = phpversion();
    48 $php_version   = phpversion();
    49 $mysql_version  = $wpdb->db_version();
    49 $mysql_version = $wpdb->db_version();
    50 $php_compat     = version_compare( $php_version, $required_php_version, '>=' );
    50 $php_compat    = version_compare( $php_version, $required_php_version, '>=' );
    51 if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
    51 if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) ) {
    52 	$mysql_compat = true;
    52 	$mysql_compat = true;
    53 else
    53 } else {
    54 	$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' );
    54 	$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' );
       
    55 }
    55 
    56 
    56 @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
    57 @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
    57 ?>
    58 ?>
    58 <!DOCTYPE html>
    59 <!DOCTYPE html>
    59 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
    60 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
    66 	wp_admin_css( 'install', true );
    67 	wp_admin_css( 'install', true );
    67 	wp_admin_css( 'ie', true );
    68 	wp_admin_css( 'ie', true );
    68 	?>
    69 	?>
    69 </head>
    70 </head>
    70 <body class="wp-core-ui">
    71 <body class="wp-core-ui">
    71 <p id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></p>
    72 <p id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></p>
    72 
    73 
    73 <?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
    74 <?php if ( get_option( 'db_version' ) == $wp_db_version || ! is_blog_installed() ) : ?>
    74 
    75 
    75 <h1><?php _e( 'No Update Required' ); ?></h1>
    76 <h1><?php _e( 'No Update Required' ); ?></h1>
    76 <p><?php _e( 'Your WordPress database is already up-to-date!' ); ?></p>
    77 <p><?php _e( 'Your WordPress database is already up-to-date!' ); ?></p>
    77 <p class="step"><a class="button button-large" href="<?php echo get_option( 'home' ); ?>/"><?php _e( 'Continue' ); ?></a></p>
    78 <p class="step"><a class="button button-large" href="<?php echo get_option( 'home' ); ?>/"><?php _e( 'Continue' ); ?></a></p>
    78 
    79 
    79 <?php elseif ( !$php_compat || !$mysql_compat ) :
    80 	<?php
    80 	if ( !$mysql_compat && !$php_compat )
    81 elseif ( ! $php_compat || ! $mysql_compat ) :
    81 		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 );
    82 	$version_url = sprintf(
    82 	elseif ( !$php_compat )
    83 		/* translators: %s: WordPress version */
    83 		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 );
    84 		esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
    84 	elseif ( !$mysql_compat )
    85 		sanitize_title( $wp_version )
    85 		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 );
    86 	);
    86 ?>
    87 
    87 <?php else :
    88 	/* translators: %s: Update PHP page URL */
    88 switch ( $step ) :
    89 	$php_update_message = '</p><p>' . sprintf( __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) );
    89 	case 0:
    90 
    90 		$goback = wp_get_referer();
    91 	$annotation = wp_get_update_php_annotation();
    91 		if ( $goback ) {
    92 	if ( $annotation ) {
    92 			$goback = esc_url_raw( $goback );
    93 		$php_update_message .= '</p><p><em>' . $annotation . '</em>';
    93 			$goback = urlencode( $goback );
    94 	}
    94 		}
    95 
    95 ?>
    96 	if ( ! $mysql_compat && ! $php_compat ) {
    96 <h1><?php _e( 'Database Update Required' ); ?></h1>
    97 		/* 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 */
       
    98 		$message = sprintf( __( '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;
       
    99 	} elseif ( ! $php_compat ) {
       
   100 		/* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Current PHP version number */
       
   101 		$message = sprintf( __( '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;
       
   102 	} elseif ( ! $mysql_compat ) {
       
   103 		/* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required MySQL version number, 4: Current MySQL version number */
       
   104 		$message = sprintf( __( '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 );
       
   105 	}
       
   106 
       
   107 	echo '<p>' . $message . '</p>';
       
   108 	?>
       
   109 	<?php
       
   110 else :
       
   111 	switch ( $step ) :
       
   112 		case 0:
       
   113 			$goback = wp_get_referer();
       
   114 			if ( $goback ) {
       
   115 				$goback = esc_url_raw( $goback );
       
   116 				$goback = urlencode( $goback );
       
   117 			}
       
   118 			?>
       
   119 	<h1><?php _e( 'Database Update Required' ); ?></h1>
    97 <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>
   120 <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>
    98 <p><?php _e( 'The database update process may take a little while, so please be patient.' ); ?></p>
   121 <p><?php _e( 'The database update process may take a little while, so please be patient.' ); ?></p>
    99 <p class="step"><a class="button button-large button-primary" href="upgrade.php?step=1&amp;backto=<?php echo $goback; ?>"><?php _e( 'Update WordPress Database' ); ?></a></p>
   122 <p class="step"><a class="button button-large button-primary" href="upgrade.php?step=1&amp;backto=<?php echo $goback; ?>"><?php _e( 'Update WordPress Database' ); ?></a></p>
   100 <?php
   123 			<?php
   101 		break;
   124 			break;
   102 	case 1:
   125 		case 1:
   103 		wp_upgrade();
   126 			wp_upgrade();
   104 
   127 
   105 			$backto = !empty($_GET['backto']) ? wp_unslash( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/';
   128 			$backto = ! empty( $_GET['backto'] ) ? wp_unslash( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/';
   106 			$backto = esc_url( $backto );
   129 			$backto = esc_url( $backto );
   107 			$backto = wp_validate_redirect($backto, __get_option( 'home' ) . '/');
   130 			$backto = wp_validate_redirect( $backto, __get_option( 'home' ) . '/' );
   108 ?>
   131 			?>
   109 <h1><?php _e( 'Update Complete' ); ?></h1>
   132 	<h1><?php _e( 'Update Complete' ); ?></h1>
   110 	<p><?php _e( 'Your WordPress database has been successfully updated!' ); ?></p>
   133 	<p><?php _e( 'Your WordPress database has been successfully updated!' ); ?></p>
   111 	<p class="step"><a class="button button-large" href="<?php echo $backto; ?>"><?php _e( 'Continue' ); ?></a></p>
   134 	<p class="step"><a class="button button-large" href="<?php echo $backto; ?>"><?php _e( 'Continue' ); ?></a></p>
   112 
   135 
   113 <!--
   136 <!--
   114 <pre>
   137 <pre>
   115 <?php printf( __( '%s queries' ), $wpdb->num_queries ); ?>
   138 			<?php printf( __( '%s queries' ), $wpdb->num_queries ); ?>
   116 
   139 
   117 <?php printf( __( '%s seconds' ), timer_stop( 0 ) ); ?>
   140 			<?php printf( __( '%s seconds' ), timer_stop( 0 ) ); ?>
   118 </pre>
   141 </pre>
   119 -->
   142 -->
   120 
   143 
   121 <?php
   144 			<?php
   122 		break;
   145 			break;
   123 endswitch;
   146 endswitch;
   124 endif;
   147 endif;
   125 ?>
   148 ?>
   126 </body>
   149 </body>
   127 </html>
   150 </html>