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 |