update_core

Definition:
function update_core($from, $to) {}

Upgrade the core of WordPress.
This will create a .maintenance file at the base of the WordPress directory to ensure that people can not access the web site, when the files are being copied to their locations.

Parameters

  • string $from: New release unzipped path.
  • string $to: Path to old WordPress installation.

Return values

returns:WP_Error on failure, null on success.

Defined filters

  • update_feedback
    apply_filters('update_feedback', __('Verifying the unpacked files…')
  • update_feedback
    apply_filters('update_feedback', __('Installing the latest version…')
  • update_feedback
    apply_filters('update_feedback', __('Upgrading database…')

Source code

function update_core($from, $to) {

	global $wp_filesystem, $_old_files, $_new_bundled_files, $wpdb;



	@set_time_limit( 300 );



	$php_version    = phpversion();

	$mysql_version  = $wpdb->db_version();

	$required_php_version = '5.2.4';

	$required_mysql_version = '5.0';

	$wp_version = '3.2';

	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );

	$mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );



	if ( !$mysql_compat || !$php_compat )

		$wp_filesystem->delete($from, true);



	if ( !$mysql_compat && !$php_compat )

		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 ) );

	elseif ( !$php_compat )

		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 ) );

	elseif ( !$mysql_compat )

		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 ) );



	// Sanity check the unzipped distribution

	apply_filters('update_feedback', __('Verifying the unpacked files…'));

	$distro = '';

	$roots = array( '/wordpress/', '/wordpress-mu/' );

	foreach( $roots as $root ) {

		if ( $wp_filesystem->exists($from . $root . 'readme.html') && $wp_filesystem->exists($from . $root . 'wp-includes/version.php') ) {

			$distro = $root;

			break;

		}

	}

	if ( !$distro ) {

		$wp_filesystem->delete($from, true);

		return new WP_Error('insane_distro', __('The update could not be unpacked') );

	}



	apply_filters('update_feedback', __('Installing the latest version…'));



	// Create maintenance file to signal that we are upgrading

	$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';

	$maintenance_file = $to . '.maintenance';

	$wp_filesystem->delete($maintenance_file);

	$wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);



	// Copy new versions of WP files into place.

	$result = _copy_dir($from . $distro, $to, array('wp-content') );



	// Custom Content Directory needs updating now.

	// Copy Languages

	if ( !is_wp_error($result) && $wp_filesystem->is_dir($from . $distro . 'wp-content/languages') ) {

		if ( WP_LANG_DIR != ABSPATH . WPINC . '/languages' || @is_dir(WP_LANG_DIR) )

			$lang_dir = WP_LANG_DIR;

		else

			$lang_dir = WP_CONTENT_DIR . '/languages';



		if ( !@is_dir($lang_dir) && 0 === strpos($lang_dir, ABSPATH) ) { // Check the language directory exists first

			$wp_filesystem->mkdir($to . str_replace($lang_dir, ABSPATH, ''), FS_CHMOD_DIR); // If it's within the ABSPATH we can handle it here, otherwise they're out of luck.

			clearstatcache(); // for FTP, Need to clear the stat cache

		}



		if ( @is_dir($lang_dir) ) {

			$wp_lang_dir = $wp_filesystem->find_folder($lang_dir);

			if ( $wp_lang_dir )

				$result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir);

		}

	}



	// Copy New bundled plugins & themes

	// This gives us the ability to install new plugins & themes bundled with future versions of WordPress whilst avoiding the re-install upon upgrade issue.

	if ( !is_wp_error($result) && ( ! defined('CORE_UPGRADE_SKIP_NEW_BUNDLED') || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) ) {

		$old_version = $GLOBALS['wp_version']; // $wp_version in local scope == new version

		foreach ( (array) $_new_bundled_files as $file => $introduced_version ) {

			// If $introduced version is greater than what the site was previously running

			if ( version_compare($introduced_version, $old_version, '>') ) {

				$directory = ('/' == $file[ strlen($file)-1 ]);

				list($type, $filename) = explode('/', $file, 2);



				if ( 'plugins' == $type )

					$dest = $wp_filesystem->wp_plugins_dir();

				elseif ( 'themes' == $type )

					$dest = trailingslashit($wp_filesystem->wp_themes_dir()); // Back-compat, ::wp_themes_dir() did not return trailingslash'd pre-3.2

				else

					continue;



				if ( ! $directory ) {

					if ( $wp_filesystem->exists($dest . $filename) )

						continue;



					if ( ! $wp_filesystem->copy($from . $distro . 'wp-content/' . $file, $dest . $filename, FS_CHMOD_FILE) )

						$result = new WP_Error('copy_failed', __('Could not copy file.'), $dest . $filename);

				} else {

					if ( $wp_filesystem->is_dir($dest . $filename) )

						continue;



					$wp_filesystem->mkdir($dest . $filename, FS_CHMOD_DIR);

					$_result = copy_dir( $from . $distro . 'wp-content/' . $file, $dest . $filename);

					if ( is_wp_error($_result) ) //If a error occurs partway through this final step, keep the error flowing through, but keep process going.

						$result = $_result;

				}

			}

		} //end foreach

	}



	// Handle $result error from the above blocks

	if ( is_wp_error($result) ) {

		$wp_filesystem->delete($maintenance_file);

		$wp_filesystem->delete($from, true);

		return $result;

	}



	// Remove old files

	foreach ( $_old_files as $old_file ) {

		$old_file = $to . $old_file;

		if ( !$wp_filesystem->exists($old_file) )

			continue;

		$wp_filesystem->delete($old_file, true);

	}



	// Upgrade DB with separate request

	apply_filters('update_feedback', __('Upgrading database…'));

	$db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');

	wp_remote_post($db_upgrade_url, array('timeout' => 60));



	// Remove working directory

	$wp_filesystem->delete($from, true);



	// Force refresh of update information

	if ( function_exists('delete_site_transient') )

		delete_site_transient('update_core');

	else

		delete_option('update_core');



	// Remove maintenance file, we're done.

	$wp_filesystem->delete($maintenance_file);

}

3169

update_comment_meta

Definition:
function update_comment_meta($comment_id, $meta_key, $meta_value, $prev_value = '') {}

Update comment meta field based on comment ID.
Use the $prev_value parameter to differentiate between meta fields with the same key and comment ID.

Parameters

  • int $comment_id: Comment ID.
  • string $meta_key: Metadata key.
  • mixed $meta_value: Metadata value.
  • mixed $prev_value: Optional. Previous value to check before removing.

Return values

returns:False on failure, true if success.

Source code

function update_comment_meta($comment_id, $meta_key, $meta_value, $prev_value = '') {

	return update_metadata('comment', $comment_id, $meta_key, $meta_value, $prev_value);

}

3167

update_comment_cache

Definition:
function update_comment_cache($comments) {}

Updates the comment cache of given comments.
Will add the comments in $comments to the cache. If comment ID already exists in the comment cache then it will not be updated. The comment is added to the cache using the comment group with the key using the ID of the comments.

Parameters

  • array $comments: Array of comment row objects

Source code

function update_comment_cache($comments) {

	foreach ( (array) $comments as $comment )

		wp_cache_add($comment->comment_ID, $comment, 'comment');

}

3165

update_category_cache

Definition:
function update_category_cache() {}

Update the categories cache.
This function does not appear to be used anymore or does not appear to be needed. It might be a legacy function left over from when there was a need for updating the category cache.

Return values

returns:Always return True

Source code

function update_category_cache() {

	return true;

}

3163

update_blog_status

Definition:
function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {}

Update a blog details field.

Parameters

  • int $blog_id: BLog ID
  • string $pref: A field name
  • string $value: Value for $pref
  • $deprecated

Defined actions

  • make_spam_blog
    do_action( 'make_spam_blog', $blog_id ) : do_action( 'make_ham_blog', $blog_id );
  • mature_blog
    do_action( 'mature_blog', $blog_id ) : do_action( 'unmature_blog', $blog_id );
  • archive_blog
    do_action( 'archive_blog', $blog_id ) : do_action( 'unarchive_blog', $blog_id );
  • archive_blog
    do_action( 'archive_blog', $blog_id ) : do_action( 'unarchive_blog', $blog_id );

Source code

function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {

	global $wpdb;



	if ( null !== $deprecated  )

		_deprecated_argument( __FUNCTION__, '3.1' );



	if ( !in_array( $pref, array( 'site_id', 'domain', 'path', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id') ) )

		return $value;



	$wpdb->update( $wpdb->blogs, array($pref => $value, 'last_updated' => current_time('mysql', true)), array('blog_id' => $blog_id) );



	refresh_blog_details($blog_id);



	if ( 'spam' == $pref )

		( $value == 1 ) ? do_action( 'make_spam_blog', $blog_id ) :	do_action( 'make_ham_blog', $blog_id );

	elseif ( 'mature' == $pref )

		( $value == 1 ) ? do_action( 'mature_blog', $blog_id ) : do_action( 'unmature_blog', $blog_id );

	elseif ( 'archived' == $pref )

		( $value == 1 ) ? do_action( 'archive_blog', $blog_id ) : do_action( 'unarchive_blog', $blog_id );

	elseif ( 'archived' == $pref )

		( $value == 1 ) ? do_action( 'archive_blog', $blog_id ) : do_action( 'unarchive_blog', $blog_id );



	return $value;

}

3161