e6ce5897048f08bb04f50052e0d8aefea903bf3d
bernd Su-Login für Admins

bernd authored 17 years ago

1) <?php
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

2) /*
3) This file belongs to the Webinterface of schokokeks.org Hosting
4) 
Bernd Wurst Updated copyright notice (2...

Bernd Wurst authored 11 years ago

5) Written 2008-2013 by schokokeks.org Hosting, namely
Bernd Wurst Added license tags for CC0,...

Bernd Wurst authored 12 years ago

6)   Bernd Wurst <bernd@schokokeks.org>
7)   Hanno Böck <hanno@schokokeks.org>
8) 
9) To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10) 
11) You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
12) http://creativecommons.org/publicdomain/zero/1.0/
13) 
14) Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15) */
bernd Su-Login für Admins

bernd authored 17 years ago

16) 
bernd AJAXified

bernd authored 16 years ago

17) require_once('inc/base.php');
Bernd Wurst Suche auch bei unvollständi...

Bernd Wurst authored 11 years ago

18) require_once('inc/security.php');
bernd Su-Login für Admins

bernd authored 17 years ago

19) require_once('inc/debug.php');
20) 
21) require_once('session/start.php');
22) require_once('su.php');
23) 
24) require_role(ROLE_SYSADMIN);
25) 
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

26) 
27) function su($type, $id) {
bernd AJAXified

bernd authored 16 years ago

28)   $role = NULL;
bernd back-to-admin feature

bernd authored 16 years ago

29)   $admin_user = $_SESSION['userinfo']['username'];
bernd Setze lastlogin nur bei Nic...

bernd authored 13 years ago

30)   $_SESSION['admin_user'] = $admin_user;
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

31)   $role = find_role($id, '', True);
32)   if (!$role) {
33)     unset($_SESSION['admin_user']);
Bernd Wurst Suche auch bei unvollständi...

Bernd Wurst authored 11 years ago

34)     return False;
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

35)   }
36)   setup_session($role, $id);
Bernd Wurst su-Modul auf jQuery umgeste...

Bernd Wurst authored 11 years ago

37)   if ($type == 'c') {
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

38)     if (! (ROLE_CUSTOMER & $_SESSION['role'])) {
39)       session_destroy();
40)       system_failure('Es wurde ein "su" zu einem Kundenaccount angefordert, das war aber kein Kundenaccount!');
41)     }
Bernd Wurst su-Modul auf jQuery umgeste...

Bernd Wurst authored 11 years ago

42)   } elseif ($type == 'u') {
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

43)     if (! (ROLE_SYSTEMUSER & $_SESSION['role'])) {
44)       session_destroy();
45)       system_failure('Es wurde ein "su" zu einem Benutzeraccount angefordert, das war aber kein Benutzeraccount!');
46)     }
47)   } elseif ($type) {
48)     // wenn type leer ist, dann ist es auch egal
bernd AJAXified

bernd authored 16 years ago

49)     system_failure('unknown type');
50)   }
51) 
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

52)   redirect('../../go/index/index');
bernd AJAXified

bernd authored 16 years ago

53)   die();
54) }
55) 
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

56) if (isset($_GET['do']))
bernd Su-Login für Admins

bernd authored 17 years ago

57) {
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

58)   if ($_SESSION['su_ajax_timestamp'] < time() - 30) {
59)     system_failure("Die su-Auswahl ist schon abgelaufen!");
60)   }
61)   $type = $_GET['do'][0];
62)   $id = (int) substr($_GET['do'], 1);
63)   su($type, $id);
64) }
bernd Su-Login für Admins

bernd authored 17 years ago

65) 
Bernd Wurst Suche auch bei unvollständi...

Bernd Wurst authored 11 years ago

66) $search = NULL;
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

67) if (isset($_POST['query']))
68) {
69)   check_form_token('su_su');
70)   $id = filter_input_general($_POST['query']);
Bernd Wurst Suche auch bei unvollständi...

Bernd Wurst authored 11 years ago

71)   if (! su(NULL, $id)) {
72)     $search = $_POST['query'];
73)   }
bernd Su-Login für Admins

bernd authored 17 years ago

74) }
75) 
bernd Benutze überall title() sta...

bernd authored 14 years ago

76) title("Benutzer wechseln");
bernd Su-Login für Admins

bernd authored 17 years ago

77) 
bernd Benutze überall title() sta...

bernd authored 14 years ago

78) output('<p>Hiermit können Sie (als Admin) das Webinterface mit den Rechten eines beliebigen anderen Benutzers benutzen.</p>
bernd Viele XHTML-Fehler korrigie...

bernd authored 17 years ago

79) ');
bernd Su-Login für Admins

bernd authored 17 years ago

80) 
bernd AJAXified

bernd authored 16 years ago

81) $debug = '';
82) if ($debugmode)
83)   $debug = 'debug&amp;';
84) 
Bernd Wurst Configurable jQuery-path

Bernd Wurst authored 11 years ago

85) $path = config('jquery_ui_path');
86) 
Bernd Wurst su-Modul auf jQuery umgeste...

Bernd Wurst authored 11 years ago

87) html_header('
Bernd Wurst Configurable jQuery-path

Bernd Wurst authored 11 years ago

88) <link rel="stylesheet" href="'.$path.'/themes/base/jquery-ui.css">
89) <script type="text/javascript" src="'.$path.'/jquery-1.9.0.js" ></script>
90) <script type="text/javascript" src="'.$path.'/ui/jquery-ui.js" ></script>
bernd AJAXified

bernd authored 16 years ago

91) ');
92) 
Bernd Wurst Configurable jQuery-path

Bernd Wurst authored 11 years ago

93) output(html_form('su_su', '', '', '<label for="query"><strong>Suchtext:</strong></label> <input autocomplete="off" type="text" name="query" id="query" />
Bernd Wurst Erlaube auch das Absenden d...

Bernd Wurst authored 11 years ago

94) '));
Bernd Wurst su-Modul auf jQuery umgeste...

Bernd Wurst authored 11 years ago

95) output('
96) <script>
97) $("#query").autocomplete({
98)     source: "su_ajax",
99)     select: function( event, ui ) {
100)       if (ui.item) {
101)         window.location.href = "?do="+ui.item.id;
102)       }
103) }
104)  });
105) </script>');
bernd AJAXified

bernd authored 16 years ago

106) 
Bernd Wurst Suche auch bei unvollständi...

Bernd Wurst authored 11 years ago

107) if ($search) {
108)   $allentries = build_results($search);
109)   foreach ($allentries as $entry) {
110)     output("  <p><a href=\"?do=".filter_input_general($entry['id'])."\">".filter_input_general($entry['value'])."</a></p>");
111)   }
112) }
113) 
bernd Einige Dummheiten repariert...

bernd authored 15 years ago

114) /*
bernd AJAXified

bernd authored 16 years ago

115) 
116) 
bernd Su-Login für Admins

bernd authored 17 years ago

117) $users = list_system_users();
118) $options = '';
119) foreach ($users as $user)
120) {
121)   $options .= "  <option value=\"{$user->uid}\">{$user->username} ({$user->uid})</option>\n";
122) }
123) 
bernd eliminate .php extensions f...

bernd authored 16 years ago

124) output(html_form('su_su', 'su', '', '<p>Benutzer auswählen:
bernd Viele XHTML-Fehler korrigie...

bernd authored 17 years ago

125) <select name="destination" size="1">
bernd Su-Login für Admins

bernd authored 17 years ago

126) '.$options.'
127) </select>
128) <input type="submit" name="submit" value="zum Benutzer wechseln" />
bernd Viele XHTML-Fehler korrigie...

bernd authored 17 years ago

129) </p>
bernd Su-Login für Admins

bernd authored 17 years ago

130) '));
131) 
132) $customers = list_customers();
133) $options = '';
134) foreach ($customers as $customer)
135) {
bernd Einige Dummheiten repariert...

bernd authored 15 years ago

136)   $options .= "  <option value=\"{$customer->id}\">{$customer->id} - ".htmlspecialchars($customer->name)."</option>\n";
bernd Su-Login für Admins

bernd authored 17 years ago

137) }
138) 
bernd eliminate .php extensions f...

bernd authored 16 years ago

139) output(html_form('su_su', 'su', '', '<p>Kunde auswählen:
bernd Viele XHTML-Fehler korrigie...

bernd authored 17 years ago

140) <select name="destination" size="1">
bernd Su-Login für Admins

bernd authored 17 years ago

141) '.$options.'
142) </select>
143) <input type="submit" name="submit" value="zum Kunden wechseln" />
bernd Viele XHTML-Fehler korrigie...

bernd authored 17 years ago

144) </p>
bernd Su-Login für Admins

bernd authored 17 years ago

145) '));
146) 
bernd Einige Dummheiten repariert...

bernd authored 15 years ago

147) */