require_once 'includes/classes/FormLogin.php'; require_once 'includes/classes/FormRegister.php'; $fRegister = new FormRegister(); if ($fRegister->validate()) { $fRegister->process(); } $f = new FormLogin(); if ($f->validate()) { try { $username = $f->getElementValue('username'); Session::checkCredentials($username, $f->getElementValue('password')); setcookie('mylocation', Session::getUseR()->getData('location')); redirect('index.php', 'You have logged in.'); } catch (IncorrectPasswordException $e) { Logger::messageNormal('Failed login for ' . $username . ', password wrong.', LocalEventType::LOGIN_FAILURE_PASSWORD); $f->setElementError('password', 'Password wrong.'); } catch (UserNotFoundException $e) { Logger::messageNormal('Failed login for ' . $username . ', nonexistant user.', LocalEventType::LOGIN_FAILURE_USERNAME); $f->setElementError('username', 'User not found'); } } else { if (isset($_GET['formLogin-username'])) { $username = htmlentities($_GET['formLogin-username']); $f->getElement('username')->setValue($username); } } if (Session::isLoggedIn()) { redirect('index.php', 'You are already logged in!'); } define('TITLE', 'Login to, or Register an account'); require_once 'includes/widgets/header.php';
} require_once 'includes/widgets/footer.php'; } if (isset($_REQUEST['username'])) { $loginForm->getElement('username')->setValue(filter_var($_REQUEST['username'], FILTER_SANITIZE_STRING)); } if ($loginForm->validate()) { $username = $loginForm->getElementValue('username'); $password = $loginForm->getElementValue('password'); try { Session::checkCredentials($username, $password); applyAchievements(); logActivity('Logged in'); redirect('index.php', 'You have sucessfully logged in.'); } catch (\libAllure\UserNotFoundException $e) { $loginForm->setElementError('username', 'User not found.'); } catch (\libAllure\IncorrectPasswordException $e) { $loginForm->setElementError('password', 'Incorrect password.'); } catch (Exception $e) { $loginForm->setGeneralError('Failed to login because of a system problem.'); Logger::messageException($e); } } require_once 'includes/widgets/header.php'; require_once 'includes/widgets/sidebar.php'; ob_end_flush(); if (isset($_REQUEST['redirect'])) { echo '<p><strong>You will be redirected after you login.</strong></p>'; $loginForm->addElement(new ElementHidden('redirect', $_REQUEST['redirect'])); } $tpl->assign('isMaintMode', getSiteSetting('maintenanceMode'));
class FormLogin extends \libAllure\Form { public function __construct() { $this->addElement(new ElementInput('username', 'Username')); $this->addElement(new ElementPassword('password', 'Password')); $this->addDefaultButtons(); } } $f = new FormLogin(); if ($f->validate()) { $username = $f->getElementValue('username'); $password = $f->getElementValue('password'); try { //Session::isLoggedIn(); Session::checkCredentials($username, $password); require_once 'includes/widgets/header.minimal.php'; $core->redirect('index.php', 'Thanks for logging in.'); } catch (UserNotFoundException $e) { $f->setElementError('username', 'User not found'); } catch (IncorrectPasswordException $e) { $f->setElementError('password', 'Incorrect password.'); } } $title = "login"; require_once 'includes/widgets/header.php'; $tpl->displayForm($f); require_once "includes/widgets/footer.php"; ?>