From a6dd527f4e73e5abe2b9b3633942e9663c34b14d Mon Sep 17 00:00:00 2001 From: ryan Date: Sat, 18 Apr 2009 23:21:20 +0000 Subject: [PATCH] Make user_nicenames unique. Props Denis-de-Bernardy. fixes #1626 git-svn-id: http://svn.automattic.com/wordpress/trunk@10997 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/registration.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/wp-includes/registration.php b/wp-includes/registration.php index aee3ae149f..ab2d77ac6a 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 ID != %d LIMIT 1" , $user_nicename, (int) $ID)); + + 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 ID != %d LIMIT 1" , $alt_user_nicename, (int) $ID)); + $suffix++; + } + $user_nicename = $alt_user_nicename; + } + $data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' ); $data = stripslashes_deep( $data );