fb92f399e1c896d31edec5dbc0ed57928f18d6ba
bernd webinterface => /webinterface

bernd authored 17 years ago

1) <?php
2) 
bernd Logging aktiviert

bernd authored 17 years ago

3) require_once('inc/base.php');
bernd 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())
bernd Logging aktiviert

bernd authored 17 years ago

115)   {
116)     logger("session/checkuser.php", "dberror", "error while changing customer's password. Query was: »$query«");
bernd webinterface => /webinterface

bernd authored 17 years ago

117)     system_failure('Beim Datenbankzugriff ist ein Fehler aufgetreten. Sollte dies wiederholt vorkommen, senden Sie bitte die Fehlermeldung ('.mysql_error().') an einen Administrator.');
bernd Logging aktiviert

bernd authored 17 years ago

118)   }
119)   logger("session/checkuser.php", "pwchange", "changed customer's password.");
bernd 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())
bernd Logging aktiviert

bernd authored 17 years ago

132)   {
133)     logger("session/checkuser.php", "dberror", "error while changing user's password. Query was: »$query«");
bernd webinterface => /webinterface

bernd authored 17 years ago

134)     system_failure('Beim Datenbankzugriff ist ein Fehler aufgetreten. Sollte dies wiederholt vorkommen, senden Sie bitte die Fehlermeldung ('.mysql_error().') an einen Administrator.');
bernd Logging aktiviert

bernd authored 17 years ago

135)   }
136)   logger("session/checkuser.php", "pwchange", "changed user's password.");