From 837d183022759ac5f6786edc32f482685b1d78f3 Mon Sep 17 00:00:00 2001 From: mcramer Date: Wed, 22 Aug 2012 11:10:53 +0000 Subject: [PATCH] Fix: web content and some other data of vhost subdomain did not get deleted on subdomain deletion --- server/plugins-available/apache2_plugin.inc.php | 10 ++++++---- server/plugins-available/nginx_plugin.inc.php | 7 +++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 64313fc1e..48d992a19 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -1463,6 +1463,7 @@ class apache2_plugin { //* 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 @@ class apache2_plugin { $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 @@ class apache2_plugin { } } // end removing symlinks - } else { - // vhost subdomain } // Delete the log file directory diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index cf8c98c5e..6bfd62c3b 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -1310,9 +1310,12 @@ class nginx_plugin { $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') { -- GitLab