public function actionChangePassword($code) { $model = new User(User::SCENARIO_CHANGE_PASSWORD); $form = new Form('users.ChangePasswordForm', $model); $this->performAjaxValidation($model); $user = User::model()->findByAttributes(array('password_recover_code' => $code)); if (!$user) { Yii::app()->user->setFlash('error', 'Неверная ссылка изменения пароля'); $this->redirect('/login'); } else { if (strtotime($user->password_recover_date) + 24 * 3600 > time()) { if ($form->submited()) { $user->password_recover_code = null; $user->password_recover_date = null; $user->password = md5($_POST['User']['password']); $user->save(); Yii::app()->user->setFlash('success', 'Ваш пароль успешно изменен, вы можете авторизоваться!'); $this->redirect('/login'); } } else { Yii::app()->user->setFlash('error', 'С момента запроса на восстановление пароля прошло больше суток'); $this->redirect('/login'); } } $this->render('changePassword', array('model' => $model, 'form' => $form)); }