frontend\controllers\IController::actionEmail PHP 메소드

actionEmail() 공개 메소드

public actionEmail ( $step = '1' )
    public function actionEmail($step = '1')
    {
        $params = ['step' => $step];
        if ($step === '1') {
            $emailBindRequestForm = new EmailBindRequestForm();
            $emailBindRequestForm->load(Yii::$app->request->post());
            if (Yii::$app->request->isAjax) {
                Yii::$app->response->format = Response::FORMAT_JSON;
                return ActiveForm::validate($emailBindRequestForm);
            }
            if (Yii::$app->request->isPost && $emailBindRequestForm->sendEmail()) {
                Yii::$app->session->setFlash('success', '验证码已发送,请至邮箱查看。');
                return $this->redirect(['email', 'step' => '2']);
            }
            $params['emailBindRequestForm'] = $emailBindRequestForm;
        } elseif ($step === '2') {
            $bindEmailForm = new BindEmailForm();
            $bindEmailForm->load(Yii::$app->request->post());
            if (Yii::$app->request->isAjax) {
                Yii::$app->response->format = Response::FORMAT_JSON;
                return ActiveForm::validate($bindEmailForm);
            }
            if (Yii::$app->request->isPost && $bindEmailForm->bind()) {
                Yii::$app->session->setFlash('success', '邮箱绑定成功!');
                return $this->redirect(['email']);
            }
            $params['bindEmailForm'] = $bindEmailForm;
        } else {
            return $this->redirect(['email']);
        }
        return $this->render('email', $params);
    }