コード例 #1
0
ファイル: UsersController.php プロジェクト: norayr/notabenoid
 public function actionAdmin($id)
 {
     if (!Yii::app()->user->can("admin")) {
         throw new CHttpException(404);
     }
     $user = $this->loadUser($id);
     $user->scenario = "edit-admin";
     if (Yii::app()->request->isPostRequest) {
         $user->setAttributes($_POST["User"]);
         if (is_array($_POST["can"])) {
             foreach ($_POST["can"] as $bit) {
                 $user->can_set($bit, 1);
             }
         }
         if ($user->save()) {
             Yii::app()->user->setFlash("success", "Сохранено.");
         }
     }
     $remindToken = RemindToken::model()->findByAttributes(["user_id" => $user->id]);
     $sentInvites = RegInvite::model()->with("sender")->findAllByAttributes(["to_id" => $user->id]);
     $this->side_view = ["profile_side" => ["user" => $user, "userinfo" => $user->userinfo]];
     $this->render("admin", ["user" => $user, "remindToken" => $remindToken, "sentInvites" => $sentInvites]);
 }
コード例 #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]);
 }