Bernd Wurst commited on 2022-02-17 19:41:57
Zeige 1 geänderte Dateien mit 10 Einfügungen und 2 Löschungen.
| ... | ... |
@@ -365,7 +365,7 @@ function make_webapp_vhost($id, $webapp) |
| 365 | 365 |
} |
| 366 | 366 |
|
| 367 | 367 |
|
| 368 |
-function check_hostname_collision($hostname, $domain) |
|
| 368 |
+function check_hostname_collision($hostname, $domain, $id=NULL) |
|
| 369 | 369 |
{
|
| 370 | 370 |
$uid = (int) $_SESSION['userinfo']['uid']; |
| 371 | 371 |
# Neuer vhost => Prüfe Duplikat |
| ... | ... |
@@ -387,7 +387,12 @@ function check_hostname_collision($hostname, $domain) |
| 387 | 387 |
$hostnamecheck = "hostname IS NULL"; |
| 388 | 388 |
unset($args[":hostname"]); |
| 389 | 389 |
} |
| 390 |
- $result = db_query("SELECT id FROM vhosts.vhost WHERE {$hostnamecheck} AND {$domaincheck} AND user=:uid", $args);
|
|
| 390 |
+ $idcheck = ''; |
|
| 391 |
+ if ($id) {
|
|
| 392 |
+ $idcheck = ' AND id != :id'; |
|
| 393 |
+ $args[':id'] = (int) $id; |
|
| 394 |
+ } |
|
| 395 |
+ $result = db_query("SELECT id FROM vhosts.vhost WHERE {$hostnamecheck} AND {$domaincheck} AND user=:uid ".$idcheck, $args);
|
|
| 391 | 396 |
if ($result->rowCount() > 0) {
|
| 392 | 397 |
system_failure('Eine Konfiguration mit diesem Namen gibt es bereits.');
|
| 393 | 398 |
} |
| ... | ... |
@@ -395,6 +400,7 @@ function check_hostname_collision($hostname, $domain) |
| 395 | 400 |
return ; |
| 396 | 401 |
} |
| 397 | 402 |
unset($args[":uid"]); |
| 403 |
+ unset($args[":id"]); |
|
| 398 | 404 |
$result = db_query("SELECT id, vhost FROM vhosts.v_alias WHERE {$hostnamecheck} AND {$domaincheck}", $args);
|
| 399 | 405 |
if ($result->rowCount() > 0) {
|
| 400 | 406 |
$data = $result->fetch(); |
| ... | ... |
@@ -419,6 +425,8 @@ function save_vhost($vhost) |
| 419 | 425 |
} |
| 420 | 426 |
if ($id == 0) {
|
| 421 | 427 |
check_hostname_collision($vhost['hostname'], $vhost['domain_id']); |
| 428 |
+ } else {
|
|
| 429 |
+ check_hostname_collision($vhost['hostname'], $vhost['domain_id'], $id); |
|
| 422 | 430 |
} |
| 423 | 431 |
$hsts = (int) $vhost['hsts']; |
| 424 | 432 |
if ($hsts < 0) {
|
| 425 | 433 |