]>
Commit | Line | Data |
---|---|---|
0d421af8 AD |
1 | <?php |
2 | class Auth_Base { | |
3 | protected $link; | |
4 | ||
5 | function __construct($link) { | |
6 | $this->link = $link; | |
7 | } | |
8 | ||
9 | function authenticate($login, $password) { | |
10 | return false; | |
11 | } | |
12 | ||
13 | // Auto-creates specified user if allowed by system configuration | |
14 | // Can be used instead of find_user_by_login() by external auth modules | |
15 | function auto_create_user($login) { | |
16 | if ($login && defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE) { | |
17 | $user_id = $this->find_user_by_login($login); | |
18 | ||
19 | if (!$user_id) { | |
20 | $login = db_escape_string($login); | |
21 | $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); | |
22 | $pwd_hash = encrypt_password($password, $salt, true); | |
23 | ||
24 | $query = "INSERT INTO ttrss_users | |
25 | (login,access_level,last_login,created,pwd_hash,salt) | |
26 | VALUES ('$login', 0, null, NOW(), '$pwd_hash','$salt')"; | |
27 | ||
28 | db_query($this->link, $query); | |
29 | ||
30 | return $this->find_user_by_login($login); | |
31 | ||
32 | } else { | |
33 | return $user_id; | |
34 | } | |
35 | } | |
36 | ||
501ed09a | 37 | return $this->find_user_by_login($login); |
0d421af8 AD |
38 | } |
39 | ||
40 | function find_user_by_login($login) { | |
41 | $login = db_escape_string($login); | |
42 | ||
43 | $result = db_query($this->link, "SELECT id FROM ttrss_users WHERE | |
44 | login = '$login'"); | |
45 | ||
46 | if (db_num_rows($result) > 0) { | |
47 | return db_fetch_result($result, 0, "id"); | |
48 | } else { | |
49 | return false; | |
50 | } | |
51 | ||
52 | } | |
53 | } | |
54 | ||
55 | ?> |