From 3cdb9a8fdc13ceb9de7a32b6fd989b76bafb45af Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 08 Jun 2011 04:58:27 -0400
Subject: [PATCH] Fixed: FS#1642 - Adding new content filters breaks header_checks, body_checks etc.

---
 server/mods-available/remoteaction_core_module.inc.php |   50 +++++++++++++++++++++++++++++---------------------
 1 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/server/mods-available/remoteaction_core_module.inc.php b/server/mods-available/remoteaction_core_module.inc.php
index 7d9bf51..b112e8c 100644
--- a/server/mods-available/remoteaction_core_module.inc.php
+++ b/server/mods-available/remoteaction_core_module.inc.php
@@ -27,7 +27,7 @@
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-class remoteaction_core_module extends modules_base {
+class remoteaction_core_module {
 	var $module_name = 'remoteaction_core_module';
 	var $class_name = 'remoteaction_core_module';
 	/* No actions at this time. maybe later... */
@@ -110,20 +110,22 @@
 		/*
 		 * process all actions
 		*/
-		foreach ($actions as $action) {
-			if ($action['action_type'] == 'os_update') {
-				/* do the update */
-				$this->_doOsUpdate($action);
-				/* this action takes so much time,
-				  * we stop executing the actions not to waste more time */
-				return;
-			}
-			if ($action['action_type'] == 'ispc_update') {
-				/* do the update */
-				$this->_doIspCUpdate($action);
-				/* this action takes so much time,
-				  * we stop executing the actions not to waste more time */
-				return;
+		if(is_array($actions)) {
+			foreach ($actions as $action) {
+				if ($action['action_type'] == 'os_update') {
+					/* do the update */
+					$this->_doOsUpdate($action);
+					/* this action takes so much time,
+					* we stop executing the actions not to waste more time */
+					return;
+				}
+				if ($action['action_type'] == 'ispc_update') {
+					/* do the update */
+					$this->_doIspCUpdate($action);
+					/* this action takes so much time,
+					* we stop executing the actions not to waste more time */
+					return;
+				}
 			}
 		}
 	}
@@ -132,13 +134,16 @@
 		/*
 		 * Do the update
 		 */
+		exec("aptitude update");
+		exec("aptitude safe-upgrade -y");
+
 		//TODO : change this when distribution information has been integrated into server record
 		if(file_exists('/etc/gentoo-release')) {
 			exec("glsa-check -f --nocolor affected");
 		}
 		else {
 			exec("aptitude update");
-			exec("aptitude upgrade -y");
+			exec("aptitude safe-upgrade -y");
 		}
 		
 		/*
@@ -148,6 +153,10 @@
 	}
 
 	private function _doIspCUpdate($action) {
+		
+		// Ensure that this code is not executed twice as this would cause a loop in case of a failure
+		$this->_actionDone($action['action_id'], 'ok');
+		
 		/*
 		 * Get the version-number of the newest version 
 		 */
@@ -173,17 +182,16 @@
 		exec("tar xvfz ISPConfig-" . $new_version . ".tar.gz");
 
 		/*
-		 * Start the automated update
+		 * Initialize the automated update
+		 * (the update is then done next start of server.sh
 		 */
 		chdir("/tmp/ispconfig3_install/install");
 		exec("touch autoupdate");
-		exec("php -q autoupdate.php");
-
+		
 		/*
 		 * do some clean-up
 		 */
 		exec("rm /tmp/ISPConfig-" . $new_version . ".tar.gz");
-		exec("rm /tmp/ispconfig3_install -R");
 
 		/*
 		 * go back to the "old path"
@@ -193,7 +201,7 @@
 		/*
 		 * All well done!
 		 */
-		$this->_actionDone($action['action_id'], 'ok');
+		//$this->_actionDone($action['action_id'], 'ok');
 	}
 }
 ?>
\ No newline at end of file

--
Gitblit v1.9.1