public static function authAdmin($login = false, $password = false) { if ($login) { $auth = true; } else { if (!session_id()) { session_start(); } if (!empty($_SESSION["auth_login"]) && !empty($_SESSION["auth_password"])) { $login = $_SESSION["auth_login"]; $password = $_SESSION["auth_password"]; } else { return; } $auth = false; } $user = new AdminDB(); if ($auth) { $password = self::hash($password, Config::SECRET); } $select = new Select(); $select->from(self::$table, array("COUNT(id)"))->where("`login` = " . self::$db->getSQ(), array($login))->where("`password` = " . self::$db->getSQ(), array($password)); $count = self::$db->selectCell($select); if ($count) { $user->loadOnLogin($login); if ($user->activation != "") { throw new Exception("ERROR_ACTIVATE_USER"); } if ($auth) { $user->login(); } return $user; } if ($auth) { throw new Exception("ERROR_AUTH_USER"); } }
public function actionActivate() { $user_db = new AdminDB(); $user_db->loadOnLogin($this->request->login); $hornav = $this->getHornav(); if ($user_db->isSaved() && $user_db->activation == "") { $this->title = "Ваш аккаунт уже активирован"; $this->meta_desc = "Вы можете войти в свой аккаунт, используя Ваши логин и пароль."; $this->meta_key = "активация, успешная активация, успешная активация регистрация"; $hornav->addData("Активация"); } elseif ($user_db->activation != $this->request->key) { $this->title = "Ошибка при активации"; $this->meta_desc = "Неверный код активации! Если ошибка будет повторяться, то обратитесь к администрации."; $this->meta_key = "активация, ошибка активация, ошибка активация регистрация"; $hornav->addData("Ошибка активации"); } else { $user_db->activation = ""; try { $user_db->save(); } catch (Exception $e) { print_r($e->getMessage()); } $this->title = "Ваш аккаунт успешно активирован"; $this->meta_desc = "Теперь Вы можете войти в свою учётную запись, используя Ваши логин и пароль."; $this->meta_key = "активация, успешная активация, успешная активация регистрация"; $hornav->addData("Активация"); } $head = $this->getHead(array("/css/main.css")); $pm = new PageMessage(); $pm->hornav = $hornav; $pm->header = $this->title; $pm->text = $this->meta_desc; $this->render($head, $pm); }