Browse code

Codingstyle PSR12 + array syntax

Hanno Böck authored on 30/10/2021 21:18:17
Showing 1 changed files
... ...
@@ -16,7 +16,7 @@ Nevertheless, in case you use a significant part of this code, we ask (but not r
16 16
 
17 17
 require_once('session/start.php');
18 18
 require_once('inc/icons.php');
19
-require_role(array(ROLE_SYSTEMUSER));
19
+require_role([ROLE_SYSTEMUSER]);
20 20
 
21 21
 global $prefix;
22 22
 
... ...
@@ -105,7 +105,7 @@ addnew('newdb', 'Neue Datenbank');
105 105
 addnew('newuser', 'Neuer DB-Benutzer');
106 106
 
107 107
 if (count($dbs) > 0) {
108
-    $myservers = array();
108
+    $myservers = [];
109 109
     foreach ($servers as $s) {
110 110
         if (! in_array($s, $myservers)) {
111 111
             $myservers[] = $s;
... ...
@@ -125,7 +125,7 @@ if (count($users) > 0) {
125 125
 
126 126
 
127 127
 
128
-    $my_users = array();
128
+    $my_users = [];
129 129
     foreach ($users as $u) {
130 130
         $my_users[$u['username']] = $u['username'];
131 131
     }
Browse code

Umstellung von filter_input_general() auf filter_output_html()

Bernd Wurst authored on 21/09/2019 17:07:48
Showing 1 changed files
... ...
@@ -64,7 +64,7 @@ if (count($dbs) > 0 || count($users) > 0) {
64 64
         //$username = str_replace('_', '_ ', $user['username']);
65 65
         $desc = '';
66 66
         if ($user['description']) {
67
-            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.filter_input_general($user['description']).'</span>';
67
+            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.filter_output_html($user['description']).'</span>';
68 68
         }
69 69
         output("<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc);
70 70
         output("<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;");
... ...
@@ -78,7 +78,7 @@ if (count($dbs) > 0 || count($users) > 0) {
78 78
         $phpmyadmin = "https://mysql-{$servers[$db['name']]}/";
79 79
         $desc = '';
80 80
         if ($db['description']) {
81
-            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.filter_input_general($db['description']).'</span>';
81
+            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.filter_output_html($db['description']).'</span>';
82 82
         }
83 83
         output("<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />");
84 84
         output(internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;");
Browse code

XSS in DB-Benutzer

Hanno authored on 09/03/2019 09:32:01
Showing 1 changed files
... ...
@@ -64,7 +64,7 @@ if (count($dbs) > 0 || count($users) > 0) {
64 64
         //$username = str_replace('_', '_ ', $user['username']);
65 65
         $desc = '';
66 66
         if ($user['description']) {
67
-            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$user['description'].'</span>';
67
+            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.filter_input_general($user['description']).'</span>';
68 68
         }
69 69
         output("<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc);
70 70
         output("<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;");
Browse code

XSS in Datenbankbeschreibung

Hanno authored on 09/03/2019 09:28:36
Showing 1 changed files
... ...
@@ -78,7 +78,7 @@ if (count($dbs) > 0 || count($users) > 0) {
78 78
         $phpmyadmin = "https://mysql-{$servers[$db['name']]}/";
79 79
         $desc = '';
80 80
         if ($db['description']) {
81
-            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
81
+            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.filter_input_general($db['description']).'</span>';
82 82
         }
83 83
         output("<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />");
84 84
         output(internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;");
Browse code

Fix coding style with php-cs-checker, see https://cs.sensiolabs.org/

Hanno authored on 26/06/2018 13:58:19
Showing 1 changed files
... ...
@@ -8,7 +8,7 @@ Written 2008-2018 by schokokeks.org Hosting, namely
8 8
 
9 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 10
 
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12 12
 http://creativecommons.org/publicdomain/zero/1.0/
13 13
 
14 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.
... ...
@@ -52,94 +52,84 @@ html_header('
52 52
 </script>');
53 53
 
54 54
 if (count($dbs) > 0 || count($users) > 0) {
55
+    output('<p><strong>Hinweis:</strong> In dieser Matrix sehen Sie links die Datenbanken und oben die Benutzer, die Sie eingerichtet haben. In der Übersicht ist dargestellt, welcher Benutzer auf welche Datenbank Zugriff erhält. Klicken Sie auf die Symbole um die Zugriffsrechte zu ändern.</p>');
55 56
 
56
-  output('<p><strong>Hinweis:</strong> In dieser Matrix sehen Sie links die Datenbanken und oben die Benutzer, die Sie eingerichtet haben. In der Übersicht ist dargestellt, welcher Benutzer auf welche Datenbank Zugriff erhält. Klicken Sie auf die Symbole um die Zugriffsrechte zu ändern.</p>');
57
-
58
-  output('
57
+    output('
59 58
   <table>
60 59
   <tr><th>&#160;</th><th style="background-color: #729bb3; color: #fff;padding: 0.2em;" colspan="'.(count($users)+1).'">Benutzerkonten</th></tr>
61 60
   <tr><th style="background-color: #729bb3; color: #fff;padding: 0.2em; text-align: left;">Datenbanken</th>');
62 61
 
63
-  foreach ($users as $user)
64
-  {
65
-    $username = $user["username"];
66
-    //$username = str_replace('_', '_ ', $user['username']);
67
-    $desc = '';
68
-    if ($user['description']) {
69
-      $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$user['description'].'</span>';
70
-    } 
71
-    output("<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc);
72
-    output("<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;");
73
-    output(internal_link("save", icon_delete("Benutzer »{$user['username']}« löschen"), "action=delete_user&user={$user['username']}")."</th>");
74
-  }
75
-
62
+    foreach ($users as $user) {
63
+        $username = $user["username"];
64
+        //$username = str_replace('_', '_ ', $user['username']);
65
+        $desc = '';
66
+        if ($user['description']) {
67
+            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$user['description'].'</span>';
68
+        }
69
+        output("<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc);
70
+        output("<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;");
71
+        output(internal_link("save", icon_delete("Benutzer »{$user['username']}« löschen"), "action=delete_user&user={$user['username']}")."</th>");
72
+    }
76 73
 
77
-  $formtoken = generate_form_token('mysql_permchange');
78 74
 
79
-  foreach($dbs as $db)
80
-  {
81
-    $phpmyadmin = "https://mysql-{$servers[$db['name']]}/";
82
-    $desc = '';
83
-    if ($db['description']) {
84
-      $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
85
-    } 
86
-    output("<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />");
87
-    output(internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;");
88
-    output(internal_link("save", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;");
89
-    output("<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a>");
90
-    output("</td>");
91
-    foreach ($users as $user) {
92
-      output('<td style="text-align: center;">');
93
-      if (get_mysql_access($db['name'], $user['username'])) {
94
-        output(internal_link('save', icon_enabled('Zugriff erlaubt; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=0&formtoken={$formtoken}"));
95
-      } else {
96
-        output(internal_link('save', icon_disabled('Zugriff verweigern; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=1&formtoken={$formtoken}"));
97
-      }
98
-      
75
+    $formtoken = generate_form_token('mysql_permchange');
76
+
77
+    foreach ($dbs as $db) {
78
+        $phpmyadmin = "https://mysql-{$servers[$db['name']]}/";
79
+        $desc = '';
80
+        if ($db['description']) {
81
+            $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
82
+        }
83
+        output("<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />");
84
+        output(internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;");
85
+        output(internal_link("save", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;");
86
+        output("<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a>");
87
+        output("</td>");
88
+        foreach ($users as $user) {
89
+            output('<td style="text-align: center;">');
90
+            if (get_mysql_access($db['name'], $user['username'])) {
91
+                output(internal_link('save', icon_enabled('Zugriff erlaubt; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=0&formtoken={$formtoken}"));
92
+            } else {
93
+                output(internal_link('save', icon_disabled('Zugriff verweigern; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=1&formtoken={$formtoken}"));
94
+            }
95
+        }
96
+        output("</tr>\n");
99 97
     }
100
-    output("</tr>\n");
101
-  }
102 98
 
103
-  output('</table>');
104
-  
99
+    output('</table>');
105 100
 } else {
106
-  output('<p><em>Sie haben bisher keine Datenbanken erstellt.</em></p>');
101
+    output('<p><em>Sie haben bisher keine Datenbanken erstellt.</em></p>');
107 102
 }
108 103
 
109 104
 addnew('newdb', 'Neue Datenbank');
110 105
 addnew('newuser', 'Neuer DB-Benutzer');
111 106
 
112 107
 if (count($dbs) > 0) {
113
-
114
-  $myservers = array();
115
-  foreach ($servers as $s) {
116
-    if (! in_array($s, $myservers)) {
117
-      $myservers[] = $s;
108
+    $myservers = array();
109
+    foreach ($servers as $s) {
110
+        if (! in_array($s, $myservers)) {
111
+            $myservers[] = $s;
112
+        }
118 113
     }
119
-  }
120 114
 
121
-  output("<h4>Verwaltung der Datenbanken (phpMyAdmin)</h4>
115
+    output("<h4>Verwaltung der Datenbanken (phpMyAdmin)</h4>
122 116
   <p><img src=\"{$prefix}images/phpmyadmin.png\" style=\"width: 120px; height: 70px; float: right;\" />Zur Verwaltung der Datenbank-Inhalte stellen wir Ihnen eine stets aktualisierte Version von phpMyAdmin zur Verfügung.</p>");
123
-  if (count($myservers) == 1) {
124
-    output("<p><strong><a href=\"https://mysql-{$myservers[0]}/\">phpMyAdmin aufrufen</a></strong></p>");
125
-  }
126
-  else {
127
-    output("<p><em>Ihre Datenbanken befinden sich auf unterschiedlichen Servern, daher müssen Sie die jeweils passende Adresse für phpMyAdmin benutzen. Klicken Sie auf das Symbol ".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")." oben neben der jeweiligen Datenbank.</em></p>");
128
-  }
129
-
117
+    if (count($myservers) == 1) {
118
+        output("<p><strong><a href=\"https://mysql-{$myservers[0]}/\">phpMyAdmin aufrufen</a></strong></p>");
119
+    } else {
120
+        output("<p><em>Ihre Datenbanken befinden sich auf unterschiedlichen Servern, daher müssen Sie die jeweils passende Adresse für phpMyAdmin benutzen. Klicken Sie auf das Symbol ".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")." oben neben der jeweiligen Datenbank.</em></p>");
121
+    }
130 122
 }
131 123
 if (count($users) > 0) {
132
-
133
-  $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
124
+    $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
134 125
 
135 126
 
136 127
 
137
-  $my_users = array();
138
-  foreach ($users as $u)
139
-  {
140
-    $my_users[$u['username']] = $u['username'];
141
-  }
142
-  $form = '<div>
128
+    $my_users = array();
129
+    foreach ($users as $u) {
130
+        $my_users[$u['username']] = $u['username'];
131
+    }
132
+    $form = '<div>
143 133
   <p><label for="mysql_username">Benutzername:</label>&#160;'.html_select('mysql_username', $my_users).'</p>
144 134
   <p><label for="newpass">Passwort:</label>&#160;<input onchange="document.getElementById(\'newpass_display\').parentNode.style.display=\'none\'" type="password" name="newpass" id="newpass" value="" /> <button type="button" onclick="setRandomPassword()">Passwort erzeugen</button></p>
145 135
 <p style="display: none;">Automatisch erzeugtes Passwort: <input id="newpass_display" type="text" readonly="readonly" /></p>
... ...
@@ -147,11 +137,8 @@ if (count($users) > 0) {
147 137
 </div>';
148 138
 
149 139
 
150
-  output('<h4>Passwort ändern</h4>
140
+    output('<h4>Passwort ändern</h4>
151 141
   <p>Hier können Sie das Passwort eines MySQL-Benutzeraccounts ändern bzw. neu setzen</p>
152 142
 
153 143
   '.html_form('mysql_databases', 'save', 'action=change_pw', $form).'<br />');
154
-
155
-
156 144
 }
157
-?>
Browse code

Copyright year update

Bernd Wurst authored on 13/01/2018 06:07:05
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2014 by schokokeks.org Hosting, namely
5
+Written 2008-2018 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

new domain scheme

schokokeks.org web services authored on 12/12/2014 21:46:09
Showing 1 changed files
... ...
@@ -78,7 +78,7 @@ if (count($dbs) > 0 || count($users) > 0) {
78 78
 
79 79
   foreach($dbs as $db)
80 80
   {
81
-    $phpmyadmin = "https://mysql.{$servers[$db['name']]}/";
81
+    $phpmyadmin = "https://mysql-{$servers[$db['name']]}/";
82 82
     $desc = '';
83 83
     if ($db['description']) {
84 84
       $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
... ...
@@ -121,7 +121,7 @@ if (count($dbs) > 0) {
121 121
   output("<h4>Verwaltung der Datenbanken (phpMyAdmin)</h4>
122 122
   <p><img src=\"{$prefix}images/phpmyadmin.png\" style=\"width: 120px; height: 70px; float: right;\" />Zur Verwaltung der Datenbank-Inhalte stellen wir Ihnen eine stets aktualisierte Version von phpMyAdmin zur Verfügung.</p>");
123 123
   if (count($myservers) == 1) {
124
-    output("<p><strong><a href=\"https://mysql.{$myservers[0]}/\">phpMyAdmin aufrufen</a></strong></p>");
124
+    output("<p><strong><a href=\"https://mysql-{$myservers[0]}/\">phpMyAdmin aufrufen</a></strong></p>");
125 125
   }
126 126
   else {
127 127
     output("<p><em>Ihre Datenbanken befinden sich auf unterschiedlichen Servern, daher müssen Sie die jeweils passende Adresse für phpMyAdmin benutzen. Klicken Sie auf das Symbol ".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")." oben neben der jeweiligen Datenbank.</em></p>");
Browse code

Lizenzinfos in eigenes Modul ausgelagert und Copyright auf 2014 angepasst

Bernd Wurst authored on 08/02/2014 05:45:07
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2013 by schokokeks.org Hosting, namely
5
+Written 2008-2014 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Passwort-Erzeugung auch beim Ändern des MySQL-Passworts

Bernd Wurst authored on 13/03/2013 11:19:19
Showing 1 changed files
... ...
@@ -29,6 +29,27 @@ $servers = servers_for_databases();
29 29
 title("MySQL-Datenbanken");
30 30
 output('<p>Hier können Sie den Zugriff auf Ihre MySQL-Datenbanken verwalten. Die Einstellungen werden mit einer leichten Verzögerung (maximal 5 Minuten) in das System übertragen. Bitte beachten Sie, dass neue Zugänge also nicht umgehend funktionieren.</p>');
31 31
 
32
+html_header('
33
+<script type="text/javascript">
34
+
35
+  function makePasswd() {
36
+    var passwd = \'\';
37
+    var chars = \'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\';
38
+    for (i=0; i<15; i++) {
39
+      var c = Math.floor(Math.random()*chars.length + 1);
40
+      passwd += chars.charAt(c)
41
+    }
42
+    return passwd;
43
+  }
44
+
45
+  function setRandomPassword() 
46
+  {
47
+    pass = makePasswd();
48
+    document.getElementById(\'newpass\').value = pass;
49
+    document.getElementById(\'newpass_display\').value = pass;
50
+    document.getElementById(\'newpass_display\').parentNode.style.display = \'block\';
51
+  }
52
+</script>');
32 53
 
33 54
 if (count($dbs) > 0 || count($users) > 0) {
34 55
 
... ...
@@ -119,10 +140,10 @@ if (count($users) > 0) {
119 140
     $my_users[$u['username']] = $u['username'];
120 141
   }
121 142
   $form = '<div>
122
-  <label for="mysql_username">Benutzername:</label>&#160;'.html_select('mysql_username', $my_users).'
123
-  &#160;&#160;&#160;
124
-  <label for="password">Passwort:</label>&#160;<input type="password" name="mysql_password" id="password" />
125
-  &#160;&#160;<input type="submit" value="Setzen" />
143
+  <p><label for="mysql_username">Benutzername:</label>&#160;'.html_select('mysql_username', $my_users).'</p>
144
+  <p><label for="newpass">Passwort:</label>&#160;<input onchange="document.getElementById(\'newpass_display\').parentNode.style.display=\'none\'" type="password" name="newpass" id="newpass" value="" /> <button type="button" onclick="setRandomPassword()">Passwort erzeugen</button></p>
145
+<p style="display: none;">Automatisch erzeugtes Passwort: <input id="newpass_display" type="text" readonly="readonly" /></p>
146
+  <p><input type="submit" value="Setzen" /></p>
126 147
 </div>';
127 148
 
128 149
 
Browse code

Zeige reduzierte Seite wenn keine DBs vorhanden. Overview-Matrix ist nun kein Formular mehr.

Bernd Wurst authored on 28/02/2013 18:39:00
Showing 1 changed files
... ...
@@ -24,15 +24,20 @@ require_once('mysql.php');
24 24
 
25 25
 $dbs = get_mysql_databases($_SESSION['userinfo']['uid']);
26 26
 $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
27
+$servers = servers_for_databases();
27 28
 
28
-  title("MySQL-Datenbanken");
29
-  output('<p>Hier können Sie den Zugriff auf Ihre MySQL-Datenbanken verwalten. Die Einstellungen werden mit einer leichten Verzögerung (maximal 5 Minuten) in das System übertragen. Bitte beachten Sie, dass neue Zugänge also nicht umgehend funktionieren.</p>
30
-  <p><strong>Hinweis:</strong> In dieser Matrix sehen Sie links die Datenbanken und oben die Benutzer, die Sie eingerichtet haben. In der Übersicht ist dargestellt, welcher Benutzer auf welche Datenbank Zugriff erhält. Klicken Sie auf die Symbole um die Zugriffsrechte zu ändern.</p>');
29
+title("MySQL-Datenbanken");
30
+output('<p>Hier können Sie den Zugriff auf Ihre MySQL-Datenbanken verwalten. Die Einstellungen werden mit einer leichten Verzögerung (maximal 5 Minuten) in das System übertragen. Bitte beachten Sie, dass neue Zugänge also nicht umgehend funktionieren.</p>');
31 31
 
32
-  $form = '
32
+
33
+if (count($dbs) > 0 || count($users) > 0) {
34
+
35
+  output('<p><strong>Hinweis:</strong> In dieser Matrix sehen Sie links die Datenbanken und oben die Benutzer, die Sie eingerichtet haben. In der Übersicht ist dargestellt, welcher Benutzer auf welche Datenbank Zugriff erhält. Klicken Sie auf die Symbole um die Zugriffsrechte zu ändern.</p>');
36
+
37
+  output('
33 38
   <table>
34 39
   <tr><th>&#160;</th><th style="background-color: #729bb3; color: #fff;padding: 0.2em;" colspan="'.(count($users)+1).'">Benutzerkonten</th></tr>
35
-  <tr><th style="background-color: #729bb3; color: #fff;padding: 0.2em; text-align: left;">Datenbanken</th>';
40
+  <tr><th style="background-color: #729bb3; color: #fff;padding: 0.2em; text-align: left;">Datenbanken</th>');
36 41
 
37 42
   foreach ($users as $user)
38 43
   {
... ...
@@ -42,12 +47,11 @@ $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
42 47
     if ($user['description']) {
43 48
       $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$user['description'].'</span>';
44 49
     } 
45
-    $form .= "<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc;
46
-    $form .= "<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;";
47
-    $form .= internal_link("save", icon_delete("Benutzer »{$user['username']}« löschen"), "action=delete_user&user={$user['username']}")."</th>";
50
+    output("<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc);
51
+    output("<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;");
52
+    output(internal_link("save", icon_delete("Benutzer »{$user['username']}« löschen"), "action=delete_user&user={$user['username']}")."</th>");
48 53
   }
49 54
 
50
-  $servers = servers_for_databases();
51 55
 
52 56
   $formtoken = generate_form_token('mysql_permchange');
53 57
 
... ...
@@ -58,32 +62,33 @@ $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
58 62
     if ($db['description']) {
59 63
       $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
60 64
     } 
61
-    $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />";
62
-    $form .= internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;";
63
-    $form .= internal_link("save", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;";
64
-    $form .= "<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a>";
65
-    $form .= "</td>";
65
+    output("<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />");
66
+    output(internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;");
67
+    output(internal_link("save", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;");
68
+    output("<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a>");
69
+    output("</td>");
66 70
     foreach ($users as $user) {
67
-      $form .= '<td style="text-align: center;">';
71
+      output('<td style="text-align: center;">');
68 72
       if (get_mysql_access($db['name'], $user['username'])) {
69
-        $form .= internal_link('save', icon_enabled('Zugriff erlaubt; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=0&formtoken={$formtoken}");
73
+        output(internal_link('save', icon_enabled('Zugriff erlaubt; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=0&formtoken={$formtoken}"));
70 74
       } else {
71
-        $form .= internal_link('save', icon_disabled('Zugriff verweigern; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=1&formtoken={$formtoken}");
75
+        output(internal_link('save', icon_disabled('Zugriff verweigern; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=1&formtoken={$formtoken}"));
72 76
       }
73 77
       
74 78
     }
75
-    $form .= "</tr>\n";
79
+    output("</tr>\n");
76 80
   }
77 81
 
78
-  $form .= '
79
-  </table>';
80
-
82
+  output('</table>');
81 83
   
82
-  output(html_form('mysql_databases', 'databases', '', $form));
84
+} else {
85
+  output('<p><em>Sie haben bisher keine Datenbanken erstellt.</em></p>');
86
+}
83 87
 
84
-  addnew('newdb', 'Neue Datenbank');
85
-  addnew('newuser', 'Neuer DB-Benutzer');
88
+addnew('newdb', 'Neue Datenbank');
89
+addnew('newuser', 'Neuer DB-Benutzer');
86 90
 
91
+if (count($dbs) > 0) {
87 92
 
88 93
   $myservers = array();
89 94
   foreach ($servers as $s) {
... ...
@@ -101,6 +106,8 @@ $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
101 106
     output("<p><em>Ihre Datenbanken befinden sich auf unterschiedlichen Servern, daher müssen Sie die jeweils passende Adresse für phpMyAdmin benutzen. Klicken Sie auf das Symbol ".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")." oben neben der jeweiligen Datenbank.</em></p>");
102 107
   }
103 108
 
109
+}
110
+if (count($users) > 0) {
104 111
 
105 112
   $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
106 113
 
... ...
@@ -125,5 +132,5 @@ $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
125 132
   '.html_form('mysql_databases', 'save', 'action=change_pw', $form).'<br />');
126 133
 
127 134
 
128
-
135
+}
129 136
 ?>
Browse code

Symbole immer in der Zeile drunter anzeigen (spart Breite)

Bernd Wurst authored on 28/02/2013 18:18:18
Showing 1 changed files
... ...
@@ -58,11 +58,11 @@ $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
58 58
     if ($db['description']) {
59 59
       $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
60 60
     } 
61
-    $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>&#160;";
61
+    $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>".$desc."<br />";
62 62
     $form .= internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;";
63 63
     $form .= internal_link("save", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;";
64 64
     $form .= "<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a>";
65
-    $form .= "{$desc}</td>";
65
+    $form .= "</td>";
66 66
     foreach ($users as $user) {
67 67
       $form .= '<td style="text-align: center;">';
68 68
       if (get_mysql_access($db['name'], $user['username'])) {
Browse code

Neue MySQL-Verwaltung

Bernd Wurst authored on 28/02/2013 15:51:12
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,129 @@
1
+<?php
2
+/*
3
+This file belongs to the Webinterface of schokokeks.org Hosting
4
+
5
+Written 2008-2013 by schokokeks.org Hosting, namely
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
+*/
16
+
17
+require_once('session/start.php');
18
+require_once('inc/icons.php');
19
+require_role(array(ROLE_SYSTEMUSER));
20
+
21
+global $prefix;
22
+
23
+require_once('mysql.php');
24
+
25
+$dbs = get_mysql_databases($_SESSION['userinfo']['uid']);
26
+$users = get_mysql_accounts($_SESSION['userinfo']['uid']);
27
+
28
+  title("MySQL-Datenbanken");
29
+  output('<p>Hier können Sie den Zugriff auf Ihre MySQL-Datenbanken verwalten. Die Einstellungen werden mit einer leichten Verzögerung (maximal 5 Minuten) in das System übertragen. Bitte beachten Sie, dass neue Zugänge also nicht umgehend funktionieren.</p>
30
+  <p><strong>Hinweis:</strong> In dieser Matrix sehen Sie links die Datenbanken und oben die Benutzer, die Sie eingerichtet haben. In der Übersicht ist dargestellt, welcher Benutzer auf welche Datenbank Zugriff erhält. Klicken Sie auf die Symbole um die Zugriffsrechte zu ändern.</p>');
31
+
32
+  $form = '
33
+  <table>
34
+  <tr><th>&#160;</th><th style="background-color: #729bb3; color: #fff;padding: 0.2em;" colspan="'.(count($users)+1).'">Benutzerkonten</th></tr>
35
+  <tr><th style="background-color: #729bb3; color: #fff;padding: 0.2em; text-align: left;">Datenbanken</th>';
36
+
37
+  foreach ($users as $user)
38
+  {
39
+    $username = $user["username"];
40
+    //$username = str_replace('_', '_ ', $user['username']);
41
+    $desc = '';
42
+    if ($user['description']) {
43
+      $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$user['description'].'</span>';
44
+    } 
45
+    $form .= "<th><span title=\"Erstellt: {$user['created']}\">{$username}</span>".$desc;
46
+    $form .= "<br />".internal_link('description', other_icon("comment.png", 'Beschreibung ändern'), "username={$username}")."&#160;";
47
+    $form .= internal_link("save", icon_delete("Benutzer »{$user['username']}« löschen"), "action=delete_user&user={$user['username']}")."</th>";
48
+  }
49
+
50
+  $servers = servers_for_databases();
51
+
52
+  $formtoken = generate_form_token('mysql_permchange');
53
+
54
+  foreach($dbs as $db)
55
+  {
56
+    $phpmyadmin = "https://mysql.{$servers[$db['name']]}/";
57
+    $desc = '';
58
+    if ($db['description']) {
59
+      $desc = '<br /><span style="font-weight: normal; font-size: 80%; font-style: italic;">'.$db['description'].'</span>';
60
+    } 
61
+    $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"Erstellt: {$db['created']}\">{$db['name']}</span>&#160;";
62
+    $form .= internal_link('description', other_icon("comment.png", 'Datenbank-Beschreibung ändern'), "db={$db['name']}")."&#160;";
63
+    $form .= internal_link("save", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;";
64
+    $form .= "<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a>";
65
+    $form .= "{$desc}</td>";
66
+    foreach ($users as $user) {
67
+      $form .= '<td style="text-align: center;">';
68
+      if (get_mysql_access($db['name'], $user['username'])) {
69
+        $form .= internal_link('save', icon_enabled('Zugriff erlaubt; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=0&formtoken={$formtoken}");
70
+      } else {
71
+        $form .= internal_link('save', icon_disabled('Zugriff verweigern; Anklicken zum Ändern'), "action=permchange&user={$user['username']}&db={$db['name']}&access=1&formtoken={$formtoken}");
72
+      }
73
+      
74
+    }
75
+    $form .= "</tr>\n";
76
+  }
77
+
78
+  $form .= '
79
+  </table>';
80
+
81
+  
82
+  output(html_form('mysql_databases', 'databases', '', $form));
83
+
84
+  addnew('newdb', 'Neue Datenbank');
85
+  addnew('newuser', 'Neuer DB-Benutzer');
86
+
87
+
88
+  $myservers = array();
89
+  foreach ($servers as $s) {
90
+    if (! in_array($s, $myservers)) {
91
+      $myservers[] = $s;
92
+    }
93
+  }
94
+
95
+  output("<h4>Verwaltung der Datenbanken (phpMyAdmin)</h4>
96
+  <p><img src=\"{$prefix}images/phpmyadmin.png\" style=\"width: 120px; height: 70px; float: right;\" />Zur Verwaltung der Datenbank-Inhalte stellen wir Ihnen eine stets aktualisierte Version von phpMyAdmin zur Verfügung.</p>");
97
+  if (count($myservers) == 1) {
98
+    output("<p><strong><a href=\"https://mysql.{$myservers[0]}/\">phpMyAdmin aufrufen</a></strong></p>");
99
+  }
100
+  else {
101
+    output("<p><em>Ihre Datenbanken befinden sich auf unterschiedlichen Servern, daher müssen Sie die jeweils passende Adresse für phpMyAdmin benutzen. Klicken Sie auf das Symbol ".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")." oben neben der jeweiligen Datenbank.</em></p>");
102
+  }
103
+
104
+
105
+  $users = get_mysql_accounts($_SESSION['userinfo']['uid']);
106
+
107
+
108
+
109
+  $my_users = array();
110
+  foreach ($users as $u)
111
+  {
112
+    $my_users[$u['username']] = $u['username'];
113
+  }
114
+  $form = '<div>
115
+  <label for="mysql_username">Benutzername:</label>&#160;'.html_select('mysql_username', $my_users).'
116
+  &#160;&#160;&#160;
117
+  <label for="password">Passwort:</label>&#160;<input type="password" name="mysql_password" id="password" />
118
+  &#160;&#160;<input type="submit" value="Setzen" />
119
+</div>';
120
+
121
+
122
+  output('<h4>Passwort ändern</h4>
123
+  <p>Hier können Sie das Passwort eines MySQL-Benutzeraccounts ändern bzw. neu setzen</p>
124
+
125
+  '.html_form('mysql_databases', 'save', 'action=change_pw', $form).'<br />');
126
+
127
+
128
+
129
+?>