Zeige Link zum phpMyAdmin im Webiterface an
bernd

bernd commited on 2010-12-30 09:15:44
Zeige 3 geänderte Dateien mit 17 Einfügungen und 3 Löschungen.


git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1862 87cf0b9e-d624-0410-a070-f6ee81989793
... ...
@@ -134,7 +134,8 @@ if ($output_something)
134 134
 
135 135
   foreach ($users as $user)
136 136
   {
137
-    $username = str_replace('_', '_ ', $user['username']);
137
+    $username = $user["username"];
138
+    //$username = str_replace('_', '_ ', $user['username']);
138 139
     $desc = ($user['description'] ? $user['description'].' (Erstellt: '.$user['created'].')' : 'Erstellt: '.$user['created']);
139 140
     $form .= "<th><span title=\"{$desc}\">{$username}</span><br />".internal_link("", icon_delete("Benutzer »{$user['username']}« löschen"), "action=delete_user&user={$user['username']}")."</th>";
140 141
   }
... ...
@@ -145,8 +146,9 @@ if ($output_something)
145 146
 
146 147
   foreach($dbs as $db)
147 148
   {
149
+    $phpmyadmin = "https://mysql." . server_for_database($db['id']) . "/";
148 150
     $desc = ($db['description'] ? $db['description'].' (Erstellt: '.$db['created'].')' : 'Erstellt: '.$db['created']);
149
-    $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"{$desc}\">{$db['name']}</span>&#160;".internal_link("", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."</td>";
151
+    $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\"><span title=\"{$desc}\">{$db['name']}</span>&#160;".internal_link("", icon_delete("Datenbank »{$db['name']}« löschen"), "action=delete_db&db={$db['name']}")."&#160;<a href=\"".$phpmyadmin."\">".other_icon("database_go.png", "Datenbank-Verwaltung über phpMyAdmin")."</a></td>";
150 152
     foreach ($users as $user)
151 153
       $form .= '<td style="text-align: center;"><input type="checkbox" id="'.$db['name'].'_'.$user['username'].'" name="access['.$db['name'].'][]" value="'.$user['username'].'" '.(get_mysql_access($db['name'], $user['username']) ? 'checked="checked" ' : '')." /></td>";
152 154
     $form .= "</tr>\n";
... ...
@@ -17,7 +17,7 @@ function get_mysql_accounts($UID)
17 17
 function get_mysql_databases($UID)
18 18
 {
19 19
   $UID = (int) $UID;
20
-  $result = db_query("SELECT name, description, created FROM misc.mysql_database WHERE useraccount=$UID");
20
+  $result = db_query("SELECT id, name, description, created FROM misc.mysql_database WHERE useraccount=$UID");
21 21
   if (mysql_num_rows($result) == 0)
22 22
     return array();
23 23
   $list = array();
... ...
@@ -29,6 +29,18 @@ function get_mysql_databases($UID)
29 29
 }
30 30
 
31 31
 
32
+function server_for_database($id)
33
+{
34
+  $id = (int) $id;
35
+  
36
+  $result = db_query("SELECT hostname FROM misc.mysql_database AS db LEFT JOIN system.useraccounts AS u ON (db.useraccount=u.uid) LEFT JOIN system.servers ON (COALESCE(db.server, u.server) = servers.id) WHERE db.id={$id}");
37
+  if (mysql_num_rows($result) != 1)
38
+    system_failure("Fehler beim auslesen des zuständigen Servers");
39
+  $s = mysql_fetch_assoc($result);
40
+  return $s["hostname"];
41
+}
42
+
43
+
32 44
 function get_mysql_access($db, $account)
33 45
 {
34 46
   $uid = $_SESSION['userinfo']['uid'];
35 47