web/wp-admin/includes/update-core.php
branchwordpress
changeset 132 4d4862461b8d
parent 109 03b0d1493584
equal deleted inserted replaced
131:a4642baaf829 132:4d4862461b8d
    53 'wp-admin/includes/upload.php',
    53 'wp-admin/includes/upload.php',
    54 'wp-admin/js/dbx-admin-key.js',
    54 'wp-admin/js/dbx-admin-key.js',
    55 'wp-admin/js/link-cat.js',
    55 'wp-admin/js/link-cat.js',
    56 'wp-admin/js/forms.js',
    56 'wp-admin/js/forms.js',
    57 'wp-admin/js/upload.js',
    57 'wp-admin/js/upload.js',
       
    58 'wp-admin/js/set-post-thumbnail-handler.js',
       
    59 'wp-admin/js/set-post-thumbnail-handler.dev.js',
       
    60 'wp-admin/js/page.js',
       
    61 'wp-admin/js/page.dev.js',
       
    62 'wp-admin/js/slug.js',
       
    63 'wp-admin/js/slug.dev.js',
    58 'wp-admin/profile-update.php',
    64 'wp-admin/profile-update.php',
    59 'wp-admin/templates.php',
    65 'wp-admin/templates.php',
    60 'wp-includes/images/audio.png',
    66 'wp-includes/images/audio.png',
    61 'wp-includes/images/css.png',
    67 'wp-includes/images/css.png',
    62 'wp-includes/images/default.png',
    68 'wp-includes/images/default.png',
   161 'wp-images/get-firefox.png',
   167 'wp-images/get-firefox.png',
   162 'wp-images/header-shadow.png',
   168 'wp-images/header-shadow.png',
   163 'wp-images/smilies',
   169 'wp-images/smilies',
   164 'wp-images/wp-small.png',
   170 'wp-images/wp-small.png',
   165 'wp-images/wpminilogo.png',
   171 'wp-images/wpminilogo.png',
   166 'wp.php'
   172 'wp.php',
       
   173 'wp-includes/gettext.php',
       
   174 'wp-includes/streams.php'
   167 );
   175 );
   168 
   176 
   169 /**
   177 /**
   170  * Upgrade the core of WordPress.
   178  * Upgrade the core of WordPress.
   171  *
   179  *
   205  * @param string $from New release unzipped path.
   213  * @param string $from New release unzipped path.
   206  * @param string $to Path to old WordPress installation.
   214  * @param string $to Path to old WordPress installation.
   207  * @return WP_Error|null WP_Error on failure, null on success.
   215  * @return WP_Error|null WP_Error on failure, null on success.
   208  */
   216  */
   209 function update_core($from, $to) {
   217 function update_core($from, $to) {
   210 	global $wp_filesystem, $_old_files;
   218 	global $wp_filesystem, $_old_files, $wpdb;
   211 
   219 
   212 	@set_time_limit( 300 );
   220 	@set_time_limit( 300 );
       
   221 
       
   222 	$php_version    = phpversion();
       
   223 	$mysql_version  = $wpdb->db_version();
       
   224 	$required_php_version = '4.3';
       
   225 	$required_mysql_version = '4.1.2';
       
   226 	$wp_version = '2.9.1';
       
   227 	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
       
   228 	$mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
       
   229 
       
   230 	if ( !$mysql_compat || !$php_compat )
       
   231 		$wp_filesystem->delete($from, true);
       
   232 
       
   233 	if ( !$mysql_compat && !$php_compat )
       
   234 		return new WP_Error( 'php_mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s 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 ) );
       
   235 	elseif ( !$php_compat )
       
   236 		return new WP_Error( 'php_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version ) );
       
   237 	elseif ( !$mysql_compat )
       
   238 		return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) );
   213 
   239 
   214 	// Sanity check the unzipped distribution
   240 	// Sanity check the unzipped distribution
   215 	apply_filters('update_feedback', __('Verifying the unpacked files'));
   241 	apply_filters('update_feedback', __('Verifying the unpacked files'));
   216 	if ( !$wp_filesystem->exists($from . '/wordpress/wp-settings.php') || !$wp_filesystem->exists($from . '/wordpress/wp-admin/admin.php') ||
   242 	if ( !$wp_filesystem->exists($from . '/wordpress/wp-settings.php') || !$wp_filesystem->exists($from . '/wordpress/wp-admin/admin.php') ||
   217 		!$wp_filesystem->exists($from . '/wordpress/wp-includes/functions.php') ) {
   243 		!$wp_filesystem->exists($from . '/wordpress/wp-includes/functions.php') ) {