Хранилища Subversion kbase

Редакция

Редакция 16 | Редакция 20 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 16 Редакция 17
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
        /* Check user and return User_ID (zero if user not exsists)
14
        /* Check user and return User_ID (zero if user not exsists)
15
         * @param $login        - user login
15
         * @param $login        - user login
16
         *        $passhash     - encrypted user password
16
         *        $passhash     - encrypted user password
17
         *        $dblink       - link to database
17
         *        $dblink       - link to database
18
         * @access public
18
         * @access public
19
         * @return UserID (int)
19
         * @return UserID (int)
20
         */
20
         */
21
        function getUserID($login, $passhash, $dblink) {
21
        function getUserID($login, $passhash, $dblink) {
22
                $request =& $dblink->query("SELECT user_id FROM members WHERE login='$login' AND passwd='$passhash'");
22
                $request =& $dblink->query("SELECT user_id FROM members WHERE login='$login' AND passwd='$passhash'");
23
                if ($request->numRows()==0) {
23
                if ($request->numRows()==0) {
24
                        return 0;
24
                        return 0;
25
                } else {
25
                } else {
26
                        $request->fetchInto($get, DB_FETCHMODE_ASSOC);
26
                        $request->fetchInto($get);
27
                        return $get["user_id"];
27
                        return $get["user_id"];
28
                }
28
                }
29
        }
29
        }
30
30
31
        /* Get information about user
31
        /* Get information about user
32
         * @param $UserID       - ID user
32
         * @param $UserID       - ID user
33
         *        $dblink       - link to database
33
         *        $dblink       - link to database
34
         * @access public
34
         * @access public
35
         * @return UserInfo (array)
35
         * @return UserInfo (array)
-
 
36
         *         UserInfo[UserID]     - ID user
-
 
37
         *         UserInfo[RealName]   - real name of user
-
 
38
         *         UserInfo[Status]     - user status
-
 
39
         *         UserInfo[Registered] - date of registered
36
         */
40
         */
37
        function getUserInfo($UserID, $dblink) {
41
        function getUserInfo($UserID, $dblink) {
38
                $result = array();
42
                $result = array();
39
                $request =& $dblink->query("SELECT * FROM members WHERE user_id='$UserID'");
43
                $request =& $dblink->query("SELECT * FROM members WHERE user_id='$UserID'");
40
                if ($request->numRows()!=0) {
44
                if ($request->numRows()!=0) {
41
                        $request->fetchInto($get, DB_FETCHMODE_ASSOC);
45
                        $request->fetchInto($get);
42
                        $result["UserID"] = $get["user_id"];
46
                        $result["UserID"] = $get["user_id"];
43
                        $result["RealName"] = $get["realname"];
47
                        $result["RealName"] = $get["realname"];
44
                        $result["Status"] = $get["status"];
48
                        $result["Status"] = $get["status"];
45
                        $result["Registered"] = $get["registered"];
49
                        $result["Registered"] = $get["registered"];
46
                } else {
50
                } else {
47
                        $result["UserID"] = 0;
51
                        $result["UserID"] = 0;
48
                }
52
                }
49
                return $result;
53
                return $result;
50
        }
54
        }
51
55
52
        /* Encrypt password
56
        /* Encrypt password
53
         * @param $password     - not encrypted user password
57
         * @param $password     - not encrypted user password
54
         * @access public
58
         * @access public
55
         * @return PasswordHash (chars)
59
         * @return PasswordHash (chars)
56
         */
60
         */
57
        function encPass($password) {
61
        function encPass($password) {
58
                return md5(sha1($password)."-KBase-".md5($password));
62
                return md5(sha1($password)."-KBase-".md5($password));
59
        }
63
        }
60
64
61
        /* Register new user
65
        /* Register new user
62
         * @param $login        - user login
66
         * @param $login        - user login
63
         *        $passhash     - encrypted user password
67
         *        $passhash     - encrypted user password
64
         *        $realname     - real name of user
68
         *        $realname     - real name of user
65
         *        $status       - user status
69
         *        $status       - user status
66
         *        $dblink       - link to database
70
         *        $dblink       - link to database
67
         * @access public
71
         * @access public
68
         * @return ErrCode (string)
72
         * @return ErrMsg (string)
69
         */
73
         */
70
        function registerUser($login, $passhash, $realname, $status, $dblink) {
74
        function registerUser($login, $passhash, $realname, $status, $dblink) {
71
                $request =& $dblink->query("INSERT INTO members SET login='$login', passwd='$passhash', realname='$realname', status='$status', registered=NOW()");
75
                $request =& $dblink->query("INSERT INTO members SET login='$login', passwd='$passhash', realname='$realname', status='$status', registered=NOW()");
72
                if (PEAR::isError($dblink)) {
76
                if (PEAR::isError($dblink)) {
73
                        die($result = $dblink->getMessage());
77
                        die($result = $dblink->getMessage());
74
                } else {
78
                } else {
75
                        $result = "OK";
79
                        $result = "OK";
76
                }
80
                }
77
                return $result;
81
                return $result;
78
        }
82
        }
79
}
83
}
80
84
81
?>
85
?>
82
 
86