wp_upload_bits

Definition:
function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {}

Create a file in the upload folder with given content.
If there is an error, then the key ‘error’ will exist with the error message. If success, then the key ‘file’ will have the unique file path, the ‘url’ key will have the link to the new file. and the ‘error’ key will be set to false.

Parameters

  • string $name
  • null $deprecated: Never used. Set to null.
  • mixed $bits: File content
  • string $time: Optional. Time formatted in ‘yyyy/mm’.

Defined filters

  • wp_upload_bits
    apply_filters( 'wp_upload_bits', array( 'name' => $name, 'bits' => $bits, 'time' => $time )

Source code

function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {

	if ( !empty( $deprecated ) )

		_deprecated_argument( __FUNCTION__, '2.0' );



	if ( empty( $name ) )

		return array( 'error' => __( 'Empty filename' ) );



	$wp_filetype = wp_check_filetype( $name );

	if ( !$wp_filetype['ext'] )

		return array( 'error' => __( 'Invalid file type' ) );



	$upload = wp_upload_dir( $time );



	if ( $upload['error'] !== false )

		return $upload;



	$upload_bits_error = apply_filters( 'wp_upload_bits', array( 'name' => $name, 'bits' => $bits, 'time' => $time ) );

	if ( !is_array( $upload_bits_error ) ) {

		$upload[ 'error' ] = $upload_bits_error;

		return $upload;

	}



	$filename = wp_unique_filename( $upload['path'], $name );



	$new_file = $upload['path'] . "/$filename";

	if ( ! wp_mkdir_p( dirname( $new_file ) ) ) {

		$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), dirname( $new_file ) );

		return array( 'error' => $message );

	}



	$ifp = @ fopen( $new_file, 'wb' );

	if ( ! $ifp )

		return array( 'error' => sprintf( __( 'Could not write file %s' ), $new_file ) );



	@fwrite( $ifp, $bits );

	fclose( $ifp );

	clearstatcache();



	// Set correct file permissions

	$stat = @ stat( dirname( $new_file ) );

	$perms = $stat['mode'] & 0007777;

	$perms = $perms & 0000666;

	@ chmod( $new_file, $perms );

	clearstatcache();



	// Compute the URL

	$url = $upload['url'] . "/$filename";



	return array( 'file' => $new_file, 'url' => $url, 'error' => false );

}

4249

wp_upgrade

Definition:
function wp_upgrade() {}

Run WordPress Upgrade functions.

Source code

function wp_upgrade() {

	global $wp_current_db_version, $wp_db_version, $wpdb;



	$wp_current_db_version = __get_option('db_version');



	// We are up-to-date.  Nothing to do.

	if ( $wp_db_version == $wp_current_db_version )

		return;



	if ( ! is_blog_installed() )

		return;



	wp_check_mysql_version();

	wp_cache_flush();

	pre_schema_upgrade();

	make_db_current_silent();

	upgrade_all();

	if ( is_multisite() && is_main_site() )

		upgrade_network();

	wp_cache_flush();



	if ( is_multisite() ) {

		if ( $wpdb->get_row( "SELECT blog_id FROM {$wpdb->blog_versions} WHERE blog_id = '{$wpdb->blogid}'" ) )

4247

wp_update_user

Definition:
function wp_update_user($userdata) {}

Update an user in the database.
It is possible to update a user’s password by specifying the ‘user_pass’ value in the $userdata parameter array.

Parameters

  • array $userdata: An array of user data.

Return values

returns:The updated user’s ID.

Source code

function wp_update_user($userdata) {

	$ID = (int) $userdata['ID'];



	// First, get all of the original fields

	$user = get_userdata($ID);



	// Escape data pulled from DB.

	$user = add_magic_quotes(get_object_vars($user));



	// If password is changing, hash it now.

	if ( ! empty($userdata['user_pass']) ) {

		$plaintext_pass = $userdata['user_pass'];

		$userdata['user_pass'] = wp_hash_password($userdata['user_pass']);

	}



	wp_cache_delete($user[ 'user_email' ], 'useremail');



	// Merge old and new fields with new fields overwriting old ones.

	$userdata = array_merge($user, $userdata);

	$user_id = wp_insert_user($userdata);



	// Update the cookies if the password changed.

	$current_user = wp_get_current_user();

	if ( $current_user->id == $ID ) {

		if ( isset($plaintext_pass) ) {

			wp_clear_auth_cookie();

			wp_set_auth_cookie($ID);

		}

	}



	return $user_id;

}

4245

wp_update_themes

Definition:
function wp_update_themes() {}

Check theme versions against the latest versions hosted on WordPress.org.
A list of all themes installed in sent to WP. Checks against the WordPress server at api.wordpress.org. Will only check if WordPress isn’t installing.

Return values

returns:Returns null if update is unsupported. Returns false if check is too soon.

Source code

function wp_update_themes() {

	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version



	if ( defined( 'WP_INSTALLING' ) )

		return false;



	if ( !function_exists( 'get_themes' ) )

		require_once( ABSPATH . 'wp-includes/theme.php' );



	$installed_themes = get_themes( );

	$last_update = get_site_transient( 'update_themes' );

	if ( ! is_object($last_update) )

		$last_update = new stdClass;



	// Check for updated every 60 minutes if hitting update pages; else, check every 12 hours.

	$timeout = in_array( current_filter(), array( 'load-themes.php', 'load-update.php', 'load-update-core.php' ) ) ? 3600 : 43200;

	$time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked );



	$themes = array();

	$checked = array();

	$exclude_fields = array('Template Files', 'Stylesheet Files', 'Status', 'Theme Root', 'Theme Root URI', 'Template Dir', 'Stylesheet Dir', 'Description', 'Tags', 'Screenshot');



	// Put slug of current theme into request.

	$themes['current_theme'] = get_option( 'stylesheet' );



	foreach ( (array) $installed_themes as $theme_title => $theme ) {

		$themes[$theme['Stylesheet']] = array();

		$checked[$theme['Stylesheet']] = $theme['Version'];



		$themes[$theme['Stylesheet']]['Name'] = $theme['Name'];

		$themes[$theme['Stylesheet']]['Version'] = $theme['Version'];



		foreach ( (array) $theme as $key => $value ) {

			if ( !in_array($key, $exclude_fields) )

				$themes[$theme['Stylesheet']][$key] = $value;

		}

	}



	$theme_changed = false;

	foreach ( $checked as $slug => $v ) {

		$update_request->checked[ $slug ] = $v;



		if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) )

			$theme_changed = true;

	}



	if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) {

		foreach ( $last_update->response as $slug => $update_details ) {

			if ( ! isset($checked[ $slug ]) ) {

				$theme_changed = true;

				break;

			}

		}

	}



	if ( $time_not_changed && !$theme_changed )

		return false;



	// Update last_checked for current to prevent multiple blocking requests if request hangs

	$last_update->last_checked = time();

	set_site_transient( 'update_themes', $last_update );



	$options = array(

		'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),

		'body'			=> array( 'themes' => serialize( $themes ) ),

		'user-agent'	=> 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )

	);



	$raw_response = wp_remote_post( 'http://api.wordpress.org/themes/update-check/1.0/', $options );



	if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )

		return false;



	$new_update = new stdClass;

	$new_update->last_checked = time( );

	$new_update->checked = $checked;



	$response = unserialize( wp_remote_retrieve_body( $raw_response ) );

	if ( false !== $response )

		$new_update->response = $response;



	set_site_transient( 'update_themes', $new_update );

}

4243

wp_update_theme

Definition:
function wp_update_theme($theme, $feedback = '') {}

Parameters

  • $theme
  • $feedback

Source code

function wp_update_theme($theme, $feedback = '') {

	if ( !empty($feedback) )

		add_filter('update_feedback', $feedback);



	include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';

	$upgrader = new Theme_Upgrader();

	return $upgrader->upgrade($theme);

}

4241