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')); }