Beispiel #1
0
 public function actionChangeEmail()
 {
     if (Yii::app()->user->isGuest) {
         Yii::app()->request->redirect(basePath(''));
     }
     //do validation
     $model = new ChangeEmailForm();
     $model->setAttributes(array('username' => $_POST['username'], 'username_confirm' => $_POST['username_confirm'], 'password' => $_POST['password']));
     $model->validate();
     $errors = $model->getErrors();
     if (count($errors) != 0) {
         Yii::app()->user->setFlash('changeemailerror', true);
         foreach ($errors as $key => $value) {
             Yii::app()->user->setFlash($key, $value);
         }
         Yii::app()->request->redirect(basePath('app/myprofile'));
         return;
     }
     $user = User::model()->findByPk(Yii::app()->user->getState('id'));
     if ($user->password != $_POST['password']) {
         Yii::app()->user->setFlash('password', array('0' => 'Invalid password'));
         Yii::app()->request->redirect(basePath('app/myprofile'));
         return;
     }
     //update user's email
     $user->email = $model->username;
     $user->update();
     //update session state
     $userControl = new userControl();
     $userControl->update();
     //redirect user to my profile page
     Yii::app()->request->redirect(basePath('app/myprofile'));
 }