WordPress.org

Make WordPress Core

Ticket #1626: 1626.diff

File 1626.diff, 1.0 KB (added by Denis-de-Bernardy, 9 years ago)
  • Users/denis/Sites/sem-pro/wp-includes/registration.php

     
    176176        if ( empty($user_registered) )
    177177                $user_registered = gmdate('Y-m-d H:i:s');
    178178
     179        $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));
     180
     181        if ($user_nicename_check) {
     182                $suffix = 2;
     183                while ($user_nicename_check) {
     184                        $alt_user_nicename = $user_nicename . "-$suffix";
     185                        $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));
     186                        $suffix++;
     187                }
     188                $user_nicename = $alt_user_nicename;
     189        }
     190       
    179191        $data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' );
    180192        $data = stripslashes_deep( $data );
    181193