webinterface => /webinterface
bernd authored 17 years ago
|
1) <?php
2)
|
Logging aktiviert
bernd authored 17 years ago
|
3) require_once('inc/base.php');
|
webinterface => /webinterface
bernd authored 17 years ago
|
4) require_once('inc/debug.php');
5) require_once('inc/error.php');
6)
7) require_once('inc/db_connect.php');
8)
9) define('ROLE_ANONYMOUS', 0);
10) define('ROLE_DOMAINADMIN', 1);
11) define('ROLE_SYSTEMUSER', 2);
12) define('ROLE_CUSTOMER', 3);
13) define('ROLE_SYSADMIN', 4);
14)
15)
16) // Gibt die Rolle aus, wenn das Passwort stimmt
17)
18) function find_role($login, $password)
19) {
20) $login = mysql_real_escape_string($login);
21) // Domain-Admin? <not implemented>
22) // System-User?
23) $uid = (int) $login;
24) if ($uid == 0)
25) $uid = 'NULL';
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
26) $result = db_query("SELECT passwort AS password FROM system.v_useraccounts LEFT JOIN system.passwoerter USING (uid) WHERE uid={$uid} OR username='{$login}' LIMIT 1;");
|
webinterface => /webinterface
bernd authored 17 years ago
|
27) if (@mysql_num_rows($result) > 0)
28) {
29) $db_password = mysql_fetch_object($result)->password;
30) $hash = crypt($password, $db_password);
31) if ($hash == $db_password)
32) return ROLE_SYSTEMUSER;
33) }
34)
35) // Customer?
36) $customerno = (int) $login;
37) $pass = sha1($password);
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
38) $result = db_query("SELECT passwort AS password FROM kundendaten.kunden WHERE status=0 AND id={$customerno} AND passwort='{$pass}';");
|
webinterface => /webinterface
bernd authored 17 years ago
|
39) if (@mysql_num_rows($result) > 0)
40) {
41) return ROLE_CUSTOMER;
42) }
43)
44) // Nothing?
45) return NULL;
46) }
47)
48)
49) function get_customer_info($customerno)
50) {
51) $ret = array();
52) $customerno = (int) $customerno;
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
53) $result = db_query("SELECT id, anrede, firma, CONCAT_WS(' ', vorname, nachname) AS name FROM kundendaten.kunden WHERE id={$customerno} LIMIT 1;");
|
webinterface => /webinterface
bernd authored 17 years ago
|
54) if (@mysql_num_rows($result) == 0)
55) system_failure("Konnte Kundendaten nicht auslesen!");
56) $data = mysql_fetch_object($result);
57)
58) $ret['customerno'] = $data->id;
59) $ret['title'] = $data->anrede;
60) $ret['company'] = $data->firma;
61) $ret['name'] = $data->name;
62)
63) return $ret;
64) }
65)
66)
67) function get_customer_email($customerno)
68) {
69) $customerno = (int) $customerno;
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
70) $result = db_query("SELECT wert FROM kundendaten.kundenkontakt WHERE kundennr={$customerno} AND typ='email' LIMIT 1;");
|
webinterface => /webinterface
bernd authored 17 years ago
|
71) if (@mysql_num_rows($result) == 0)
72) system_failure("Konnte keine E-Mail-Adresse finden!");
73) return mysql_fetch_object($result)->wert;
74) }
75)
76)
77)
78) function get_user_info($username)
79) {
80) $username = mysql_real_escape_string($username);
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
81) $result = db_query("SELECT kunde AS customerno, username, uid, homedir, name
82) FROM system.v_useraccounts WHERE username='{$username}' OR uid='{$username}' LIMIT 1");
|
webinterface => /webinterface
bernd authored 17 years ago
|
83) if (mysql_num_rows($result) < 1)
84) system_failure('Das Auslesen Ihrer Benutzerdaten ist fehlgeschlagen. Bitte melden Sie dies einem Administrator');
85) $val = @mysql_fetch_object($result);
86) return array(
87) 'username' => $val->username,
88) 'customerno' => $val->customerno,
89) 'uid' => $val->uid,
90) 'homedir' => $val->homedir,
91) 'name' => $val->name,
92) );
93) }
94)
95) function set_customer_password($customerno, $newpass)
96) {
97) $customerno = (int) $customerno;
98) $newpass = sha1($newpass);
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
99) db_query("UPDATE kundendaten.kunden SET passwort='$newpass' WHERE id='".$customerno."' LIMIT 1");
|
Logging aktiviert
bernd authored 17 years ago
|
100) logger("session/checkuser.php", "pwchange", "changed customer's password.");
|
webinterface => /webinterface
bernd authored 17 years ago
|
101) }
102)
103)
104) function set_systemuser_password($uid, $newpass)
105) {
106) $uid = (int) $uid;
107) require_once('inc/base.php');
108) $salt = random_string(8);
109) $newpass = crypt($newpass, "\$1\${$salt}\$");
|
sql-abfragen abstrahiert
bernd authored 17 years ago
|
110) db_query("UPDATE system.passwoerter SET passwort='$newpass' WHERE uid='".$uid."' LIMIT 1");
|
Logging aktiviert
bernd authored 17 years ago
|
111) logger("session/checkuser.php", "pwchange", "changed user's password.");
|