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)); }
/** * 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]); }
/** * 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))); }
/** * 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)); }
/** * 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)); }