/wp-admin/upgrade.php

https://github.com/netconstructor/WordPress · PHP · 110 lines · 80 code · 16 blank · 14 comment · 11 complexity · 26705b9c516ea178fffd832a4226775e MD5 · raw file

  1. <?php
  2. /**
  3. * Upgrade WordPress Page.
  4. *
  5. * @package WordPress
  6. * @subpackage Administration
  7. */
  8. /**
  9. * We are upgrading WordPress.
  10. *
  11. * @since 1.5.1
  12. * @var bool
  13. */
  14. define( 'WP_INSTALLING', true );
  15. /** Load WordPress Bootstrap */
  16. require( '../wp-load.php' );
  17. timer_start();
  18. require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
  19. delete_site_transient('update_core');
  20. if ( isset( $_GET['step'] ) )
  21. $step = $_GET['step'];
  22. else
  23. $step = 0;
  24. // Do it. No output.
  25. if ( 'upgrade_db' === $step ) {
  26. wp_upgrade();
  27. die( '0' );
  28. }
  29. $step = (int) $step;
  30. $php_version = phpversion();
  31. $mysql_version = $wpdb->db_version();
  32. $php_compat = version_compare( $php_version, $required_php_version, '>=' );
  33. $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
  34. @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
  35. ?>
  36. <!DOCTYPE html>
  37. <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
  38. <head>
  39. <meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php echo get_option( 'blog_charset' ); ?>" />
  40. <title><?php _e( 'WordPress &rsaquo; Update' ); ?></title>
  41. <?php
  42. wp_admin_css( 'install', true );
  43. wp_admin_css( 'ie', true );
  44. ?>
  45. </head>
  46. <body>
  47. <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
  48. <?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
  49. <h2><?php _e( 'No Update Required' ); ?></h2>
  50. <p><?php _e( 'Your WordPress database is already up-to-date!' ); ?></p>
  51. <p class="step"><a class="button" href="<?php echo get_option( 'home' ); ?>/"><?php _e( 'Continue' ); ?></a></p>
  52. <?php elseif ( !$php_compat || !$mysql_compat ) :
  53. if ( !$mysql_compat && !$php_compat )
  54. printf( __('You cannot update because <a href="http://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 );
  55. elseif ( !$php_compat )
  56. printf( __('You cannot update because <a href="http://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 );
  57. elseif ( !$mysql_compat )
  58. printf( __('You cannot update because <a href="http://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 );
  59. ?>
  60. <?php else :
  61. switch ( $step ) :
  62. case 0:
  63. $goback = stripslashes( wp_get_referer() );
  64. $goback = esc_url_raw( $goback );
  65. $goback = urlencode( $goback );
  66. ?>
  67. <h2><?php _e( 'Database Update Required' ); ?></h2>
  68. <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>
  69. <p><?php _e( 'The update process may take a little while, so please be patient.' ); ?></p>
  70. <p class="step"><a class="button" href="upgrade.php?step=1&amp;backto=<?php echo $goback; ?>"><?php _e( 'Update WordPress Database' ); ?></a></p>
  71. <?php
  72. break;
  73. case 1:
  74. wp_upgrade();
  75. $backto = !empty($_GET['backto']) ? stripslashes( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/';
  76. $backto = esc_url( $backto );
  77. $backto = wp_validate_redirect($backto, __get_option( 'home' ) . '/');
  78. ?>
  79. <h2><?php _e( 'Update Complete' ); ?></h2>
  80. <p><?php _e( 'Your WordPress database has been successfully updated!' ); ?></p>
  81. <p class="step"><a class="button" href="<?php echo $backto; ?>"><?php _e( 'Continue' ); ?></a></p>
  82. <!--
  83. <pre>
  84. <?php printf( __( '%s queries' ), $wpdb->num_queries ); ?>
  85. <?php printf( __( '%s seconds' ), timer_stop( 0 ) ); ?>
  86. </pre>
  87. -->
  88. <?php
  89. break;
  90. endswitch;
  91. endif;
  92. ?>
  93. </body>
  94. </html>