Bernd Wurst commited on 2013-03-19 06:18:44
Zeige 1 geänderte Dateien mit 24 Einfügungen und 5 Löschungen.
| ... | ... |
@@ -252,6 +252,29 @@ function make_webapp_vhost($id, $webapp) |
| 252 | 252 |
} |
| 253 | 253 |
|
| 254 | 254 |
|
| 255 |
+function check_hostname_collision($hostname, $domain) |
|
| 256 |
+{
|
|
| 257 |
+ # Neuer vhost => Prüfe Duplikat |
|
| 258 |
+ $hostnamecheck = "hostname='".mysql_real_escape_string($hostname)."'"; |
|
| 259 |
+ if (! $hostname) {
|
|
| 260 |
+ $hostnamecheck = "hostname IS NULL"; |
|
| 261 |
+ } |
|
| 262 |
+ $domaincheck = "domain=". (int) $domain ; |
|
| 263 |
+ if ($domain == -1) {
|
|
| 264 |
+ $domaincheck = "domain IS NULL"; |
|
| 265 |
+ } |
|
| 266 |
+ $result = db_query("SELECT id FROM vhosts.vhost WHERE {$hostnamecheck} AND {$domaincheck}");
|
|
| 267 |
+ if (mysql_num_rows($result) > 0) {
|
|
| 268 |
+ system_failure('Eine Konfiguration mit diesem Namen gibt es bereits.');
|
|
| 269 |
+ } |
|
| 270 |
+ $result = db_query("SELECT id, vhost FROM vhosts.alias WHERE {$hostnamecheck} AND {$domaincheck}");
|
|
| 271 |
+ if (mysql_num_rows($result) > 0) {
|
|
| 272 |
+ $data = mysql_fetch_assoc($result); |
|
| 273 |
+ $vh = get_vhost_details($data['vhost']); |
|
| 274 |
+ system_failure('Dieser Hostname ist bereits als Alias für »'.$vh['fqdn'].'« eingerichtet');
|
|
| 275 |
+ } |
|
| 276 |
+} |
|
| 277 |
+ |
|
| 255 | 278 |
function save_vhost($vhost) |
| 256 | 279 |
{
|
| 257 | 280 |
if (! is_array($vhost)) |
| ... | ... |
@@ -264,11 +287,7 @@ function save_vhost($vhost) |
| 264 | 287 |
if ($vhost['domain_id'] == -1) |
| 265 | 288 |
$domain = 'NULL'; |
| 266 | 289 |
if ($id == 0) {
|
| 267 |
- # Neuer vhost |
|
| 268 |
- $result = db_query("SELECT id FROM vhosts.v_vhost WHERE hostname={$hostname} AND domain_id={$domain}");
|
|
| 269 |
- if (mysql_num_rows($result) > 0) {
|
|
| 270 |
- system_failure('Eine Konfiguration mit diesem Namen gibt es bereits.');
|
|
| 271 |
- } |
|
| 290 |
+ check_hostname_collision($vhost['hostname'], $vhost['domain_id']); |
|
| 272 | 291 |
} |
| 273 | 292 |
$docroot = maybe_null($vhost['docroot']); |
| 274 | 293 |
$php = maybe_null($vhost['php']); |
| 275 | 294 |