public function actionRegister()
{
if (!\Yii::$app->user->isGuest) {
return $this->goHome();
}
$rr = new RequestResponse();
$model = new SignupForm();
$model->scenario = SignupForm::SCENARION_FULLINFO;
//Запрос на валидацию ajax формы
if ($rr->isRequestOnValidateAjaxForm()) {
return $rr->ajaxValidateForm($model);
}
//Запрос ajax post
if ($rr->isRequestAjaxPost()) {
if ($model->load(\Yii::$app->request->post()) && ($registeredUser = $model->signup())) {
$rr->success = true;
$rr->message = 'Вы успешно зарегистрированны';
\Yii::$app->user->login($registeredUser, 0);
return $this->redirect($registeredUser->getPageUrl());
} else {
$rr->message = 'Не удалось зарегистрироваться';
}
return (array) $rr;
} else {
if (\Yii::$app->request->isPost) {
if ($model->load(\Yii::$app->request->post()) && $model->sendEmail()) {
if ($ref = UrlHelper::getCurrent()->getRef()) {
return $this->redirect($ref);
} else {
return $this->goBack();
}
}
}
}
return $this->render('register', ['model' => $model]);
}