1 | <?
|
---|
2 |
|
---|
3 | define('NICK_USED','Pøezdívka pou¾ita!');
|
---|
4 | define('USER_REGISTRATED','U¾ivatel zaregistrován.');
|
---|
5 | define('DATA_MISSING','Chybí emailová adresa, pøezdívka, nebo nìkteré z hesel!');
|
---|
6 | define('PASSWORDS_UNMATCHED','Hesla si neodpovídají!');
|
---|
7 | define('USER_NOT_LOGGED', 'Nejste pøihlá¹en.');
|
---|
8 | define('USER_LOGGED', 'U¾ivatel pøihlá¹en.');
|
---|
9 | define('USER_NOT_REGISTRED', 'U¾ivatel neregistrován.');
|
---|
10 | define('USER_ALREADY_LOGGED', 'U¾ivatel ji¾ pøihlá¹en.');
|
---|
11 | define('USER_LOGGED_IN', 'Byl jste pøihlá¹en.');
|
---|
12 | define('USER_LOGGED_OUT', 'Byl jste odhlá¹en.');
|
---|
13 | define('BAD_PASSWORD', '©patné heslo.');
|
---|
14 | define('USER_TIMEOUT', 300);
|
---|
15 |
|
---|
16 | $Roles = array('Èlen','U¾ivatel','Administrator');
|
---|
17 |
|
---|
18 | function User_Check()
|
---|
19 | {
|
---|
20 | global $User;
|
---|
21 | $SID = session_id();
|
---|
22 | // Lookup user record
|
---|
23 | DB_Select('users_online', '*', "session='$SID'");
|
---|
24 | if(DB_NumRows() > 0)
|
---|
25 | {
|
---|
26 | // Refresh time of last access
|
---|
27 | DB_Update('users_online', 'session="'.$SID.'"', array('time' => time()));
|
---|
28 | } else DB_Insert('users_online', array('session' => $SID, 'user' => 0, 'time' => time(), 'ip' => (gethostbyaddr(GetRemoteAddress()).' '.GetRemoteAddress())));
|
---|
29 |
|
---|
30 | // Odeber neaktivní u¾ivatele
|
---|
31 | DB_Delete('users_online', "time<".(time() - USER_TIMEOUT));
|
---|
32 |
|
---|
33 | // Zkontroluj pøihlá¹ení
|
---|
34 | DB_Select('users_online', '*', "session='$SID'");
|
---|
35 | $Row = DB_Row();
|
---|
36 | if($Row['user'] != 0)
|
---|
37 | {
|
---|
38 | DB_Select('users', '*', "id='".$Row['user']."'");
|
---|
39 | $User = DB_Row();
|
---|
40 | $Result = USER_LOGGED;
|
---|
41 | } else {
|
---|
42 | $User = array('fullname' => 'Náv¹tìvník', 'id' => 0, 'nick' => 'anonym');
|
---|
43 | $Result = USER_NOT_LOGGED;
|
---|
44 | }
|
---|
45 | }
|
---|
46 |
|
---|
47 | function User_Register($Nick, $Password, $Password2, $Email, $FullName)
|
---|
48 | {
|
---|
49 | global $Options;
|
---|
50 | if(($Email=='') || ($Nick=='') || ($Password=='') || ($Password2=='')) $Result = DATA_MISSING;
|
---|
51 | else if($Password!=$Password2) $Result = PASSWORDS_UNMATCHED;
|
---|
52 | else {
|
---|
53 | // Je u¾ivatel registrován?
|
---|
54 | DB_Select('users','*',"nick='$Nick'");
|
---|
55 | if(DB_NumRows()>0) $Result = NICK_USED;
|
---|
56 | else {
|
---|
57 | DB_Insert('users',array('nick' => addslashes($Nick), 'fullname' => addslashes($FullName), 'password' => addslashes($Password), 'email' => htmlspecialchars($Email), 'role' => 1));
|
---|
58 | $Result = USER_REGISTRATED;
|
---|
59 | }
|
---|
60 | }
|
---|
61 | return($Result);
|
---|
62 | }
|
---|
63 |
|
---|
64 | function User_Login($Nick,$Password)
|
---|
65 | {
|
---|
66 | $SID = session_id();
|
---|
67 | // Je u¾ivatel registrován?
|
---|
68 | DB_Select('users','*',"nick='$Nick'");
|
---|
69 | if(DB_NumRows()>0)
|
---|
70 | {
|
---|
71 | $Row = DB_Row();
|
---|
72 | if($Row['password']!=$Password) $Result = BAD_PASSWORD;
|
---|
73 | else {
|
---|
74 | DB_Update('users','id='.$Row['id'], array('lastlogin' => 'NOW()'));
|
---|
75 | DB_Update('users_online','session="'.$SID.'"', array('user' => $Row['id']));
|
---|
76 | // naètení stavu stromu
|
---|
77 | $Result = USER_LOGGED_IN;
|
---|
78 | }
|
---|
79 | } else $Result = USER_NOT_REGISTRED;
|
---|
80 | return($Result);
|
---|
81 | }
|
---|
82 |
|
---|
83 | function User_Logout()
|
---|
84 | {
|
---|
85 | $SID = session_id();
|
---|
86 | DB_Update('users_online','session="'.$SID.'"', array('user' => 0));
|
---|
87 | return(USER_LOGGED_OUT);
|
---|
88 | }
|
---|
89 |
|
---|
90 | ?>
|
---|