Редакция 20 | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 20 | Редакция 26 | ||
---|---|---|---|
1 | <?php
|
1 | <?php
|
2 | 2 | ||
3 | /**
|
3 | /**
|
4 | * KBase
|
4 | * KBase
|
5 | * http://alex-w.org.ru/p/kbase/
|
5 | * http://alex-w.org.ru/p/kbase/
|
6 | *
|
6 | *
|
7 | * Copyright (c) 2009 Alexander Wolf
|
7 | * Copyright (c) 2009 Alexander Wolf
|
8 | * Dual licensed under the MIT and GNU LGPL licenses.
|
8 | * Dual licensed under the MIT and GNU LGPL licenses.
|
9 | * http://alex-w.org.ru/p/kbase/license
|
9 | * http://alex-w.org.ru/p/kbase/license
|
10 | *
|
10 | *
|
11 | */
|
11 | */
|
12 | 12 | ||
13 | class Auth { |
13 | class Auth { |
14 | 14 | ||
15 | /* Check user and return User_ID (zero if user not exsists)
|
15 | /* Check user and return User_ID (zero if user not exsists)
|
16 | * @param $login - user login
|
16 | * @param $login - user login
|
17 | * $passhash - encrypted user password
|
17 | * $passhash - encrypted user password
|
18 | * @access public
|
18 | * @access public
|
19 | * @return UserID (int)
|
19 | * @return UserID (int)
|
20 | */
|
20 | */
|
21 | function getUserID($login, $passhash) { |
21 | function getUserID($login, $passhash) { |
22 | global $db; |
22 | global $db; |
23 | $request =& $db->query("SELECT user_id FROM members WHERE login='$login' AND passwd='$passhash'"); |
23 | $request =& $db->query("SELECT user_id FROM members WHERE login='$login' AND passwd='$passhash'"); |
24 | if ($request->numRows()==0) { |
24 | if ($request->numRows()==0) { |
25 | return 0; |
25 | return 0; |
26 | } else { |
26 | } else { |
27 | $request->fetchInto($get); |
27 | $request->fetchInto($get); |
28 | return $get["user_id"]; |
28 | return $get["user_id"]; |
29 | }
|
29 | }
|
30 | }
|
30 | }
|
31 | 31 | ||
32 | /* Get information about user
|
32 | /* Get information about user
|
33 | * @param $UserID - ID user
|
33 | * @param $UserID - ID user
|
34 | * @access public
|
34 | * @access public
|
35 | * @return UserInfo (array)
|
35 | * @return UserInfo (array)
|
36 | * UserInfo[UserID] - ID user
|
36 | * UserInfo[UserID] - ID user
|
37 | * UserInfo[RealName] - real name of user
|
37 | * UserInfo[RealName] - real name of user
|
38 | * UserInfo[Status] - user status
|
38 | * UserInfo[Status] - user status
|
39 | * UserInfo[Registered] - date of registered
|
39 | * UserInfo[Registered] - date of registered
|
40 | */
|
40 | */
|
41 | function getUserInfo($UserID) { |
41 | function getUserInfo($UserID) { |
42 | global $db; |
42 | global $db; |
43 | $result = array(); |
43 | $result = array(); |
44 | $request =& $dblink->query("SELECT * FROM members WHERE user_id='$UserID'"); |
44 | $request =& $db->query("SELECT * FROM members WHERE user_id='$UserID'"); |
45 | if ($request->numRows()!=0) { |
45 | if ($request->numRows()!=0) { |
46 | $request->fetchInto($get); |
46 | $request->fetchInto($get); |
47 | $result["UserID"] = $get["user_id"]; |
47 | $result["UserID"] = $get["user_id"]; |
48 | $result["RealName"] = $get["realname"]; |
48 | $result["RealName"] = $get["realname"]; |
49 | $result["Status"] = $get["status"]; |
49 | $result["Status"] = $get["status"]; |
50 | $result["Registered"] = $get["registered"]; |
50 | $result["Registered"] = $get["registered"]; |
51 | } else { |
51 | } else { |
52 | $result["UserID"] = 0; |
52 | $result["UserID"] = 0; |
53 | }
|
53 | }
|
54 | return $result; |
54 | return $result; |
55 | }
|
55 | }
|
56 | 56 | ||
57 | /* Encrypt password
|
57 | /* Encrypt password
|
58 | * @param $password - not encrypted user password
|
58 | * @param $password - not encrypted user password
|
59 | * @access public
|
59 | * @access public
|
60 | * @return PasswordHash (chars)
|
60 | * @return PasswordHash (chars)
|
61 | */
|
61 | */
|
62 | function encPass($password) { |
62 | function encPass($password) { |
63 | return md5(sha1($password)."-KBase-".md5($password)); |
63 | return md5(sha1($password)."-KBase-".md5($password)); |
64 | }
|
64 | }
|
65 | 65 | ||
66 | /* Register new user
|
66 | /* Register new user
|
67 | * @param $login - user login
|
67 | * @param $login - user login
|
68 | * $passhash - encrypted user password
|
68 | * $passhash - encrypted user password
|
69 | * $realname - real name of user
|
69 | * $realname - real name of user
|
70 | * $status - user status
|
70 | * $status - user status
|
71 | * @access public
|
71 | * @access public
|
72 | * @return ErrMsg (string)
|
72 | * @return ErrMsg (string)
|
73 | */
|
73 | */
|
74 | function registerUser($login, $passhash, $realname, $status) { |
74 | function registerUser($login, $passhash, $realname, $status) { |
75 | global $db; |
75 | global $db; |
76 | $request =& $db->query("INSERT INTO members SET login='$login', passwd='$passhash', realname='$realname', status='$status', registered=NOW()"); |
76 | $request =& $db->query("INSERT INTO members SET login='$login', passwd='$passhash', realname='$realname', status='$status', registered=NOW()"); |
77 | if (PEAR::isError($dblink)) { |
77 | if (PEAR::isError($dblink)) { |
78 | die($result = $dblink->getMessage()); |
78 | die($result = $dblink->getMessage()); |
79 | } else { |
79 | } else { |
80 | $result = "OK"; |
80 | $result = "OK"; |
81 | }
|
81 | }
|
82 | return $result; |
82 | return $result; |
83 | }
|
83 | }
|
84 | }
|
84 | }
|
85 | 85 | ||
86 | ?>
|
86 | ?>
|
87 | 87 |