Make WordPress Core


Ignore:
Timestamp:
08/10/2012 03:36:54 PM (14 years ago)
Author:
ryan
Message:

Allow passing stdClass and WP_User to wp_insert_user() and wp_update_user(). Introduce WP_User::to_array(). Eliminate uses of get_object_vars() when passing to wp_*_user(). fixes #21429

File:
1 edited

Legend:

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

    r21413 r21496  
    12411241 * @uses do_action() Calls 'user_register' hook when creating a new user giving the user's ID
    12421242 *
    1243  * @param array $userdata An array of user data.
     1243 * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User.
    12441244 * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not be created.
    12451245 */
    1246 function wp_insert_user($userdata) {
     1246function wp_insert_user( $userdata ) {
    12471247    global $wpdb;
    12481248
    1249     extract($userdata, EXTR_SKIP);
     1249    if ( is_a( $userdata, 'stdClass' ) )
     1250        $userdata = get_object_vars( $userdata );
     1251    elseif ( is_a( $userdata, 'WP_User' ) )
     1252        $userdata = $userdata->to_array();
     1253
     1254    extract( $userdata, EXTR_SKIP );
    12501255
    12511256    // Are we updating or creating?
     
    13881393 * @uses wp_insert_user() Used to update existing user or add new one if user doesn't exist already
    13891394 *
    1390  * @param array $userdata An array of user data.
     1395 * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User.
    13911396 * @return int The updated user's ID.
    13921397 */
    13931398function wp_update_user($userdata) {
     1399    if ( is_a( $userdata, 'stdClass' ) )
     1400        $userdata = get_object_vars( $userdata );
     1401    elseif ( is_a( $userdata, 'WP_User' ) )
     1402        $userdata = $userdata->to_array();
     1403
    13941404    $ID = (int) $userdata['ID'];
    13951405
     
    13971407    $user_obj = get_userdata( $ID );
    13981408
    1399     $user = get_object_vars( $user_obj->data );
     1409    $user = $user_obj->to_array();
    14001410
    14011411    // Add additional custom fields
Note: See TracChangeset for help on using the changeset viewer.