Make WordPress Core


Ignore:
Timestamp:
08/01/2019 11:27:28 AM (6 years ago)
Author:
SergeyBiryukov
Message:

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

Props spacedmonkey, SergeyBiryukov.
Fixes #45747.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/user.php

    r45674 r45708  
    14691469 * Most of the `$userdata` array fields have filters associated with the values. Exceptions are
    14701470 * 'ID', 'rich_editing', 'syntax_highlighting', 'comment_shortcuts', 'admin_color', 'use_ssl',
    1471  * 'user_registered', and 'role'. The filters have the prefix 'pre_user_' followed by the field
    1472  * name. An example using 'description' would have the filter called, 'pre_user_description' that
    1473  * can be hooked into.
     1471 * 'user_registered', 'spam', and 'role'. The filters have the prefix 'pre_user_' followed by the
     1472 * field name. An example using 'description' would have the filter called, 'pre_user_description'
     1473 * that can be hooked into.
    14741474 *
    14751475 * @since 2.0.0
     
    14771477 *              methods for new installations. See wp_get_user_contact_methods().
    14781478 * @since 4.7.0 The user's locale can be passed to `$userdata`.
     1479 * @since 5.3.0 The `spam` field can be passed to `$userdata` (Multisite only).
    14791480 *
    14801481 * @global wpdb $wpdb WordPress database abstraction object.
     
    15101511 *                                             https. Default false.
    15111512 *     @type string      $user_registered      Date the user registered. Format is 'Y-m-d H:i:s'.
     1513 *     @type bool        $spam                 Multisite only. Whether the user is marked as spam.
     1514 *                                             Default false.
    15121515 *     @type string|bool $show_admin_bar_front Whether to display the Admin Bar for the user on the
    15131516 *                                             site's front end. Default true.
     
    16451648        return new WP_Error( 'existing_user_email', __( 'Sorry, that email address is already used!' ) );
    16461649    }
     1650
     1651    if ( isset( $userdata['spam'] ) && ! is_multisite() ) {
     1652        return new WP_Error( 'no_spam', __( 'Sorry, marking a user as spam is only supported on Multisite.' ) );
     1653    }
     1654
     1655    $spam = empty( $userdata['spam'] ) ? 0 : (bool) $userdata['spam'];
     1656
    16471657    $nickname = empty( $userdata['nickname'] ) ? $user_login : $userdata['nickname'];
    16481658
     
    17241734    $meta['admin_color'] = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $admin_color );
    17251735
    1726     $meta['use_ssl'] = empty( $userdata['use_ssl'] ) ? 0 : $userdata['use_ssl'];
     1736    $meta['use_ssl'] = empty( $userdata['use_ssl'] ) ? 0 : (bool) $userdata['use_ssl'];
    17271737
    17281738    $user_registered = empty( $userdata['user_registered'] ) ? gmdate( 'Y-m-d H:i:s' ) : $userdata['user_registered'];
     
    17511761    if ( ! $update ) {
    17521762        $data = $data + compact( 'user_login' );
     1763    }
     1764
     1765    if ( is_multisite() ) {
     1766        $data = $data + compact( 'spam' );
    17531767    }
    17541768
     
    18491863         */
    18501864        do_action( 'profile_update', $user_id, $old_user_data );
     1865
     1866        if ( isset( $userdata['spam'] ) && $userdata['spam'] != $old_user_data->spam ) {
     1867            if ( $userdata['spam'] == 1 ) {
     1868                /**
     1869                 * Fires after the user is marked as a SPAM user.
     1870                 *
     1871                 * @since 3.0.0
     1872                 *
     1873                 * @param int $user_id ID of the user marked as SPAM.
     1874                 */
     1875                do_action( 'make_spam_user', $user_id );
     1876            } else {
     1877                /**
     1878                 * Fires after the user is marked as a HAM user. Opposite of SPAM.
     1879                 *
     1880                 * @since 3.0.0
     1881                 *
     1882                 * @param int $user_id ID of the user marked as HAM.
     1883                 */
     1884                do_action( 'make_ham_user', $user_id );
     1885            }
     1886        }
    18511887    } else {
    18521888        /**
Note: See TracChangeset for help on using the changeset viewer.