From b889edb33e4a09cc1f65d2fb9ad9f9ea16b1eae9 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 04 Sep 2012 11:42:42 -0400
Subject: [PATCH] - Ported changes from Apache plugin to nginx plugin. - Fixed errors in system.inc.php-

---
 server/plugins-available/apache2_plugin.inc.php |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 7aaee6f..c3e9cf3 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -1463,15 +1463,16 @@
 		
 		//* Remove the mounts
 		$log_folder = 'log';
+        $web_folder = '';
         if($data['old']['type'] == 'vhostsubdomain') {
-            $tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($data['old']['parent_domain_id']));
+            $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;
             unset($tmp);
-        }
-		
+		}
+        
 		exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
 		
 		//* remove mountpoint from fstab
@@ -1512,9 +1513,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') {
@@ -1575,8 +1579,6 @@
                     }
                 }
                 // end removing symlinks
-            } else {
-                // vhost subdomain
             }
 
             // Delete the log file directory
@@ -1598,6 +1600,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 {

--
Gitblit v1.9.1