From 3561ed3caec4754758a0b90e631dfed746b0c4fb Mon Sep 17 00:00:00 2001 From: Malf Furious Date: Fri, 9 Feb 2018 00:56:45 -0500 Subject: Add login model --- app/model/login.php | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 app/model/login.php (limited to 'app/model/login.php') diff --git a/app/model/login.php b/app/model/login.php new file mode 100644 index 0000000..af4a5b3 --- /dev/null +++ b/app/model/login.php @@ -0,0 +1,92 @@ +text("uname"); + $form->text("passwd", false); + + if (!$form->populate(input())) + goto prep; + + if (!(($user = user::getByUname($form->uname)) && + $user->validatePasswd($form->passwd))) + { + logError(ERROR, "Username or password is incorrect"); + goto prep; + } + + user::setCurrent($user); + location("/"); +} + +/* + * Action: signup - Attempt to register a new account + */ +if (isAction("signup")) +{ + if (!settings::allowPublicSignup() && + count(user::getAll_ordByUname()) > 0) + { + logError(ERROR, "You may not signup at this time"); + goto prep; + } + + $form = new form(); + $form->text("uname"); + $form->text("passwd", false); + $form->text("cpasswd", false); + + if (!$form->populate(input())) + goto prep; + + if ($form->passwd != $form->cpasswd) + { + logError(ERROR, "Passwords do not match"); + goto prep; + } + + if (!($user = user::initNew($form->uname, $form->passwd))) + { + logError(ERROR, "Your requested username is already in use"); + goto prep; + } + + user::setCurrent($user); + location("/"); +} + +prep: + + if (count(user::getAll_ordByUname()) == 0) + { + $noaccounts = true; + $activeTab['signup'] = "in active"; + $tabSwap = false; + } + else + { + $activeTab['login'] = "in active"; + $tabSwap = settings::allowPublicSignup(); + } + +?> -- cgit v1.2.3 From d75ede4175eac843994a93a913d445c029a44631 Mon Sep 17 00:00:00 2001 From: Malf Furious Date: Sun, 22 Jul 2018 03:51:30 -0400 Subject: Fix bug with login handler Now reloading current path after successful login, instead of redirecting to app-root. --- app/model/login.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/model/login.php') diff --git a/app/model/login.php b/app/model/login.php index af4a5b3..6358e12 100644 --- a/app/model/login.php +++ b/app/model/login.php @@ -36,7 +36,7 @@ if (isAction("login")) } user::setCurrent($user); - location("/"); + location(); } /* -- cgit v1.2.3 From f041e8a5fed0a1bc9be9aa9665f58e6f5a55879b Mon Sep 17 00:00:00 2001 From: Malf Furious Date: Fri, 26 Oct 2018 21:27:06 -0400 Subject: user: Add log events for some basic user mgmt Signed-off-by: Malf Furious --- app/model/login.php | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'app/model/login.php') diff --git a/app/model/login.php b/app/model/login.php index 6358e12..3393281 100644 --- a/app/model/login.php +++ b/app/model/login.php @@ -32,6 +32,10 @@ if (isAction("login")) $user->validatePasswd($form->passwd))) { logError(ERROR, "Username or password is incorrect"); + + if ($user) + $log = mesg::initNewAdminLog("Failed login for username '%s'", $user); + goto prep; } @@ -72,6 +76,7 @@ if (isAction("signup")) } user::setCurrent($user); + $log = mesg::initNewAdminLog("%s account registered", $user); location("/"); } -- cgit v1.2.3