public function actionDeleteAccount() { $model = new ChangePasswordForm(); if ($model->load(Yii::$app->request->post())) { $user = User::findOne(['login' => Yii::$app->user->identity->username]); if ($user != null && $user->pass == hash('sha256', Yii::$app->params['hashSalt'] . $model->password)) { $user->delete(); Yii::$app->getSession()->setFlash('deleted', Yii::t('app', 'You account is deleted')); Yii::$app->user->logout(); $this->goHome(); } else { Yii::$app->getSession()->setFlash('activated', Yii::t('app', 'Bad password')); $this->goHome(); } } else { if (!Yii::$app->user->isGuest) { return $this->render('deleteAccount', ['model' => $model]); } else { return $this->goHome(); } } }
public function actionChangepassword() { $model = new ChangePasswordForm(); $request = Yii::$app->request; $token = $request->get('key'); if ($token == null || User::findOne(['token' => $token]) == null) { return $this->goHome(); } if ($model->load(Yii::$app->request->post()) && $model->changePassword($token)) { Yii::$app->session->setFlash('contactFormSubmitted'); return $this->refresh(); } else { if ($model->load(Yii::$app->request->post()) && !$model->changePassword($token)) { return $this->goHome(); } else { return $this->render('changepassword', ['model' => $model]); } } }