From c11c4f7d575a3d73ac35c778563752ca12b89c62 Mon Sep 17 00:00:00 2001
From: vogelor <vogelor@ispconfig3>
Date: Mon, 17 May 2010 17:15:57 +0000
Subject: [PATCH] some improvements of the remote action "update ISPConfig"

---
 interface/web/admin/lib/lang/de.lng                       | 1 +
 interface/web/admin/lib/lang/en.lng                       | 1 +
 interface/web/admin/lib/module.conf.php                   | 4 ++++
 .../web/admin/templates/remote_action_ispcupdate.htm      | 4 ++--
 server/mods-available/remoteaction_core_module.inc.php    | 8 ++++++--
 5 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/interface/web/admin/lib/lang/de.lng b/interface/web/admin/lib/lang/de.lng
index e339bc6d55..c73fb4c426 100644
--- a/interface/web/admin/lib/lang/de.lng
+++ b/interface/web/admin/lib/lang/de.lng
@@ -39,4 +39,5 @@ $wb['Merge'] = 'Merge';
 $wb['Remote Users'] = 'Remote Benutzer';
 $wb['Remote Actions'] = 'Remote Aktionen';
 $wb['Do OS-Update'] = 'Betriebssystem Update ausführen';
+$wb['Do ISPConfig-Update'] = 'ISPConfig auf den neuesten Stand bringen';
 ?>
diff --git a/interface/web/admin/lib/lang/en.lng b/interface/web/admin/lib/lang/en.lng
index 6090602a0a..0faa1c8f84 100644
--- a/interface/web/admin/lib/lang/en.lng
+++ b/interface/web/admin/lib/lang/en.lng
@@ -41,4 +41,5 @@ $wb['Merge'] = 'Merge';
 $wb['Remote Users'] = 'Remote Users';
 $wb['Remote Actions'] = 'Remote Actions';
 $wb['Do OS-Update'] = 'Do OS-Update';
+$wb['Do ISPConfig-Update'] = 'Do ISPConfig-Update';
 ?>
\ No newline at end of file
diff --git a/interface/web/admin/lib/module.conf.php b/interface/web/admin/lib/module.conf.php
index a9802e7158..e238dfd786 100644
--- a/interface/web/admin/lib/module.conf.php
+++ b/interface/web/admin/lib/module.conf.php
@@ -159,6 +159,10 @@ $items[] = array( 'title' 	=> 'Do OS-Update',
 				  'target' 	=> 'content',
 				  'link'	=> 'admin/remote_action_osupdate.php');
 
+$items[] = array( 'title' 	=> 'Do ISPConfig-Update',
+				  'target' 	=> 'content',
+				  'link'	=> 'admin/remote_action_ispcupdate.php');
+
 $module['nav'][] = array(	'title'	=> 'Remote Actions',
 							'open' 	=> 1,
 							'items'	=> $items);
diff --git a/interface/web/admin/templates/remote_action_ispcupdate.htm b/interface/web/admin/templates/remote_action_ispcupdate.htm
index 4e32cac096..8726622240 100644
--- a/interface/web/admin/templates/remote_action_ispcupdate.htm
+++ b/interface/web/admin/templates/remote_action_ispcupdate.htm
@@ -4,7 +4,7 @@
 <div class="panel panel_language_add">
   
   <div class="pnl_formsarea">
-    <fieldset class="inlineLabels"><legend>{tmpl_var name='do_osupdate_caption'}</legend>
+    <fieldset class="inlineLabels"><legend>{tmpl_var name='do_ispcupdate_caption'}</legend>
       <div class="ctrlHolder">
       	<label for="server_select">{tmpl_var name='select_server_txt'}</label>
         <select name="server_select" id="server" class="selectInput" onchange="document.getElementById('OKMsg').style.visibility = 'hidden'; ">
@@ -18,7 +18,7 @@
   </tmpl_if>
 
 	  <div class="buttonHolder buttons">
-      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_do_txt'}" onClick="submitForm('pageForm','admin/remote_action_osupdate.php');"><span>{tmpl_var name='btn_do_txt'}</span></button>
+      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_do_txt'}" onClick="submitForm('pageForm','admin/remote_action_ispcupdate.php');"><span>{tmpl_var name='btn_do_txt'}</span></button>
     </div>
   </div>
   
diff --git a/server/mods-available/remoteaction_core_module.inc.php b/server/mods-available/remoteaction_core_module.inc.php
index 81aa277349..1c4e54e99d 100644
--- a/server/mods-available/remoteaction_core_module.inc.php
+++ b/server/mods-available/remoteaction_core_module.inc.php
@@ -147,11 +147,15 @@ class remoteaction_core_module {
 		/*
 		 * Do the update
 		 */
-		exec("cd /tmp");
+		$oldDir = getcwd();
+		chdir("/tmp");
+
+		exec("rm /tmp/ISPConfig-" . $new_version . ".tar.gz");
+		exec("rm /tmp/ispconfig3_install -R");
 		exec("wget http://www.ispconfig.org/downloads/ISPConfig-" . $new_version . ".tar.gz");
 		exec("tar xvfz ISPConfig-" . $new_version . ".tar.gz");
-		exec("cd ispconfig3_install/install");
 
+		chdir("/tmp/ispconfig3_install/install");
 		exec("touch autoupdate");
 		exec("php -q autoupdate.php");
 
-- 
GitLab