From 43686d3f79154be31eb85c2e748fe0f96695e05c Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Fri, 08 Feb 2013 10:36:43 -0500
Subject: [PATCH] - Fixed error messages of server cron when moving websites with vhost subdomains between clients

---
 server/plugins-available/apache2_plugin.inc.php |   66 +++++++++++++++++----------------
 1 files changed, 34 insertions(+), 32 deletions(-)

diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 3181952..63dbdbc 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -430,43 +430,45 @@
 			
 			//* Remove protection of old folders
 			$app->system->web_folder_protection($data['old']['document_root'],false);
+            
+            if($data["new"]["type"] != "vhostsubdomain") {
+                //* Move the site data
+                $tmp_docroot = explode('/',$data['new']['document_root']);
+                unset($tmp_docroot[count($tmp_docroot)-1]);
+                $new_dir = implode('/',$tmp_docroot);
 
-			//* Move the site data
-			$tmp_docroot = explode('/',$data['new']['document_root']);
-			unset($tmp_docroot[count($tmp_docroot)-1]);
-			$new_dir = implode('/',$tmp_docroot);
+                $tmp_docroot = explode('/',$data['old']['document_root']);
+                unset($tmp_docroot[count($tmp_docroot)-1]);
+                $old_dir = implode('/',$tmp_docroot);
 
-			$tmp_docroot = explode('/',$data['old']['document_root']);
-			unset($tmp_docroot[count($tmp_docroot)-1]);
-			$old_dir = implode('/',$tmp_docroot);
+                //* Check if there is already some data in the new docroot and rename it as we need a clean path to move the existing site to the new path
+                if(@is_dir($data['new']['document_root'])) {
+                    $app->system->web_folder_protection($data['new']['document_root'],false);
+                    $app->system->rename($data['new']['document_root'],$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
+                    $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'),LOGLEVEL_DEBUG);
+                }
+                
+                //* Create new base directory, if it does not exist yet
+                if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
+                $app->system->web_folder_protection($data['old']['document_root'],false);
+                exec('mv '.escapeshellarg($data['old']['document_root']).' '.escapeshellarg($new_dir));
+                //$app->system->rename($data['old']['document_root'],$new_dir);
+                $app->log('Moving site to new document root: mv '.$data['old']['document_root'].' '.$new_dir,LOGLEVEL_DEBUG);
 
-			//* Check if there is already some data in the new docroot and rename it as we need a clean path to move the existing site to the new path
-			if(@is_dir($data['new']['document_root'])) {
-				$app->system->web_folder_protection($data['new']['document_root'],false);
-				$app->system->rename($data['new']['document_root'],$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
-				$app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'),LOGLEVEL_DEBUG);
-			}
-			
-			//* Create new base directory, if it does not exist yet
-			if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
-			$app->system->web_folder_protection($data['old']['document_root'],false);
-			exec('mv '.escapeshellarg($data['old']['document_root']).' '.escapeshellarg($new_dir));
-			//$app->system->rename($data['old']['document_root'],$new_dir);
-			$app->log('Moving site to new document root: mv '.$data['old']['document_root'].' '.$new_dir,LOGLEVEL_DEBUG);
+                // Handle the change in php_open_basedir
+                $data['new']['php_open_basedir'] = str_replace($data['old']['document_root'],$data['new']['document_root'],$data['old']['php_open_basedir']);
 
-			// Handle the change in php_open_basedir
-			$data['new']['php_open_basedir'] = str_replace($data['old']['document_root'],$data['new']['document_root'],$data['old']['php_open_basedir']);
+                //* Change the owner of the website files to the new website owner
+                exec('chown --recursive --from='.escapeshellcmd($data['old']['system_user']).':'.escapeshellcmd($data['old']['system_group']).' '.escapeshellcmd($data['new']['system_user']).':'.escapeshellcmd($data['new']['system_group']).' '.$new_dir);
 
-			//* Change the owner of the website files to the new website owner
-			exec('chown --recursive --from='.escapeshellcmd($data['old']['system_user']).':'.escapeshellcmd($data['old']['system_group']).' '.escapeshellcmd($data['new']['system_user']).':'.escapeshellcmd($data['new']['system_group']).' '.$new_dir);
-
-			//* Change the home directory and group of the website user
-			$command = 'usermod';
-			$command .= ' --home '.escapeshellcmd($data['new']['document_root']);
-			$command .= ' --gid '.escapeshellcmd($data['new']['system_group']);
-			$command .= ' '.escapeshellcmd($data['new']['system_user']);
-			exec($command);
-
+                //* Change the home directory and group of the website user
+                $command = 'usermod';
+                $command .= ' --home '.escapeshellcmd($data['new']['document_root']);
+                $command .= ' --gid '.escapeshellcmd($data['new']['system_group']);
+                $command .= ' '.escapeshellcmd($data['new']['system_user']);
+                exec($command);
+            }
+            
 			if($apache_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
 			
 			//* Change the log mount

--
Gitblit v1.9.1