-
Notifications
You must be signed in to change notification settings - Fork 0
/
logon.php
124 lines (107 loc) · 3.38 KB
/
logon.php
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
session_start();
$ticket = $_SESSION["ticket"];
?>
<?php
require('ws/util.php');
require('ws/providers/factory.php');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Àâòîðèçàöèÿ ïîëüçîâàòåëÿ</title>
<script type="text/javascript" src="ui/jquery.min.js"></script>
<script type="text/javascript" src="ui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="js/lib/html.js"></script>
<script type="text/javascript" src="js/lib/jspath.js"></script>
<script type="text/javascript" src="js/arundo.js"></script>
<script type="text/javascript">
Arundo.view = {init: function(){}};
$(function(){
var title = Arundo.locale.getItem("userAuthorization");
document.title = title;
});
</script>
<script type="text/javascript" src="locale/arundo-lang-ru.js"></script>
<style type="text/css">
body{
font-family: Verdana, Arial, Sans-Serif;
font-size: 14px;
text-align: center;
margin: 20px;
}
h1{
margin-top: 80px;
text-align: center;
}
#authorizationPanel{
border:1px solid #888;
/*width: 300px;*/
padding:25px;
margin:50px 350px 0 350px;
}
</style>
</head>
<body>
<h1 class="local" ar-locale-id="userAuthorization">Àâòîðèçàöèÿ ïîëüçîâàòåëÿ</h1>
<?php
$usr = $_POST["tbLogin"];
$psw = $_POST["tbPassword"];
$action = $_POST["hAction"];
function getUserHash(){
return md5(generateCode(10));
}
# Ôóíêöèÿ äëÿ ãåíåðàöèè ñëó÷àéíîé ñòðîêè
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
$sessionProvider = ProviderFactory::getSessions(null);
if($action=="logoff"){
$sessionProvider->closeSession($ticket);
$ticket = '';
}
else if($action="logon"){
$userProvider = new XmlUsersDB();
if($userProvider->checkUser($usr, $psw)){
$ticket = getUserHash();
$sessionProvider->setSession($usr, $ticket);
}
}
$_SESSION["ticket"] = $ticket;
$authorizedUser = $sessionProvider->getAuthorizedUser($ticket);
$userProvider = ProviderFactory::getUsers();
$authorizedUserName = $userProvider->getUserName($authorizedUser);
if($ticket==''){
?>
<div id="authorizationPanel">
<form action="logon.php" method="post">
<div><span class="local" ar-locale-id="login">Ëîãèí</span>: <input type="text" name="tbLogin"/></div>
<div><span class="local" ar-locale-id="password">Ïàðîëü</span>: <input type="password" name="tbPassword"/></div>
<input type="hidden" name="hAction" value="logon"/>
<div><input class="local" ar-locale-id="logon" ar-locale-target="value" type="submit" value="Âõîä"/></div>
</form>
</div>
<?php }
else{
?>
<form action="logon.php" method="post">
<div><span class="local" ar-locale-id="hello">Hello</span>, <?php echo($authorizedUserName); ?></div>
<input type="hidden" name="hAction" value="logoff"/>
<div><input class="local" ar-locale-id="logoff" ar-locale-target="value" type="submit" value="Âûõîä"/></div>
</form>
<script type="text/javascript">
setTimeout(function(){
window.location.href = "index.php";
}, 1000);
</script>
<?php
}
?>
</body>
</html>