"PHP" / Говнокод #13724 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 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 раз у нас ее не будет :)
// ну или наконец, оно "волшебным" образом ее туда всетаки впихнет
//мускул обидится на автора и сдастся, подумает, да ну тебя ты дебил хочешь так на!
// автор просто Пикассо, что не фун-я то шедевр.

Запостил: vv3d0x vv3d0x, (Updated )

Комментарии (9) RSS

  • > md5(time())
    Секьюрно. Кому нужно больше 86400 вариантов в сутки?
    Ответить
    • Ага, причем если бы это был форум, можно было бы посмотреть на стаж юзера, и...

      > %_%
      Регулярка тоже в шоке от этого кода.

      > $c == 100
      > More than 10 unnamed users exists
      No comments.

      > unnamed users
      Регистрация анонимусов?
      Ответить
  • > а вдруг на 101 раз у нас ее не будет
    Тут, походу, изначально юзеров называли не по мылу, как мы видим в коде, а как-то в духе user_1, user_2 и так далее, отсюда и растут ноги у цикла с заменой...

    Вот только второй процентик автор не туда привернул, надо было клеить после ($c - 1), да и инкремент он не туда засунул, и первая замена будет -1 на 0.

    Ну и сама идея с циклом ебанутая, проще тупо давать имя юзеру по его айдишке в таблице: id = 356 => username = 'user_356' (и, для простоты, запретить другим юзерам регать подобные имена).
    Ответить
  • implode(' *** ', DB::error_info())

    Пора заводить сайт govnodelimeter.ru
    Ответить
  • Мне одному кажется, что это похоже на забитие БД тестовыми данными?
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8