WordPress Version: 4.9
/**
* Update a blog details field.
*
* @since MU (3.0.0)
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param int $blog_id BLog ID
* @param string $pref A field name
* @param string $value Value for $pref
* @param null $deprecated
* @return string|false $value
*/
function update_blog_status($blog_id, $pref, $value, $deprecated = null)
{
global $wpdb;
if (null !== $deprecated) {
_deprecated_argument(__FUNCTION__, '3.1.0');
}
if (!in_array($pref, array('site_id', 'domain', 'path', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id'))) {
return $value;
}
$result = $wpdb->update($wpdb->blogs, array($pref => $value, 'last_updated' => current_time('mysql', true)), array('blog_id' => $blog_id));
if (false === $result) {
return false;
}
clean_blog_cache($blog_id);
if ('spam' == $pref) {
if ($value == 1) {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('make_spam_blog', $blog_id);
} else {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('make_ham_blog', $blog_id);
}
} elseif ('mature' == $pref) {
if ($value == 1) {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('mature_blog', $blog_id);
} else {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('unmature_blog', $blog_id);
}
} elseif ('archived' == $pref) {
if ($value == 1) {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('archive_blog', $blog_id);
} else {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('unarchive_blog', $blog_id);
}
} elseif ('deleted' == $pref) {
if ($value == 1) {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('make_delete_blog', $blog_id);
} else {
/** This filter is documented in wp-includes/ms-blogs.php */
do_action('make_undelete_blog', $blog_id);
}
} elseif ('public' == $pref) {
/**
* Fires after the current blog's 'public' setting is updated.
*
* @since MU (3.0.0)
*
* @param int $blog_id Blog ID.
* @param string $value The value of blog status.
*/
do_action('update_blog_public', $blog_id, $value);
// Moved here from update_blog_public().
}
return $value;
}