diff options
Diffstat (limited to 'modules/session.inc.php')
-rw-r--r-- | modules/session.inc.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/session.inc.php b/modules/session.inc.php new file mode 100644 index 00000000..5b8c5f4d --- /dev/null +++ b/modules/session.inc.php @@ -0,0 +1,39 @@ +<?php + +if (!isset($_REQUEST['action'])) Util::traceError('No action on module init'); + +User::load(); + +if (isset($_POST['action']) && $_POST['action'] === 'login') { + // Login - see if already logged in + if (User::isLoggedIn()) { + Util::redirect('?do=main'); + } + // Else, try to log in + if (User::login($_POST['user'], $_POST['pass'])) { + Util::redirect('?do=main'); + } + // Login credentials wrong + Util::redirect('?do=session&action=fail'); +} + +if ($_REQUEST['action'] === 'logout') { + // Log user out (or do nothing if not logged in) + exit(0); +} + +function render_module() +{ + if (!isset($_GET['action'])) Util::traceError('No action on render'); + if ($_GET['action'] === 'login') { + Render::setTitle('Anmelden'); + Render::addTemplate('page-login'); + return; + } + if ($_GET['action'] === 'fail') { + Render::setTitle('Fehler'); + Render::addError('Benutzer oder Passwort falsch'); + return; + } +} + |