summaryrefslogtreecommitdiff
path: root/src/controllers/AuthPage.class.php
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2011-09-04 21:09:57 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2011-09-04 21:09:57 -0400
commitf3b3ea69fb46e45bf3598aa7a6bcf62aa80e4703 (patch)
tree55baf83ca112d7ace75379dbde5e1afec7a854e7 /src/controllers/AuthPage.class.php
parentb7280e6e91eb0f6da5a59a8ffd3da6f7c83e2815 (diff)
mv src/controllers/Auth{,Page}.class.php, change a few things (I'm terrible)
Diffstat (limited to 'src/controllers/AuthPage.class.php')
-rw-r--r--src/controllers/AuthPage.class.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/controllers/AuthPage.class.php b/src/controllers/AuthPage.class.php
new file mode 100644
index 0000000..127bc1f
--- /dev/null
+++ b/src/controllers/AuthPage.class.php
@@ -0,0 +1,56 @@
+<?php
+
+Router::register('auth', 'AuthPage');
+
+class AuthPage extends Controller {
+ public function index($routed, $remainder) {
+ // So if $_POST['action'] isn't set, it will trip on '', which
+ // is great, so we don't have to handle GET and PUT separately.
+ @$action = $_POST['action'];
+ switch ($action) {
+ case 'login' : $this->login(); break;
+ case 'logout': $this->logout(); break;
+ case '' : $this->maybe_login(); break;
+ default : $this->badrequest(); break;
+ }
+ }
+ private function login() {
+ $username = '';
+ $password = '';
+
+ $login = -1;
+ if ( isset($_POST['username']) && isset($_POST['password'])) {
+ $username = $_POST['username'];
+ $password = $_POST['password'];
+ $login = Login::login($username, $password);
+ }
+
+ $vars = array();
+ $vars['login_code'] = $login;
+ $vars['username'] = $username;
+ $vars['password'] = $password;
+ if (isset($_POST['url'])) {
+ $vars['url'] = $_POST['url'];
+ }
+
+ $this->showView('auth/login', $vars);
+ }
+ private function logout() {
+ Login::logout();
+ $this->showView('auth/logout');
+ }
+ private function maybe_login() {
+ global $mm;
+ $uid = Login::isLoggedIn();
+ if ($uid===false) {
+ $this->login();
+ } else {
+ $username = $mm->database()->getUsername($uid);
+ $this->showView('auth/index',
+ array('username'=>$username));
+ }
+ }
+ private function badrequest() {
+ $this->showView('auth/badrequest');
+ }
+}