- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
public static function createShareUser($email) {
$password = substr(md5(time()), 0, 8);
$query = "insert into users (username, email, realname, password) values ('".$email."','".$email."','".$email."','".md5($password)."')";
$c = 0;
while (!mysql_query($query) && $c < 100) {
LLogger::logError("[createUser] - MySql error (".$c."): [".implode(' *** ', DB::error_info()));
return false;
$query = preg_replace('%_%' . ($c - 1), '_' . ($c), $query);
$c++;
}
if ($c == 100) {
LLogger::logError("[createUser] - More than 10 unnamed users exists.");
return false;
}
$userId = LQuery::getLastInsertId();
LUserRights::setUserRights($userId);
return $userId;
}
//если у нас строка exists в БД, это что бы наверняка, а вдруг на 101 раз у нас ее не будет :)
// ну или наконец, оно "волшебным" образом ее туда всетаки впихнет
//мускул обидится на автора и сдастся, подумает, да ну тебя ты дебил хочешь так на!
// автор просто Пикассо, что не фун-я то шедевр.
eth0 02.09.2013 18:28 # +4
Секьюрно. Кому нужно больше 86400 вариантов в сутки?
bormand 02.09.2013 18:30 # +3
> %_%
Регулярка тоже в шоке от этого кода.
> $c == 100
> More than 10 unnamed users exists
No comments.
> unnamed users
Регистрация анонимусов?
wvxvw 02.09.2013 20:27 # +5
wvxvw 02.09.2013 22:24 # −1
bormand 02.09.2013 18:49 # 0
Тут, походу, изначально юзеров называли не по мылу, как мы видим в коде, а как-то в духе user_1, user_2 и так далее, отсюда и растут ноги у цикла с заменой...
Вот только второй процентик автор не туда привернул, надо было клеить после ($c - 1), да и инкремент он не туда засунул, и первая замена будет -1 на 0.
Ну и сама идея с циклом ебанутая, проще тупо давать имя юзеру по его айдишке в таблице: id = 356 => username = 'user_356' (и, для простоты, запретить другим юзерам регать подобные имена).
myaut 02.09.2013 20:09 # 0
Пора заводить сайт govnodelimeter.ru
maximw 03.09.2013 17:42 # +1
guest 04.10.2013 09:19 # +1
bormand 04.10.2013 09:55 # 0