summaryrefslogtreecommitdiffstats
path: root/modules/session
diff options
context:
space:
mode:
Diffstat (limited to 'modules/session')
-rw-r--r--modules/session/config.json4
-rw-r--r--modules/session/module.inc.php36
-rw-r--r--modules/session/templates/page-login.html11
3 files changed, 51 insertions, 0 deletions
diff --git a/modules/session/config.json b/modules/session/config.json
new file mode 100644
index 00000000..d5da4cc8
--- /dev/null
+++ b/modules/session/config.json
@@ -0,0 +1,4 @@
+{
+ "category":"hidden",
+ "enabled":"true"
+}
diff --git a/modules/session/module.inc.php b/modules/session/module.inc.php
new file mode 100644
index 00000000..ef135f9d
--- /dev/null
+++ b/modules/session/module.inc.php
@@ -0,0 +1,36 @@
+<?php
+
+class Page_Session extends Page
+{
+
+ protected function doPreprocess()
+ {
+ User::load();
+ if (Request::post('action') === 'login') {
+ // Login - see if already logged in
+ if (User::isLoggedIn()) // and then just redirect
+ Util::redirect('?do=Main');
+ // Else, try to log in
+ if (User::login(Request::post('user'), Request::post('pass')))
+ Util::redirect('?do=Main');
+ // Login credentials wrong - delay and show error message
+ sleep(1);
+ Message::addError('loginfail');
+ }
+ if (Request::post('action') === 'logout') {
+ // Log user out (or do nothing if not logged in)
+ User::logout();
+ Util::redirect('?do=Main');
+ }
+
+ if (User::isLoggedIn())
+ Util::redirect('?do=Main');
+ }
+
+ protected function doRender()
+ {
+ Render::setTitle(Dictionary::translate('lang_login'));
+ Render::addTemplate('page-login');
+ }
+
+}
diff --git a/modules/session/templates/page-login.html b/modules/session/templates/page-login.html
new file mode 100644
index 00000000..247e9a55
--- /dev/null
+++ b/modules/session/templates/page-login.html
@@ -0,0 +1,11 @@
+<form class="form-signin" action="?do=Session" method="post">
+ <h2 class="form-signin-heading">{{lang_enter}}</h2>
+ <input type="text" name="user" class="form-control" placeholder="{{lang_username}}" autofocus>
+ <input type="password" name="pass" class="form-control" placeholder="{{lang_password}}">
+ <!--label class="checkbox">
+ <input type="checkbox" name="remember" value="remember-me"> {{lang_rememberID}}
+ </label-->
+ <button class="btn btn-lg btn-primary btn-block" type="submit">{{lang_login}}</button>
+ <a class="btn btn-lg btn-primary btn-block" href="?do=AddUser">{{lang_register}}</a>
+ <input type="hidden" name="action" value="login">
+</form> \ No newline at end of file