Ticket #21429: 21429.diff
File 21429.diff, 4.1 KB (added by , 12 years ago) |
---|
-
wp-includes/user.php
1243 1243 * @uses do_action() Calls 'profile_update' hook when updating giving the user's ID 1244 1244 * @uses do_action() Calls 'user_register' hook when creating a new user giving the user's ID 1245 1245 * 1246 * @param array $userdata An array of user data.1246 * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User. 1247 1247 * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not be created. 1248 1248 */ 1249 function wp_insert_user( $userdata) {1249 function wp_insert_user( $userdata ) { 1250 1250 global $wpdb; 1251 1251 1252 extract($userdata, EXTR_SKIP); 1252 if ( is_a( $userdata, 'stdClass' ) ) 1253 $userdata = get_object_vars( $userdata ); 1254 elseif ( is_a( $userdata, 'WP_User' ) ) 1255 $userdata = $userdata->to_array(); 1253 1256 1257 extract( $userdata, EXTR_SKIP ); 1258 1254 1259 // Are we updating or creating? 1255 1260 if ( !empty($ID) ) { 1256 1261 $ID = (int) $ID; … … 1390 1395 * @see wp_insert_user() For what fields can be set in $userdata 1391 1396 * @uses wp_insert_user() Used to update existing user or add new one if user doesn't exist already 1392 1397 * 1393 * @param array $userdata An array of user data.1398 * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User. 1394 1399 * @return int The updated user's ID. 1395 1400 */ 1396 1401 function wp_update_user($userdata) { 1402 if ( is_a( $userdata, 'stdClass' ) ) 1403 $userdata = get_object_vars( $userdata ); 1404 elseif ( is_a( $userdata, 'WP_User' ) ) 1405 $userdata = $userdata->to_array(); 1406 1397 1407 $ID = (int) $userdata['ID']; 1398 1408 1399 1409 // First, get all of the original fields 1400 1410 $user_obj = get_userdata( $ID ); 1401 1411 1402 $user = get_object_vars( $user_obj->data);1412 $user = $user_obj->to_array(); 1403 1413 1404 1414 // Add additional custom fields 1405 1415 foreach ( _get_additional_user_keys( $user_obj ) as $key ) { -
wp-includes/capabilities.php
636 636 return $this->__isset( $key ); 637 637 } 638 638 639 /* 640 * Return an array representation. 641 * 642 * @since 3.5.0 643 * 644 * @return array Array representation. 645 */ 646 function to_array() { 647 return get_object_vars( $this->data ); 648 } 649 639 650 /** 640 651 * Set up capability object properties. 641 652 * -
wp-admin/includes/user.php
156 156 return $errors; 157 157 158 158 if ( $update ) { 159 $user_id = wp_update_user( get_object_vars( $user ));159 $user_id = wp_update_user( $user ); 160 160 } else { 161 $user_id = wp_insert_user( get_object_vars( $user ));161 $user_id = wp_insert_user( $user ); 162 162 wp_new_user_notification( $user_id, isset($_POST['send_password']) ? $pass1 : '' ); 163 163 } 164 164 return $user_id; -
wp-admin/user-edit.php
82 82 if ( is_multisite() && IS_PROFILE_PAGE && isset( $_GET[ 'newuseremail' ] ) && $current_user->ID ) { 83 83 $new_email = get_option( $current_user->ID . '_new_email' ); 84 84 if ( $new_email[ 'hash' ] == $_GET[ 'newuseremail' ] ) { 85 $user->ID = $current_user->ID; 85 $user = new stdClass; 86 $user->ID = get_current_user_id(); 86 87 $user->user_email = esc_html( trim( $new_email[ 'newemail' ] ) ); 87 88 if ( $wpdb->get_var( $wpdb->prepare( "SELECT user_login FROM {$wpdb->signups} WHERE user_login = %s", $current_user->user_login ) ) ) 88 89 $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->signups} SET user_email = %s WHERE user_login = %s", $user->user_email, $current_user->user_login ) ); 89 wp_update_user( get_object_vars( $user ));90 delete_option( $current_user->ID. '_new_email' );90 wp_update_user( $user ); 91 delete_option( get_current_user_id() . '_new_email' ); 91 92 wp_redirect( add_query_arg( array('updated' => 'true'), self_admin_url( 'profile.php' ) ) ); 92 93 die(); 93 94 }