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 |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/server/mods-available/remoteaction_core_module.inc.php b/server/mods-available/remoteaction_core_module.inc.php
index f24fadd..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,13 +169,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");
 		}
 		
 		/*

--
Gitblit v1.9.1