public function run()
 {
     $request = Yii::$app->request;
     $ident = Yii::$app->user->getIdentity();
     $form = new PasswordForm();
     $form->screen_name = $ident->screen_name;
     if ($request->isPost) {
         $form->load($request->bodyParams);
         $form->screen_name = $ident->screen_name;
         if ($form->validate()) {
             $transaction = Yii::$app->db->beginTransaction();
             try {
                 $ident->password = Password::hash($form->new_password);
                 if ($ident->save()) {
                     $transaction->commit();
                     $this->controller->redirect(['user/profile']);
                     return;
                 }
             } catch (\Exception $e) {
             }
             $transaction->rollback();
         }
     }
     return $this->controller->render('edit-password.tpl', ['user' => $ident, 'form' => $form]);
 }
 public function actionChangepassword()
 {
     $model = new PasswordForm();
     $modeluser = User::find()->where(['username' => Yii::$app->user->identity->username])->one();
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             try {
                 $modeluser->password_hash = Yii::$app->security->generatePasswordHash($_POST['PasswordForm']['newpass']);
                 if ($modeluser->save()) {
                     Yii::$app->getSession()->setFlash('success', 'Password changed');
                     Yii::$app->user->logout();
                     return $this->goHome();
                 } else {
                     Yii::$app->getSession()->setFlash('error', 'Password not changed');
                     //return $this->redirect(['page']);
                 }
             } catch (Exception $e) {
                 Yii::$app->getSession()->setFlash('error', "{$e->getMessage()}");
                 return $this->render('changepassword', ['model' => $model]);
             }
         } else {
             return $this->render('changepassword', ['model' => $model]);
         }
     } else {
         return $this->render('changepassword', ['model' => $model]);
     }
 }
Example #3
0
 public function actionChangepwd()
 {
     \Yii::$app->language = 'vi-VN';
     $model = new PasswordForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $user = User::find(['id' => Yii::$app->user->id])->one();
         $user->setPassword($model->newPassword);
         $user->update();
         Yii::$app->session->setFlash('changePasswordCompleted');
         return $this->refresh();
     } else {
         return $this->render('changepwd', ['model' => $model]);
     }
 }