public function actionIndex()
 {
     $this->layout = "login";
     $model = new LoginForm();
     $model->setScenario('Existing');
     // collect user input data
     if (isset($_POST['LoginForm'])) {
         $model->attributes = $_POST['LoginForm'];
         // validate user input and redirect to the previous page if valid
         if ($model->validate() && $model->loginadmin()) {
             $this->redirect($this->createAbsoluteUrl("/admin/default"));
         } else {
             $model->addError('password', Yii::t('global', 'Invalid username or password.'));
         }
     }
     // display the login form
     $this->render('index', array('model' => $model));
 }
Beispiel #2
0
 /**
  * Default action
  */
 public function actionIndex()
 {
     if (Yii::app()->user->id) {
         $this->redirect('/');
     }
     if (stristr(Yii::app()->user->returnUrl, 'logout')) {
         Yii::app()->user->setReturnUrl('login');
     }
     $model = new LoginForm();
     if (isset($_POST['LoginForm'])) {
         $model->attributes = $_POST['LoginForm'];
         if ($model->validate() && $model->login()) {
             $url = Yii::app()->user->returnUrl;
             $this->redirect($url);
         } else {
             $model->addError('varPassword', 'Wrong login or password.');
         }
     }
     $this->render('login', ['model' => $model]);
 }
Beispiel #3
0
 /**
  * Displays the login page
  *
  * @param bool $redirected
  *
  * @throws DreamFactory\Platform\Exceptions\InternalServerErrorException
  */
 public function actionLogin($redirected = false)
 {
     if (!Pii::guest()) {
         $this->redirect('/');
     }
     $_model = new LoginForm();
     // collect user input data
     if (isset($_POST, $_POST['LoginForm'])) {
         $_model->setAttributes($_POST['LoginForm']);
         $_model->rememberMe = 'on' == Option::getBool($_POST['LoginForm'], 'rememberMe', 'off');
         if (1 == Option::get($_POST, 'forgot', 0)) {
             try {
                 $_result = Password::passwordReset($_model->username);
                 $_question = Option::get($_result, 'security_question');
                 if (!empty($_question)) {
                     $_result = Password::passwordReset($_model->username);
                     $_question = Option::get($_result, 'security_question');
                     if (!empty($_question)) {
                         Pii::setFlash('security-email', $_model->username);
                         Pii::setFlash('security-question', $_question);
                         $this->redirect('/' . $this->id . '/securityQuestion');
                     }
                     return;
                 } elseif (Option::getBool($_result, 'success')) {
                     Pii::setFlash('login-form', 'A password reset confirmation has been sent to this email.');
                 }
             } catch (\Exception $_ex) {
                 $_model->addError('username', $_ex->getMessage());
             }
         } else {
             if ($_model->validate()) {
                 $this->redirect($this->_getRedirectUrl());
                 return;
             }
         }
     }
     $this->render('login', array('model' => $_model, 'activated' => $this->_activated, 'allowRegistration' => Config::getOpenRegistration(), 'redirected' => $redirected, 'loginProviders' => Platform::storeGet(Config::PROVIDERS_CACHE_KEY)));
 }
Beispiel #4
0
 /** 
  * Generates a new random password and creates a new Notification item
  */
 public function actionRetrieve()
 {
     $model = new LoginForm();
     if (isset($_POST['LoginForm'])) {
         $user = Users::model()->findByPk($_POST['LoginForm']['username']);
         if ($user === null) {
             $model->addError('username', Yii::t('user', 'Username not valid'));
         } else {
             $new_pass = Users::model()->generatePassword();
             $user->attributes = array('password' => Users::model()->hashPassword($new_pass));
             $user->save();
             //Notification
             Notifications::generate('Users', $user->username, 'users', 'retrieve', $new_pass);
             // display the login form
             Yii::app()->user->setFlash('retrieve', 'The new password was sent to you via email.');
             $this->redirect(array('login'));
         }
     }
     // display the retrieve form
     $this->render('retrieve', array('model' => $model));
 }
Beispiel #5
0
 /**
  * Displays the login page
  */
 public function actionLogin()
 {
     $this->layout = '//layouts/column1';
     $this->requiredLogin = false;
     $model = new LoginForm();
     // collect user input data
     if (isset($_POST['LoginForm'])) {
         $model->attributes = $_POST['LoginForm'];
         // validate user input and redirect to the previous page if valid
         // Yii::app()->user  means  MyshowWebUser
         if ($model->login()) {
             $this->redirect(Yii::app()->user->returnUrl);
         }
         $model->addError('password', '用户名和密码不匹配,请重新输入');
     }
     $this->pageTitle = '请登录';
     $this->breadcrumbs = array($this->pageTitle);
     // display the login form
     $this->render('login', array('model' => $model));
 }
 public function actionLogin()
 {
     $this->layout = '//layouts/login';
     // echo var_dump(Session::getOnlineUsers());
     if (Yii::app()->user->isInitialized && !Yii::app()->user->isGuest) {
         $this->redirect(Yii::app()->homeUrl);
         return;
     }
     $model = new LoginForm();
     $model->useCaptcha = false;
     // collect user input data
     if (isset($_POST['LoginForm'])) {
         $model->attributes = $_POST['LoginForm'];
         $ip = $this->getRealIp();
         x2base::cleanUpSessions();
         $session = CActiveRecord::model('Session')->findByAttributes(array('user' => $model->username, 'IP' => $ip));
         if (isset($session)) {
             $session->lastUpdated = time();
             if ($session->status < 1) {
                 if ($session->status > -3) {
                     $session->status -= 1;
                 }
             } else {
                 $session->status = -1;
             }
             if ($session->status < -1) {
                 $model->useCaptcha = true;
             }
             if ($session->status < -2) {
                 $model->setScenario('loginWithCaptcha');
             }
         } else {
             $session = new Session();
             $session->user = $model->username;
             $session->lastUpdated = time();
             $session->status = 1;
             $session->IP = $ip;
         }
         if ($model->validate() && $model->login()) {
             $user = User::model()->findByPk(Yii::app()->user->getId());
             $user->login = time();
             $user->save();
             if ($user->username == 'admin') {
                 if (ini_get('allow_url_fopen') == 1) {
                     $context = stream_context_create(array('http' => array('timeout' => 2)));
                     $updateSources = array('http://x2planet.com/updates/versionCheck.php', 'http://x2base.com/updates/versionCheck.php');
                     $newVersion = '';
                     foreach ($updateSources as $url) {
                         $sourceVersion = @file_get_contents($url, 0, $context);
                         if ($sourceVersion !== false) {
                             $newVersion = $sourceVersion;
                             break;
                         }
                     }
                     if (empty($newVersion)) {
                         $newVersion = Yii::app()->params->version;
                     }
                     /* 
                     						// check X2Planet for updates
                     						$x2planetVersion = @file_get_contents('http://x2planet.com/updates/versionCheck.php',0,$context);
                     						if($x2planetVersion !== false)
                     							$newVersion = $x2planetVersion;
                     						else {
                     							// try X2Base if that didn't work
                     							$x2baseVersion = @file_get_contents('http://x2base.com/updates/versionCheck.php',0,$context);
                     							if($x2baseVersion !== false)
                     								$newVersion=$x2baseVersion;
                     							else
                     								$newVersion=Yii::app()->params->version;
                     						} */
                     if (version_compare($newVersion, Yii::app()->params->version) > 0) {
                         // if the latest version is newer than our version
                         Yii::app()->session['versionCheck'] = false;
                         Yii::app()->session['newVersion'] = $newVersion;
                     } else {
                         Yii::app()->session['versionCheck'] = true;
                     }
                 } else {
                     Yii::app()->session['versionCheck'] = true;
                 }
             } else {
                 Yii::app()->session['versionCheck'] = true;
             }
             Yii::app()->session['loginTime'] = time();
             $session->status = 1;
             $session->save();
             if (Yii::app()->user->returnUrl == 'site/index') {
                 $this->redirect('index');
             } else {
                 $this->redirect(Yii::app()->user->returnUrl);
             }
         } else {
             $session->save();
             $model->verifyCode = '';
             if ($model->hasErrors()) {
                 $model->addError('username', Yii::t('app', 'Incorrect username or password.'));
             }
             $model->addError('password', Yii::t('app', 'Incorrect username or password.'));
         }
     }
     // display the login form
     $this->render('login', array('model' => $model));
 }