login.php
2.69 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
// main library routines and defaults
require_once("./config/owl.php");
require_once("./lib/owl.lib.php");
require_once("./config/html.php");
require_once("./lib/Authenticator.php");
// this page displays the login form
// and performs the business logic login code
if ($loginAction == "loginForm") {
// TODO: build login form using PatternMainPage
include("./lib/header.inc");
print("<CENTER>");
print("<IMG SRC='$default->owl_root_url/locale/$default->owl_lang/graphics/$default->logo'><BR>$lang_engine<BR>$lang_version: $default->version<BR><HR WIDTH=300>");
print "<FORM ACTION=\"control.php\" METHOD=\"POST\">";
if (isset($fileid)) {
print "<INPUT TYPE=\"HIDDEN\" NAME=\"parent\" value=\"$parent\">";
print "<INPUT TYPE=\"HIDDEN\" NAME=\"fileid\" value=\"$fileid\">";
}
print "<TABLE><TR><TD>$lang_username:</TD><TD><INPUT TYPE=\"TEXT\" NAME=\"fUserName\"><BR></TD></TR>";
print "<TR><TD>$lang_password:</TD><TD><INPUT TYPE=\"PASSWORD\" NAME=\"fPassword\"><BR></TD></TR></TABLE>";
print "<INPUT TYPE=\"hidden\" name=\"loginAction\" value=\"login\">\n";
print "<INPUT TYPE=\"SUBMIT\" Value=\"$lang_login\">\n";
print "<BR><BR><HR WIDTH=300>";
include("./lib/footer.inc");
} elseif ($loginAction == "login") {
// check the requirements
if (checkrequirements() == 1) {
// TODO: appropriate error message
exit;
} else {
// if requirements are met and we have a username and password to authenticate
if( isset($fUserName) && isset($fPassword) ) {
// verifies the login and password of the user
$userDetails = Authenticator::login($fUserName, $fUserName)
switch ($userDetails["status"]) {
// successfully authenticated
case 1:
$sessionID = Owl_Session::create($userDetails["userID"]);
// check query string and forward to requested page
// else forward to dashboard (config defined page/action)
break;
// login disabled
case 2:
redirect("control.php?action=loginForm&loginFailureMessage=");
break;
// too many sessions
case 3 :
redirect("control.php?action=loginForm&loginFailureMessage=");
break;
default :
redirect("control.php?action=loginForm&loginFailureMessage=");
}
} else {
// didn't receive any login parameters, so redirect login form
$url = "control.php?action=loginForm";
redirect($url);
}
}
}
?>