mcramer
2012-08-22 837d183022759ac5f6786edc32f482685b1d78f3
Fix: web content and some other data of vhost subdomain did not get deleted on subdomain deletion

2 files modified
17 ■■■■■ changed files
server/plugins-available/apache2_plugin.inc.php 10 ●●●●● patch | view | raw | blame | history
server/plugins-available/nginx_plugin.inc.php 7 ●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php
@@ -1463,6 +1463,7 @@
        
        //* Remove the mounts
        $log_folder = 'log';
        $web_folder = '';
        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']);
@@ -1516,9 +1517,12 @@
            $app->system->unlink($vhost_file);
            $app->log('Removing vhost file: '.$vhost_file,LOGLEVEL_DEBUG);
            
            if($data['old']['type'] == 'vhost') {
            if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') {
                $docroot = escapeshellcmd($data['old']['document_root']);
                if($docroot != '' && !stristr($docroot,'..')) exec('rm -rf '.$docroot);
                if($docroot != '' && !stristr($docroot,'..')) {
                    if($data['old']['type'] == 'vhost') exec('rm -rf '.$docroot);
                    elseif(!stristr($data['old']['web_folder'], '..')) exec('rm -rf '.$docroot.'/'.$web_folder;
                }
            
                //remove the php fastgi starter script if available
                if ($data['old']['php'] == 'fast-cgi') {
@@ -1579,8 +1583,6 @@
                    }
                }
                // end removing symlinks
            } else {
                // vhost subdomain
            }
            // Delete the log file directory
server/plugins-available/nginx_plugin.inc.php
@@ -1310,9 +1310,12 @@
            $app->system->unlink($vhost_file);
            $app->log('Removing vhost file: '.$vhost_file,LOGLEVEL_DEBUG);
            
            if($data['old']['type'] == 'vhost') {
            if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') {
                $docroot = escapeshellcmd($data['old']['document_root']);
                if($docroot != '' && !stristr($docroot,'..')) exec('rm -rf '.$docroot);
                if($docroot != '' && !stristr($docroot,'..')) {
                    if($data['old']['type'] == 'vhost') exec('rm -rf '.$docroot);
                    elseif(!stristr($data['old']['web_folder'], '..')) exec('rm -rf '.$docroot.'/'.$web_folder;
                }
            
                //remove the php fastgi starter script if available
                if ($data['old']['php'] == 'fast-cgi') {