示例#1
0
 public function actionRegister()
 {
     $this->layout = '//home/yii';
     $userModel = new User();
     $UserKey = new UserKey();
     $get = Yii::$app->request->get();
     //key值不存在
     if (!isset($get['key']) || empty($get['key'])) {
         return $this->render("badlink");
     }
     //key值获取单条信息
     $invite = $UserKey->findUseridByKey($UserKey::TYPE_USER_REGISTER, $get['key']);
     if (!isset($invite)) {
         return $this->render("badlink");
     }
     //consume_time 不为空表示该key值已经失效
     if (!is_null($invite->consume_time)) {
         return $this->render("badlink");
     }
     $user = $userModel::findOne($invite->id_user);
     $user->setScenario("activate");
     $loadedPost = $user->load(Yii::$app->request->post());
     if ($loadedPost && Yii::$app->request->isAjax) {
         Yii::$app->response->format = Response::FORMAT_JSON;
         return ActiveForm::validate($user);
     }
     if ($loadedPost && $user->validate()) {
         $user->status = $user::STATUS_ACTIVE;
         $user->save(false);
         $invite->consume_time = date("Y-m-d H:i:s", time());
         $invite->save(false);
         return $this->redirect(["/user/login", "email" => $user->email]);
     }
     return $this->render("register", ['user' => $user, 'invite' => $invite]);
 }