Zeige deutlich an, welche MySQL-Namen erlaubt sind. Und zeige eine unübersehbare Fehlermeldung an wenn etwas nicht stimmt.
Bernd Wurst

Bernd Wurst commited on 2014-03-12 05:09:01
Zeige 3 geänderte Dateien mit 12 Einfügungen und 4 Löschungen.

... ...
@@ -147,7 +147,7 @@ function create_mysql_account($username, $description = '')
147 147
   if (! validate_mysql_username($username))
148 148
   {
149 149
     logger(LOG_WARNING, "modules/mysql/include/mysql", "mysql", "illegal username »{$username}«");
150
-    input_error("Der eingegebene Benutzername entspricht leider nicht der Konvention. Bitte tragen Sie einen passenden Namen ein.");
150
+    system_failure("Der eingegebene Benutzername entspricht leider nicht der Konvention. Bitte tragen Sie einen passenden Namen ein.");
151 151
     return NULL;
152 152
   }
153 153
   $args = array(":uid" => $_SESSION['userinfo']['uid'],
... ...
@@ -172,7 +172,7 @@ function create_mysql_database($dbname, $description = NULL, $server = NULL)
172 172
   if (! validate_mysql_dbname($dbname))
173 173
   {
174 174
     logger(LOG_WARNING, "modules/mysql/include/mysql", "mysql", "illegal db-name »{$dbname}«");
175
-    input_error("Der eingegebene Datenbankname entspricht leider nicht der Konvention. Bitte tragen Sie einen passenden Namen ein.");
175
+    system_failure("Der eingegebene Datenbankname entspricht leider nicht der Konvention. Bitte tragen Sie einen passenden Namen ein.");
176 176
     return NULL;
177 177
   }
178 178
   if (! in_array($server, additional_servers()) || ($server == my_server_id())) {
... ...
@@ -41,9 +41,11 @@ while (in_array($suggestion, $dbnames)) {
41 41
   $count++;
42 42
 }
43 43
 
44
+$hint = 'Der Datenbankname muss mit <strong>'.$username.'_</strong> beginnen.';
45
+
44 46
 $form = '<h4>Name der neuen Datenbank</h4>
45 47
 <input type="text" name="newdb" value="'.$suggestion.'" />
46
-<p>Bitte nur Kleinbuchstaben, Zahlen und Unterstrich verwenden. Der Datenbankname muss mit dem Benutzernamen beginnen.</p>
48
+<p>Bitte nur Kleinbuchstaben, Zahlen und Unterstrich verwenden. '.$hint.'</p>
47 49
 <p><label for="description">Optionale Beschreibung dieser Datenbank:</label> <input type="text" name="description" id="description" /></p>
48 50
 ';
49 51
 if (count(additional_servers()) > 0) {
... ...
@@ -65,9 +65,15 @@ while (in_array($suggestion, $usernames)) {
65 65
   $count++;
66 66
 }
67 67
 
68
+$hint = 'Der MySQL-Benutzername muss entweder <strong>'.$username.'</strong> lauten oder mit <strong>'.$username.'_</strong> beginnen.';
69
+if (in_array($username, $usernames)) {
70
+  $hint = 'Der MySQL-Benutzername muss mit <strong>'.$username.'_</strong> beginnen.';
71
+}
72
+
73
+
68 74
 $form = '<h4>Benutzername</h4>
69 75
 <input type="text" name="newuser" value="'.$suggestion.'" maxlength="16" />
70
-<p>Bitte nur Kleinbuchstaben, Zahlen und Unterstrich verwenden. Der Benutzername muss mit Ihrem System-Benutzernamen beginnen.</p>
76
+<p>Bitte nur Kleinbuchstaben, Zahlen und Unterstrich verwenden. '.$hint.'</p>
71 77
 <p>Aufgrund einer Einschränkung des MySQL-Servers dürfen Benutzernamen nur maximal 16 Zeichen lang sein.</p>
72 78
 <p><label for="description">Optionale Beschreibung dieses Benutzers:</label> <input type="text" name="description" id="description" /></p>
73 79
 <h4>Passwort</h4>
74 80