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