X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/11be8dc178e77d0b46189bbd8e33a216a9b90942..refs/tags/wordpress-2.8-scripts:/wp-includes/registration.php diff --git a/wp-includes/registration.php b/wp-includes/registration.php index aee3ae14..3dfb672c 100644 --- a/wp-includes/registration.php +++ b/wp-includes/registration.php @@ -176,6 +176,18 @@ function wp_insert_user($userdata) { if ( empty($user_registered) ) $user_registered = gmdate('Y-m-d H:i:s'); + $user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login)); + + if ($user_nicename_check) { + $suffix = 2; + while ($user_nicename_check) { + $alt_user_nicename = $user_nicename . "-$suffix"; + $user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $alt_user_nicename, $user_login)); + $suffix++; + } + $user_nicename = $alt_user_nicename; + } + $data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' ); $data = stripslashes_deep( $data ); @@ -199,12 +211,10 @@ function wp_insert_user($userdata) { update_usermeta( $user_id, 'admin_color', $admin_color); update_usermeta( $user_id, 'use_ssl', $use_ssl); - if ( $update && isset($role) ) { + if ( isset($role) ) { $user = new WP_User($user_id); $user->set_role($role); - } - - if ( !$update ) { + } elseif ( !$update ) { $user = new WP_User($user_id); $user->set_role(get_option('default_role')); }