Хранилища Subversion kbase

Редакция

Редакция 8 | Редакция 17 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

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