ed72341ed529cc499b65b6198f916d05f2a28ef5
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

1) <?php
2) 
3) require_once("inc/debug.php");
4) require_once("inc/db_connect.php");
bernd input-filtering

bernd authored 16 years ago

5) require_once("inc/security.php");
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

6) 
7) 
8) function get_jabber_accounts() {
9)   require_role(ROLE_CUSTOMER);
10)   $customerno = (int) $_SESSION['customerinfo']['customerno'];
11)   $query = "SELECT id, created, local, domain FROM jabber.accounts WHERE customerno='$customerno' AND `delete`=0;";
12)   DEBUG($query);
13)   $result = mysql_query($query);
14)   $accounts = array();
15)   if (@mysql_num_rows($result) > 0)
16)     while ($acc = @mysql_fetch_object($result))
17)       array_push($accounts, array('id'=> $acc->id, 'created' => $acc->created, 'local' => $acc->local, 'domain' => $acc->domain));
18)   return $accounts;
19) }
20) 
21) 
22) 
23) function get_jabberaccount_details($id)
24) {
25)   require_role(ROLE_CUSTOMER);
26)   $customerno = (int) $_SESSION['customerinfo']['customerno'];
27) 
28)   $id = (int) $id;
29) 
30)   $query = "SELECT id, local, domain FROM jabber.accounts WHERE customerno={$customerno} AND id={$id} LIMIT 1";
31)   DEBUG($query);
32)   $result = mysql_query($query);
33)   if (mysql_num_rows($result) != 1)
34)     system_failure("Invalid account");
35)   $data = mysql_fetch_assoc($result);
36)   $data['domain'] = get_domain_name($data['domain']);
37)   return $data;
38) }
39) 
40) 
41) 
42) function create_jabber_account($local, $domain, $password)
43) {
44)   require_role(ROLE_CUSTOMER);
45)   $customerno = (int) $_SESSION['customerinfo']['customerno'];
46) 
bernd input-filtering

bernd authored 16 years ago

47)   $local = mysql_real_escape_string( filter_input_username($local) );
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

48)   $domain = (int) $domain;
bernd Diverse shell-kritische zei...

bernd authored 16 years ago

49)   $password = mysql_real_escape_string( filter_shell( $password ) );
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

50)   
51)   if ($domain > 0)
52)   {
53)     $query = "SELECT id FROM kundendaten.domains WHERE kunde={$customerno} AND jabber=1 AND id={$domain};";
54)     DEBUG($query);
55)     $result = mysql_query($query);
56)     if (mysql_num_rows($result) == 0)
57)     {
bernd Logging in allen Modulen

bernd authored 16 years ago

58)       logger("modules/jabber/include/jabberaccounts.php", "jabber", "attempt to create account for invalid domain »{$domain}«");
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

59)       system_failure("Invalid domain!");
60)     }
61)   }
62) 
bernd Duplikate-Problem gefixed....

bernd authored 16 years ago

63)   $domainquery = "domain={$domain}";
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

64)   if ($domain == 0)
bernd Ich hasse PHP

bernd authored 16 years ago

65)   {
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

66)     $domain = 'NULL';
bernd Duplikate-Problem gefixed....

bernd authored 16 years ago

67)     $domainquery = 'domain IS NULL'; 
bernd Ich hasse PHP

bernd authored 16 years ago

68)   }
bernd Duplikate-Problem gefixed....

bernd authored 16 years ago

69)   $query = "SELECT id FROM jabber.accounts WHERE local='{$local}' AND {$domainquery}";
70)   DEBUG($query);
71)   $result = mysql_query($query);
72)   if (mysql_num_rows($result) > 0)
73)   {
bernd Logging in allen Modulen

bernd authored 16 years ago

74)     logger("modules/jabber/include/jabberaccounts.php", "jabber", "attempt to create already existing account »{$local}@{$domain}«");
bernd Duplikate-Problem gefixed....

bernd authored 16 years ago

75)     system_failure("Diesen Account gibt es bereits!");
76)   }
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

77) 
78)   $query = "INSERT INTO jabber.accounts (customerno,local,domain,password) VALUES ({$customerno}, '{$local}', {$domain}, '{$password}');";
79)   DEBUG($query);
80)   mysql_query($query);
bernd Logging in allen Modulen

bernd authored 16 years ago

81)   logger("modules/jabber/include/jabberaccounts.php", "jabber", "created account »{$local}@{$domain}«");
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

82) }
83) 
84) 
bernd Jabber-Passwort ändern

bernd authored 16 years ago

85) 
86) function change_jabber_password($id, $newpass)
87) {
88)   require_role(ROLE_CUSTOMER);
89)   $customerno = (int) $_SESSION['customerinfo']['customerno'];
90)   $id = (int) $id;
bernd Diverse shell-kritische zei...

bernd authored 16 years ago

91)   $newpass = mysql_real_escape_string( filter_shell( $newpass ) );
bernd Jabber-Passwort ändern

bernd authored 16 years ago

92)   
93)   $query = "UPDATE jabber.accounts SET password='{$newpass}' WHERE customerno={$customerno} AND id={$id} LIMIT 1";
94)   DEBUG($query);
95)   mysql_query($query);
bernd Logging in allen Modulen

bernd authored 16 years ago

96)   logger("modules/jabber/include/jabberaccounts.php", "jabber", "changed password for account  »{$id}«");
bernd Jabber-Passwort ändern

bernd authored 16 years ago

97) }
98) 
99) 
100) 
bernd Neues Jabber-Modul (noch ni...

bernd authored 16 years ago

101) function delete_jabber_account($id)
102) {
103)   require_role(ROLE_CUSTOMER);
104)   $customerno = (int) $_SESSION['customerinfo']['customerno'];
105) 
106)   $id = (int) $id;
107) 
108)   $query = "UPDATE jabber.accounts SET `delete`=1 WHERE customerno={$customerno} AND id={$id} LIMIT 1";
109)   DEBUG($query);
110)   mysql_query($query);
bernd Logging in allen Modulen

bernd authored 16 years ago

111)   logger("modules/jabber/include/jabberaccounts.php", "jabber", "deleted account »{$id}«");