static function auth($login, $password) { $ret = false; $login = system::checkVar($login, isString); $sel = new ormSelect('user'); $sel->where($sel->val('active', '=', 1), $sel->val('login', '=', trim($login)), $sel->containedIn('user_group', $sel->val('active', '=', 1))); $sel->limit(1); if (self::$obj = $sel->getObject()) { if (self::$obj->password == system::checkVar($password, isPassword)) { $ret = self::authHim(self::$obj); } else { $max_error = reg::getKey('/users/errorCountBlock'); //Смотрим, если у юзера уже N неправильных паролей, то блокируем его if (self::$obj->error_passw + 1 >= $max_error && $max_error > 0) { self::$obj->active = 0; self::sendMailBlock(self::$obj); } self::$obj->error_passw++; self::$obj->save(); if (!self::$obj->active) { //записываем что пользователь заблокирован по своей дурости из-за не знания пароля system::log(str_replace('%user%', $login, str_replace('%count%', $max_error, lang::get('BLOCKED_USER'))), error); } else { //Записываем в журнал о неправильном вводе пароля system::log(str_replace('%user%', $login, lang::get('ERROR_PASSWORD')), error); } } } return $ret; }