From c5d17d3fd1bbdca95dd9230a2ab54f5aef04aef8 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 22 Jul 2011 09:48:47 -0400
Subject: [PATCH] Bugfixes in server list in vm server forms.

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

diff --git a/server/mods-available/remoteaction_core_module.inc.php b/server/mods-available/remoteaction_core_module.inc.php
index ebdd404..678b4be 100644
--- a/server/mods-available/remoteaction_core_module.inc.php
+++ b/server/mods-available/remoteaction_core_module.inc.php
@@ -126,6 +126,41 @@
 					* 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");
+					}
+				}
+				if ($action['action_type'] == 'openvz_stop_vm') {
+					$veid = intval($action['action_param']);
+					if($veid > 0) {
+						exec("vzctl stop $veid");
+					}
+				}
+				if ($action['action_type'] == 'openvz_restart_vm') {
+					$veid = intval($action['action_param']);
+					if($veid > 0) {
+						exec("vzctl restart $veid");
+					}
+				}
+				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 action takes so much time,
+					* we stop executing the actions not to waste more time */
+					return;
+				}
+				
+				
 			}
 		}
 	}
@@ -134,19 +169,19 @@
 		/*
 		 * Do the update
 		 */
-		exec("aptitude update");
-		exec("aptitude 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 safe-upgrade -y");
-		}
-		
-		/*
+		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 safe-upgrade -y");
+		}
+		
+		/*
 		 * All well done!
 		 */
 		$this->_actionDone($action['action_id'], 'ok');

--
Gitblit v1.9.1