blob: 0c1bf0c96d3957eaa72c71448bed3b56c87d88ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
<?php
require_once('Login.class.php');
require_once('Auth.class.php');
Router::register('auth', 'Authenticator');
class Authenticator extends Controller {
public function index($routed, $remainder) {
// 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() {
$uid = Login::isLoggedIn();
if ($uid===false) {
$this->login();
} else {
$username = Auth::getInstance($uid)->getName();
$this->showView('auth/index',
array('username'=>$username));
}
}
private function badrequest() {
$this->showView('auth/badrequest');
}
}
|