source: newwww/is/user.php@ 3

Last change on this file since 3 was 3, checked in by george, 18 years ago

První pracovní verze nového webu.

  • Property svn:executable set to *
File size: 2.9 KB
Line 
1<?
2
3define('NICK_USED','Pøezdívka pou¾ita!');
4define('USER_REGISTRATED','U¾ivatel zaregistrován.');
5define('DATA_MISSING','Chybí emailová adresa, pøezdívka, nebo nìkteré z hesel!');
6define('PASSWORDS_UNMATCHED','Hesla si neodpovídají!');
7define('USER_NOT_LOGGED', 'Nejste pøihlá¹en.');
8define('USER_LOGGED', 'U¾ivatel pøihlá¹en.');
9define('USER_NOT_REGISTRED', 'U¾ivatel neregistrován.');
10define('USER_ALREADY_LOGGED', 'U¾ivatel ji¾ pøihlá¹en.');
11define('USER_LOGGED_IN', 'Byl jste pøihlá¹en.');
12define('USER_LOGGED_OUT', 'Byl jste odhlá¹en.');
13define('BAD_PASSWORD', '©patné heslo.');
14define('USER_TIMEOUT', 300);
15
16$Roles = array('Èlen','U¾ivatel','Administrator');
17
18function 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
47function 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
64function 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
83function 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?>
Note: See TracBrowser for help on using the repository browser.