Ticket #28435: 28435.diff
File 28435.diff, 1.2 KB (added by , 11 years ago) |
---|
-
user.php
1836 1836 * @return int|WP_Error The updated user's ID or a WP_Error object if the user could not be updated. 1837 1837 */ 1838 1838 function wp_update_user($userdata) { 1839 if ( is_a( $userdata, 'stdClass' ) ) 1839 if ( is_a( $userdata, 'stdClass' ) ) { 1840 1840 $userdata = get_object_vars( $userdata ); 1841 elseif ( is_a( $userdata, 'WP_User' ) )1841 } elseif ( is_a( $userdata, 'WP_User' ) ) { 1842 1842 $userdata = $userdata->to_array(); 1843 } 1843 1844 1844 1845 $ID = (int) $userdata['ID']; 1845 1846 1846 1847 // First, get all of the original fields 1847 1848 $user_obj = get_userdata( $ID ); 1848 if ( ! $user_obj ) 1849 if ( ! $user_obj ) { 1849 1850 return new WP_Error( 'invalid_user_id', __( 'Invalid user ID.' ) ); 1851 } 1850 1852 1851 1853 $user = $user_obj->to_array(); 1852 1854 … … 1859 1861 $user = add_magic_quotes( $user ); 1860 1862 1861 1863 // If password is changing, hash it now. 1862 if ( ! empty( $userdata['user_pass'])) {1864 if ( ! empty( $userdata['user_pass'] ) && $userdata['user_pass'] !== $user_obj->user_pass ) { 1863 1865 $plaintext_pass = $userdata['user_pass']; 1864 1866 $userdata['user_pass'] = wp_hash_password($userdata['user_pass']); 1865 1867 }