MDL-35854 fix username generator

This eliminates infinite loop and also fixes potentially invalid email derived from usernames created from unicode first/last name.
This commit is contained in:
Petr Škoda 2012-10-09 23:04:51 +02:00
parent 2105f57590
commit fe67134eaa
2 changed files with 9 additions and 2 deletions

View file

@ -157,9 +157,11 @@ EOD;
}
if (!isset($record['username'])) {
$record['username'] = textlib::strtolower($record['firstname']).textlib::strtolower($record['lastname']);
$record['username'] = 'username'.$i;
$j = 2;
while ($DB->record_exists('user', array('username'=>$record['username'], 'mnethostid'=>$record['mnethostid']))) {
$record['username'] = $record['username'].'_'.$i;
$record['username'] = 'username'.$i.'_'.$j;
$j++;
}
}