protected function afterSave() { parent::afterSave(); // send the needed emails for account activation if (($this->scenario === 'admin' || $this->scenario === 'registration') && $this->status === self::WAITING_ACTIVATION) { $mail = new UGMail($this, UGMail::ACTIVATION); $mail->send(); } // set the flash messages if ($this->scenario === 'registration' || $this->scenario === 'recovery' || $this->scenario === 'swift_recovery') { if ((int) $this->status === self::WAITING_ACTIVATION) { Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'An email was sent with the instructions to activate your account to the address {email}.', array('{email}' => $this->email))); } else { if ((int) $this->status === self::WAITING_APPROVAL) { Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'Registration Complete. You now have to wait for an admin to approve your account.')); } else { Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'Registration Complete, you can now login.')); } } } }
/** * form for new pass request */ public function actionPassRequest() { $formmodel = new UserGroupsUser('passRequest'); if (isset($_POST['UserGroupsUser'])) { $formmodel->attributes = $_POST['UserGroupsUser']; $attr = 'username'; $val = $formmodel->username; if (!$formmodel->username) { $attr = 'email'; $val = $formmodel->email; } if (!$formmodel->email) { $attr = 'username'; $val = $formmodel->username; } if ($formmodel->username || $formmodel->email) { $model = UserGroupsUser::model()->findByAttributes(array($attr => $val)); if ($model) { $model->scenario = 'passRequest'; if ($model->save()) { $mail = new UGMail($model, UGMail::PASS_RESET); if ($mail->send()) { if (!Yii::app()->user->hasFlash('success')) { Yii::app()->user->setFlash('success', Yii::t('UserGroupsModule.general', 'An email containing the instructions to reset your password has been sent to your email address: {email}')); } } } else { //print_r ($model->errors); die(); Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'An Error Occurred. Please try later.')); } $this->redirect(array('/userGroups/')); } } $formmodel->validate(); } $this->render('passRequest', array('model' => $formmodel)); }
/** * form for new pass request */ public function actionPassRequest() { $formmodel = new UserGroupsUser('passRequest'); if (isset($_POST['UserGroupsUser'])) { $formmodel->attributes = $_POST['UserGroupsUser']; $attr = 'username'; $val = $formmodel->username; if (!$formmodel->username) { $attr = 'email'; $val = $formmodel->email; } if (!$formmodel->email) { $attr = 'username'; $val = $formmodel->username; } if ($formmodel->username || $formmodel->email) { $model = UserGroupsUser::model()->findByAttributes(array($attr => $val)); if ($model) { if ($model->xml_id && $model->external_auth_id) { $mail = new UGMail($model, UGMail::PASS_RESET_ERROR); $mail->send(); Yii::app()->user->setFlash('success', 'Невозможно поменять пароль т.к. Вы авторизировались с помощью ' . $model->external_auth_id); } else { $flash = ''; $model->scenario = 'passRequest'; if ($model->save()) { $mail = new UGMail($model, UGMail::PASS_RESET); $mail->send(); $flash = Yii::t('UserGroupsModule.general', 'An email containing the instructions to reset your password has been sent to your email address: {email}'); } else { //print_r ($model->errors); die(); $flash = Yii::t('userGroupsModule.general', 'An Error Occurred. Please try later.'); } Yii::app()->user->logout(); $cookies = Yii::app()->request->cookies; $cookies->add('success', new CHttpCookie('success', $flash)); } $this->redirect(array('/userGroups/user/login/')); } } $formmodel->validate(); } $this->render('passRequest', array('model' => $formmodel)); }
/** * form for new pass request */ public function actionPassRequest() { $model = new UserGroupsUser('passRequest'); if (isset($_POST['UserGroupsUser'])) { $model->attributes = $_POST['UserGroupsUser']; if ($model->validate()) { $model = UserGroupsUser::model()->findByAttributes(array('username' => $_POST['UserGroupsUser']['username'])); $model->scenario = 'passRequest'; if ($model->save()) { $mail = new UGMail($model, UGMail::PASS_RESET); $mail->send(); } else { Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'An Error Occurred. Please try later.')); } $this->redirect(Yii::app()->baseUrl . '/userGroups'); } } $this->render('passRequest', array('model' => $model)); }