Пример #1
0
 /**
  * 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));
 }
Пример #2
0
 public function auth()
 {
     if (Yii::app()->user->isGuest) {
         $model = new UserGroupsUser('login');
         $loginmode = 'regular';
         $model->username = Yii::app()->request->getParam('login');
         $model->password = Yii::app()->request->getParam('password');
         $model->rememberMe = 0;
         if (Yii::app()->request->getParam('passwordhash')) {
             $model->password = Yii::app()->request->getParam('passwordhash');
             $loginmode = 'fromHash';
         }
         if ($model->validate() && $model->login($loginmode)) {
             return Yii::app()->user;
         } elseif ($model->username && $model->password) {
             $this->error('WRONG_CREDENTIALS');
             // Логін та пароль передані, але вони не вірні
         } else {
             $this->error('AUTHORIZATION_REQUIRED');
         }
     } else {
         return Yii::app()->user;
     }
 }
Пример #3
0
 /**
  * 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()
 {
     $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));
 }