/** * Confirm new e-mail address. * * @param string $key Confirmation token */ public function actionEmail($key) { $model = new Email(['token' => $key]); if ($model->isValidToken() === false) { Yii::$app->session->setFlash('danger', Yii::t('users', 'FRONTEND_FLASH_FAIL_NEW_EMAIL_CONFIRMATION_WITH_INVALID_KEY')); } else { if ($model->confirm()) { Yii::$app->session->setFlash('success', Yii::t('users', 'FRONTEND_FLASH_SUCCESS_NEW_EMAIL_CONFIRMATION')); } else { Yii::$app->session->setFlash('danger', Yii::t('users', 'FRONTEND_FLASH_FAIL_NEW_EMAIL_CONFIRMATION')); } } return $this->goHome(); }
/** * Request email change page. */ public function actionEmail() { $model = new Email(); if ($model->load(Yii::$app->request->post())) { if ($model->validate()) { if ($model->save(false)) { Yii::$app->session->setFlash('success', Yii::t('users', 'FRONTEND_FLASH_SUCCES_EMAIL_CHANGE')); return $this->redirect(['/users/default/view', 'username' => Yii::$app->user->identity->username]); } else { Yii::$app->session->setFlash('danger', Yii::t('users', 'FRONTEND_FLASH_FAIL_EMAIL_CHANGE')); return $this->refresh(); } } elseif (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($model); } } return $this->render('email', ['model' => $model]); }