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';
26) $result = @mysql_query("SELECT passwort AS password FROM system.v_useraccounts LEFT JOIN system.passwoerter USING (uid) WHERE uid={$uid} OR username='{$login}' LIMIT 1;");
27) if (mysql_error())
28) system_failure(mysql_error());
29) if (@mysql_num_rows($result) > 0)
30) {
31) $db_password = mysql_fetch_object($result)->password;
32) $hash = crypt($password, $db_password);
33) if ($hash == $db_password)
34) return ROLE_SYSTEMUSER;
35) }
36)
37) // Customer?
38) $customerno = (int) $login;
39) $pass = sha1($password);
40) $result = @mysql_query("SELECT passwort AS password FROM kundendaten.kunden WHERE status=0 AND id={$customerno} AND passwort='{$pass}';");
41) if (mysql_error())
42) system_failure(mysql_error());
43) if (@mysql_num_rows($result) > 0)
44) {
45) return ROLE_CUSTOMER;
46) }
47)
48) // Nothing?
49) return NULL;
50) }
51)
52)
53) function get_customer_info($customerno)
54) {
55) $ret = array();
56) $customerno = (int) $customerno;
57) $query = "SELECT id, anrede, firma, CONCAT_WS(' ', vorname, nachname) AS name FROM kundendaten.kunden WHERE id={$customerno} LIMIT 1;";
58) $result = @mysql_query($query);
59) if (mysql_error())
60) system_failure(mysql_error());
61) if (@mysql_num_rows($result) == 0)
62) system_failure("Konnte Kundendaten nicht auslesen!");
63) $data = mysql_fetch_object($result);
64)
65) $ret['customerno'] = $data->id;
66) $ret['title'] = $data->anrede;
67) $ret['company'] = $data->firma;
68) $ret['name'] = $data->name;
69)
70) return $ret;
71) }
72)
73)
74) function get_customer_email($customerno)
75) {
76) $customerno = (int) $customerno;
77) $query = "SELECT wert FROM kundendaten.kundenkontakt WHERE kundennr={$customerno} AND typ='email' LIMIT 1;";
78) $result = @mysql_query($query);
79) if (mysql_error())
80) system_failure(mysql_error());
81) if (@mysql_num_rows($result) == 0)
82) system_failure("Konnte keine E-Mail-Adresse finden!");
83) return mysql_fetch_object($result)->wert;
84) }
85)
86)
87)
88) function get_user_info($username)
89) {
90) $username = mysql_real_escape_string($username);
91) $query = "SELECT kunde AS customerno, username, uid, homedir, name
92) FROM system.v_useraccounts WHERE username='{$username}' OR uid='{$username}' LIMIT 1";
93) $result = @mysql_query($query);
94) if (mysql_error())
95) system_failure('Beim Datenbankzugriff ist ein Fehler aufgetreten. Sollte dies wiederholt vorkommen, senden Sie bitte die Fehlermeldung ('.mysql_error().') an einen Administrator.');
96) if (mysql_num_rows($result) < 1)
97) system_failure('Das Auslesen Ihrer Benutzerdaten ist fehlgeschlagen. Bitte melden Sie dies einem Administrator');
98) $val = @mysql_fetch_object($result);
99) return array(
100) 'username' => $val->username,
101) 'customerno' => $val->customerno,
102) 'uid' => $val->uid,
103) 'homedir' => $val->homedir,
104) 'name' => $val->name,
105) );
106) }
107)
108) function set_customer_password($customerno, $newpass)
109) {
110) $customerno = (int) $customerno;
111) $newpass = sha1($newpass);
112) $query = "UPDATE kundendaten.kunden SET passwort='$newpass' WHERE id='".$customerno."' LIMIT 1";
113) @mysql_query($query);
114) if (mysql_error())
|
Logging aktiviert
bernd authored 17 years ago
|
115) {
116) logger("session/checkuser.php", "dberror", "error while changing customer's password. Query was: »$query«");
|
webinterface => /webinterface
bernd authored 17 years ago
|
120) }
121)
122)
123) function set_systemuser_password($uid, $newpass)
124) {
125) $uid = (int) $uid;
126) require_once('inc/base.php');
127) $salt = random_string(8);
128) $newpass = crypt($newpass, "\$1\${$salt}\$");
129) $query = "UPDATE system.passwoerter SET passwort='$newpass' WHERE uid='".$uid."' LIMIT 1";
130) @mysql_query($query);
131) if (mysql_error())
|
Logging aktiviert
bernd authored 17 years ago
|
132) {
133) logger("session/checkuser.php", "dberror", "error while changing user's password. Query was: »$query«");
|