tbrehm
2012-08-22 3cde193a073f5674b51969cda2aa6c05324eae27
server/plugins-available/apache2_plugin.inc.php
@@ -1460,6 +1460,27 @@
      } else {
         $apache_chrooted = false;
      }
      //* Remove the mounts
      $log_folder = 'log';
        if($data['old']['type'] == 'vhostsubdomain') {
            $tmp = $app->db->queryOneRecord('SELECT `domain`,`document_root` FROM web_domain WHERE domain_id = '.intval($data['old']['parent_domain_id']));
            $subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $data['old']['domain']);
            if($subdomain_host == '') $subdomain_host = 'web'.$data['old']['domain_id'];
            $web_folder = $data['old']['web_folder'];
            $log_folder .= '/' . $subdomain_host;
         $parent_web_document_root = $tmp['document_root'];
         $app->system->web_folder_protection($parent_web_document_root,false);
            unset($tmp);
        } else {
         $app->system->web_folder_protection($data['old']['document_root'],false);
      }
      exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
      //* remove mountpoint from fstab
      $fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$log_folder.'    none    bind    0 0';
      $app->system->removeLine('/etc/fstab',$fstab_line);
      if($data['old']['type'] != 'vhost' && $data['old']['type'] != 'vhostsubdomain' && $data['old']['parent_domain_id'] > 0) {
         //* This is a alias domain or subdomain, so we have to update the website instead
@@ -1581,6 +1602,10 @@
                $this->awstats_delete($data,$web_config);
            }
         
         if($data['old']['type'] == 'vhostsubdomain') {
            $app->system->web_folder_protection($parent_web_document_root,true);
         }
         if($apache_chrooted) {
            $app->services->restartServiceDelayed('httpd','restart');
         } else {
@@ -1589,6 +1614,7 @@
         }
      }
        if($data['old']['type'] != 'vhost') $app->system->web_folder_protection($data['old']['document_root'],true);
   }
   //* This function is called when a IP on the server is inserted, updated or deleted