From c6e05a8eebc58624c675d4b10d33e94e6b6fa83b Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 12 Sep 2011 10:16:19 -0400
Subject: [PATCH] Implemented: FS#1385 - Define all Email aliases in dovecot autoresponder

---
 server/mods-available/remoteaction_core_module.inc.php |   48 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/server/mods-available/remoteaction_core_module.inc.php b/server/mods-available/remoteaction_core_module.inc.php
index f24fadd..1f6ab09 100644
--- a/server/mods-available/remoteaction_core_module.inc.php
+++ b/server/mods-available/remoteaction_core_module.inc.php
@@ -95,7 +95,7 @@
 		 * stop a service, a admin stopped some days before! To avoid this, we ignore
 		 * the status (it is only for the interface to show) and use our own maxid
 		*/
-		include_once (dirname(__FILE__) .  "/../lib/remote_action.inc.php");
+		include_once (SCRIPT_PATH."/lib/remote_action.inc.php");
 
 		/*
 		 * Get all actions this server should execute
@@ -126,6 +126,45 @@
 					* we stop executing the actions not to waste more time */
 					return;
 				}
+				if ($action['action_type'] == 'openvz_start_vm') {
+					$veid = intval($action['action_param']);
+					if($veid > 0) {
+						exec("vzctl start $veid");
+					}
+					$this->_actionDone($action['action_id'], 'ok');
+				}
+				if ($action['action_type'] == 'openvz_stop_vm') {
+					$veid = intval($action['action_param']);
+					if($veid > 0) {
+						exec("vzctl stop $veid");
+					}
+					$this->_actionDone($action['action_id'], 'ok');
+				}
+				if ($action['action_type'] == 'openvz_restart_vm') {
+					$veid = intval($action['action_param']);
+					if($veid > 0) {
+						exec("vzctl restart $veid");
+					}
+					$this->_actionDone($action['action_id'], 'ok');
+				}
+				if ($action['action_type'] == 'openvz_create_ostpl') {
+					$parts = explode(':',$action['action_param']);
+					$veid = intval($parts[0]);
+					$template_cache_dir = '/vz/template/cache/';
+					$template_name = escapeshellcmd($parts[1]);
+					if($veid > 0 && $template_name != '' && is_dir($template_cache_dir)) {
+						$command = "vzdump --suspend --compress --stdexcludes --dumpdir $template_cache_dir $veid";
+						exec($command);
+						exec("mv ".$template_cache_dir."vzdump-openvz-".$veid."*.tgz ".$template_cache_dir.$template_name.".tar.gz");
+						exec("rm -f ".$template_cache_dir."vzdump-openvz-".$veid."*.log");
+					}
+					$this->_actionDone($action['action_id'], 'ok');
+					/* this action takes so much time,
+					* we stop executing the actions not to waste more time */
+					return;
+				}
+				
+				
 			}
 		}
 	}
@@ -134,13 +173,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");
 		}
 		
 		/*
@@ -201,4 +243,4 @@
 		//$this->_actionDone($action['action_id'], 'ok');
 	}
 }
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1