Make WordPress Core

Ticket #44921: 44921.diff

File 44921.diff, 1.5 KB (added by spacedmonkey, 6 years ago)
  • wp-includes/user.php

     
    17101710
    17111711        $meta['locale'] = isset( $userdata['locale'] ) ? $userdata['locale'] : '';
    17121712
    1713         $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 ) );
     1713        $user_args = array(
     1714                'blog_id'       => 0,
     1715                'fields'        => 'ID',
     1716                'nicename'      => $user_nicename,
     1717                'number'        => 1,
     1718                'login__not_in' => array( $user_login ),
     1719        );
    17141720
     1721        $user_nicename_check = get_users( $user_args );
     1722
    17151723        if ( $user_nicename_check ) {
    17161724                $suffix = 2;
    17171725                while ( $user_nicename_check ) {
    17181726                        // user_nicename allows 50 chars. Subtract one for a hyphen, plus the length of the suffix.
    1719                         $base_length         = 49 - mb_strlen( $suffix );
    1720                         $alt_user_nicename   = mb_substr( $user_nicename, 0, $base_length ) . "-$suffix";
    1721                         $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 ) );
     1727                        $base_length                = 49 - mb_strlen( $suffix );
     1728                        $alt_user_nicename          = mb_substr( $user_nicename, 0, $base_length ) . "-$suffix";
     1729                        $user_args['login__not_in'] = array( $alt_user_nicename );
     1730                        $user_nicename_check        = get_users( $user_args );
    17221731                        $suffix++;
    17231732                }
    17241733                $user_nicename = $alt_user_nicename;