Хранилища Subversion kbase

Редакция

Редакция 16 | Редакция 20 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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 {
17 alex-w 26
			$request->fetchInto($get);
16 alex-w 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)
17 alex-w 36
	 *	   UserInfo[UserID]	- ID user
37
	 *	   UserInfo[RealName]	- real name of user
38
	 *	   UserInfo[Status]	- user status
39
	 *	   UserInfo[Registered]	- date of registered
16 alex-w 40
	 */
41
	function getUserInfo($UserID, $dblink) {
42
		$result = array();
43
		$request =& $dblink->query("SELECT * FROM members WHERE user_id='$UserID'");
44
		if ($request->numRows()!=0) {
17 alex-w 45
			$request->fetchInto($get);
16 alex-w 46
			$result["UserID"] = $get["user_id"];
47
			$result["RealName"] = $get["realname"];
48
			$result["Status"] = $get["status"];
49
			$result["Registered"] = $get["registered"];
50
		} else {
51
			$result["UserID"] = 0;
52
		}
53
		return $result;
54
	}
55
 
56
	/* Encrypt password
57
	 * @param $password	- not encrypted user password
58
	 * @access public
59
	 * @return PasswordHash (chars)
60
	 */
61
	function encPass($password) {
62
		return md5(sha1($password)."-KBase-".md5($password));
63
	}
64
 
65
	/* Register new user
66
	 * @param $login	- user login
67
	 * 	  $passhash	- encrypted user password
68
	 *	  $realname	- real name of user
69
	 * 	  $status	- user status
70
	 * 	  $dblink	- link to database
71
	 * @access public
17 alex-w 72
	 * @return ErrMsg (string)
16 alex-w 73
	 */
74
	function registerUser($login, $passhash, $realname, $status, $dblink) {
75
		$request =& $dblink->query("INSERT INTO members SET login='$login', passwd='$passhash', realname='$realname', status='$status', registered=NOW()");
76
		if (PEAR::isError($dblink)) {
77
			die($result = $dblink->getMessage());
78
		} else {
79
			$result = "OK";
80
		}
81
		return $result;
82
	}
8 alex-w 83
}
84
 
85
?>