From 837d183022759ac5f6786edc32f482685b1d78f3 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Wed, 22 Aug 2012 07:10:53 -0400
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 64313fc..48d992a 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/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
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index cf8c98c..6bfd62c 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/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') {

--
Gitblit v1.9.1