/**
  * Displays the login page
  */
 public function actionLogin()
 {
     $this->layout = 'login_layout';
     if (Yii::app()->user->isGuest) {
         $login = new LoginUser();
         $model = $this->captchaRequired() ? new LoginForm('captchaRequired') : new LoginForm();
         // if it is ajax validation request
         if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
             echo CActiveForm::validate($model);
             Yii::app()->end();
         }
         // collect user input data
         if (isset($_POST['LoginForm'])) {
             $model->attributes = $_POST['LoginForm'];
             //$login->attributes=$_POST['LoginUser'];
             // validate user input and redirect to the previous page if valid
             if ($model->validate() && $model->login()) {
                 Yii::app()->user->setState('org_id', 1);
                 $loginuser = Yii::app()->user->id;
                 $emplogin = EmployeeTransaction::model()->findByAttributes(array('employee_transaction_user_id' => $loginuser));
                 $studlogin = StudentTransaction::model()->findByAttributes(array('student_transaction_user_id' => $loginuser));
                 if ($studlogin) {
                     Yii::app()->user->setState('stud_id', $studlogin->student_transaction_id);
                 }
                 if ($emplogin) {
                     Yii::app()->user->setState('emp_id', $emplogin->employee_transaction_id);
                 }
                 $login->user_id = Yii::app()->user->id;
                 $login->status = 1;
                 $login->log_in_time = new CDbExpression('NOW()');
                 $login->user_ip_address = $_SERVER['REMOTE_ADDR'];
                 $login->login_organization_id = Yii::app()->user->getState('org_id');
                 $login->save();
                 $this->redirect(array('site/newdashboard'));
             } else {
                 $this->counter = Yii::app()->session->itemAt('captchaRequired') + 1;
                 Yii::app()->session->add('captchaRequired', $this->counter);
             }
         }
         // display the login form
         $this->render('login', array('model' => $model));
     } else {
         if (Yii::app()->user->getState('org_id') != NULL) {
             $this->redirect(array('site/newdashboard'));
         } else {
             Yii::app()->user->logout();
             $this->redirect(Yii::app()->homeUrl);
         }
     }
 }
예제 #2
0
 public function actionParentlogin()
 {
     $this->layout = 'login_layout';
     if (Yii::app()->user->isGuest) {
         $login = new LoginUser();
         $model = $this->captchaRequired() ? new LoginForm('parentcaptchaRequired') : new LoginForm('parentlogin');
         if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
             echo CActiveForm::validate($model);
             Yii::app()->end();
         }
         if (isset($_POST['LoginForm'])) {
             $model->attributes = $_POST['LoginForm'];
             if ($model->validate() && $model->parentlogin()) {
                 $login->user_id = Yii::app()->user->id;
                 $loginuser = $login->user_id;
                 $res = ParentLogin::model()->findByPk($loginuser);
                 $studlogin = StudentTransaction::model()->findByAttributes(array('student_transaction_parent_id' => $res->parent_id));
                 Yii::app()->user->setState('stud_id', $studlogin->student_transaction_id);
                 Yii::app()->user->setState('parent_id', $loginuser);
                 Yii::app()->user->setState('org_id', $res->parent_organization_id);
                 $login->status = 1;
                 $login->log_in_time = new CDbExpression('NOW()');
                 $login->user_ip_address = $_SERVER['REMOTE_ADDR'];
                 //$login->login_oraganization_id=$res->parent_organization_id;
                 $login->save();
                 $this->redirect(array('parents/parent/studentprofile?id=' . $studlogin->student_transaction_id));
             } else {
                 $this->counter = Yii::app()->session->itemAt('captchaRequired') + 1;
                 Yii::app()->session->add('captchaRequired', $this->counter);
             }
         }
         $this->render('parent_login', array('model' => $model));
     } else {
         if (Yii::app()->user->getState('org_id') != NULL) {
             $this->redirect(array('site/dashboard'));
         } else {
             Yii::app()->user->logout();
             $this->redirect(Yii::app()->homeUrl);
         }
     }
 }
예제 #3
0
 /**
  * Displays the login page
  */
 public function actionLogin()
 {
     $this->layout = 'login_layout';
     if (Yii::app()->user->isGuest) {
         $login = new LoginUser();
         $model = $this->captchaRequired() ? new LoginForm('captchaRequired') : new LoginForm('login');
         if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
             echo CActiveForm::validate($model);
             Yii::app()->end();
         }
         if (isset($_POST['LoginForm'])) {
             $model->attributes = $_POST['LoginForm'];
             if ($model->validate() && $model->login()) {
                 $emplogin = EmployeeTransaction::model()->findByAttributes(array('employee_transaction_user_id' => Yii::app()->user->id));
                 $studlogin = StudentTransaction::model()->findByAttributes(array('student_transaction_user_id' => Yii::app()->user->id));
                 if ($studlogin) {
                     Yii::app()->user->setState('stud_id', $studlogin->student_transaction_id);
                 }
                 if ($emplogin) {
                     Yii::app()->user->setState('emp_id', $emplogin->employee_transaction_id);
                 }
                 $login->user_id = Yii::app()->user->id;
                 $login->status = 1;
                 $login->log_in_time = new CDbExpression('NOW()');
                 $login->user_ip_address = $_SERVER['REMOTE_ADDR'];
                 $login->login_organization_id = 1;
                 $login->save();
                 $this->redirect(array('site/newdashboard'));
             } else {
                 $this->counter = Yii::app()->session->itemAt('captchaRequired') + 1;
                 Yii::app()->session->add('captchaRequired', $this->counter);
             }
         }
         $this->render('login', array('model' => $model));
     } else {
         $this->redirect(array('site/newdashboard'));
     }
 }