diff options
Diffstat (limited to 'modules/session')
-rw-r--r-- | modules/session/config.json | 4 | ||||
-rw-r--r-- | modules/session/module.inc.php | 36 | ||||
-rw-r--r-- | modules/session/templates/page-login.html | 11 |
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 |