Users: Deprecate update_user_status() in favor of wp_update_user().

Props spacedmonkey, SergeyBiryukov.
Fixes #45747.

git-svn-id: https://develop.svn.wordpress.org/trunk@45708 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2019-08-01 11:27:28 +00:00
parent 1878f25e54
commit 03122ef7e1
6 changed files with 100 additions and 61 deletions
-53
View File
@@ -303,59 +303,6 @@ function upload_space_setting( $id ) {
<?php
}
/**
* Update the status of a user in the database.
*
* Used in core to mark a user as spam or "ham" (not spam) in Multisite.
*
* @since 3.0.0
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param int $id The user ID.
* @param string $pref The column in the wp_users table to update the user's status
* in (presumably user_status, spam, or deleted).
* @param int $value The new status for the user.
* @param null $deprecated Deprecated as of 3.0.2 and should not be used.
* @return int The initially passed $value.
*/
function update_user_status( $id, $pref, $value, $deprecated = null ) {
global $wpdb;
if ( null !== $deprecated ) {
_deprecated_argument( __FUNCTION__, '3.0.2' );
}
$wpdb->update( $wpdb->users, array( sanitize_key( $pref ) => $value ), array( 'ID' => $id ) );
$user = new WP_User( $id );
clean_user_cache( $user );
if ( $pref == 'spam' ) {
if ( $value == 1 ) {
/**
* Fires after the user is marked as a SPAM user.
*
* @since 3.0.0
*
* @param int $id ID of the user marked as SPAM.
*/
do_action( 'make_spam_user', $id );
} else {
/**
* Fires after the user is marked as a HAM user. Opposite of SPAM.
*
* @since 3.0.0
*
* @param int $id ID of the user marked as HAM.
*/
do_action( 'make_ham_user', $id );
}
}
return $value;
}
/**
* Cleans the user cache for a specific user.
*
+13 -2
View File
@@ -76,22 +76,33 @@ if ( isset( $_GET['action'] ) ) {
$userfunction = 'all_spam';
$blogs = get_blogs_of_user( $user_id, true );
foreach ( (array) $blogs as $details ) {
if ( $details->userblog_id != get_network()->site_id ) { // main blog not a spam !
update_blog_status( $details->userblog_id, 'spam', '1' );
}
}
update_user_status( $user_id, 'spam', '1' );
$user_data = $user->to_array();
$user_data['spam'] = '1';
wp_update_user( $user_data );
break;
case 'notspam':
$user = get_userdata( $user_id );
$userfunction = 'all_notspam';
$blogs = get_blogs_of_user( $user_id, true );
foreach ( (array) $blogs as $details ) {
update_blog_status( $details->userblog_id, 'spam', '0' );
}
update_user_status( $user_id, 'spam', '0' );
$user_data = $user->to_array();
$user_data['spam'] = '0';
wp_update_user( $user_data );
break;
}
}