Хранилища Subversion kbase

Редакция

Редакция 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