bernd commited on 2008-08-13 07:09:26
Zeige 2 geänderte Dateien mit 25 Einfügungen und 1 Löschungen.
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1133 87cf0b9e-d624-0410-a070-f6ee81989793
| ... | ... |
@@ -14,6 +14,8 @@ if (isset($_GET['action'])) |
| 14 | 14 |
switch ($_GET['action']) |
| 15 | 15 |
{
|
| 16 | 16 |
case 'delete_db': |
| 17 |
+ if (! has_mysql_database($_GET['db'])) |
|
| 18 |
+ system_failure('Ungültige Datenbank');
|
|
| 17 | 19 |
$sure = user_is_sure(); |
| 18 | 20 |
if ($sure === NULL) |
| 19 | 21 |
{
|
| ... | ... |
@@ -33,6 +35,8 @@ if (isset($_GET['action'])) |
| 33 | 35 |
} |
| 34 | 36 |
break; |
| 35 | 37 |
case 'delete_user': |
| 38 |
+ if (! has_mysql_username($_GET['user'])) |
|
| 39 |
+ system_failure('Ungültiger Benutzer');
|
|
| 36 | 40 |
$sure = user_is_sure(); |
| 37 | 41 |
if ($sure === NULL) |
| 38 | 42 |
{
|
| ... | ... |
@@ -52,6 +56,8 @@ if (isset($_GET['action'])) |
| 52 | 56 |
} |
| 53 | 57 |
break; |
| 54 | 58 |
case 'change_pw': |
| 59 |
+ if (! has_mysql_username($_POST['mysql_username'])) |
|
| 60 |
+ system_failure('Ungültiger Benutzer');
|
|
| 55 | 61 |
check_form_token('mysql_databases');
|
| 56 | 62 |
set_mysql_password($_POST['mysql_username'], $_POST['mysql_password']); |
| 57 | 63 |
header("Location: ?");
|
| ... | ... |
@@ -129,7 +135,7 @@ if ($output_something) |
| 129 | 135 |
|
| 130 | 136 |
foreach($dbs as $db) |
| 131 | 137 |
{
|
| 132 |
- $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\">{$db} ".internal_link("", "<img src=\"{$prefix}images/delete.png\" title=\"Datenbank »{$db}« löschen\" alt=\"löschen\" />", "action=delete_db&db={$db}")."</td>";
|
|
| 138 |
+ $form .= "<tr><td style=\"border: 0px; font-weight: bold; text-align: right;\">{$db} ".internal_link("", "<img src=\"{$prefix}images/delete.png\" title=\"Datenbank »{$db}« löschen\" alt=\"löschen\" />", "action=delete_db&db={$db}")."</td>";
|
|
| 133 | 139 |
foreach ($users as $user) |
| 134 | 140 |
$form .= '<td style="text-align: center;"><input type="checkbox" id="'.$db.'_'.$user.'" name="access['.$db.'][]" value="'.$user.'" '.(get_mysql_access($db, $user) ? 'checked="checked" ' : '')." /></td>"; |
| 135 | 141 |
$form .= "</tr>\n"; |
| ... | ... |
@@ -147,4 +147,22 @@ function set_mysql_password($username, $password) |
| 147 | 147 |
} |
| 148 | 148 |
|
| 149 | 149 |
|
| 150 |
+function has_mysql_database($dbname) |
|
| 151 |
+{
|
|
| 152 |
+ $uid = $_SESSION['userinfo']['uid']; |
|
| 153 |
+ $dbname = mysql_real_escape_string($dbname); |
|
| 154 |
+ $result = db_query("SELECT NULL FROM misc.mysql_database WHERE name='{$dbname}' AND useraccount='{$uid}' LIMIT 1;");
|
|
| 155 |
+ return (mysql_num_rows($result) == 1); |
|
| 156 |
+} |
|
| 157 |
+ |
|
| 158 |
+ |
|
| 159 |
+function has_mysql_user($username) |
|
| 160 |
+{
|
|
| 161 |
+ $uid = $_SESSION['userinfo']['uid']; |
|
| 162 |
+ $userame = mysql_real_escape_string($username); |
|
| 163 |
+ $result = db_query("SELECT NULL FROM misc.mysql_accounts WHERE username='{$username}' AND useraccount='{$uid}' LIMIT 1;");
|
|
| 164 |
+ return (mysql_num_rows($result) == 1); |
|
| 165 |
+} |
|
| 166 |
+ |
|
| 167 |
+ |
|
| 150 | 168 |
?> |
| 151 | 169 |