コード例 #1
0
ファイル: UsersController.php プロジェクト: norayr/notabenoid
 public function actionAdminRemindToken($id)
 {
     if (!Yii::app()->user->can("admin")) {
         throw new CHttpException(404);
     }
     $user = $this->loadUser($id);
     $token = RemindToken::gen($user);
     $this->redirect("/users/{$user->id}/admin");
 }
コード例 #2
0
 public function actionReset($u, $c)
 {
     $token = RemindToken::model()->find("user_id = :user_id", ["user_id" => (int) $u]);
     if (!$token || !$token->check($c)) {
         $this->render("reset_fail");
         echo "";
         return;
     }
     $user = User::model()->findByPk($token->user_id);
     if (Yii::app()->request->isPostRequest) {
         $pass = $_POST["pass"];
         if (strlen($pass) < 8) {
             Yii::app()->user->setFlash("error", "Пароль не может быть короче 8 символов. Напрягите воображение.!");
         } elseif ($pass != $_POST["pass2"]) {
             Yii::app()->user->setFlash("error", "Пароли не совпадают, попробуйте ещё раз!");
         } else {
             /** @todo: чувак, немножко отпустит - перепиши этот кусок, некрасиво */
             $user->pass = User::hashPass($pass);
             $user->save();
             $user->pass = $pass;
             $user->login();
             $token->delete();
             Yii::app()->user->setFlash("success", "Рады видеть вас снова!");
             $this->redirect("/");
         }
     }
     $this->render("reset", ["user" => $user]);
 }