Beispiel #1
0
 public function actionSignupVerify()
 {
     $request = wanhunet::$app->request;
     $phone = $request->post('phone');
     $captcha = $request->post('captcha');
     $pass = $request->post('password');
     $invitation = $request->post('invitation');
     $vcode = VerificationCode::findByField($phone);
     if ($vcode !== null && $vcode->verify($captcha)) {
         $model = new SignupForm();
         $model->username = $phone;
         $model->password = $pass;
         $model->parent = $invitation;
         if (($user = $model->signup()) !== null) {
             if (wanhunet::$app->getUser()->login($user)) {
                 $vcode->verifySave();
                 if ($request->post("action_do", null) === null) {
                     return $this->redirect(Url::to(['site/main']));
                 } else {
                     if ($request->post('wechat_id', null) !== null) {
                         $member = wanhunet::app()->member;
                         $wechatInfo = new MemberOther();
                         $wechatInfo->user_id = $member->id;
                         $wechatInfo->table = MemberOther::TABLE_WECHAT;
                         $wechatInfo->row = $request->post('wechat_id');
                         wanhunet::app()->member->setOtherInfo([$wechatInfo]);
                     }
                     return $this->redirect(Url::to(['share/signup-finish']));
                 }
             } else {
                 return $this->goBack(['info' => '失败请重试'], Url::to(['site/signup']));
             }
         } else {
             return $this->goBack(['info' => current($model->getFirstErrors()), 'signup.phone' => $phone, 'signup.show' => 2], Url::to(['site/signup']));
         }
     } else {
         return $this->goBack(['info' => '验证码错误', 'signup.phone' => $phone, 'signup.show' => 2], Url::to(['site/signup']));
     }
 }