From 299f8ebfb16a2b40f4142d1b1ba175ed3160d834 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 31 Jan 2016 12:34:25 +0100
Subject: [PATCH] Added support for git-stable branch (currently stable-3.1
 branch) in ISPConfig update script for easier development and testing.

---
 server/scripts/ispconfig_update.php      |  5 +++-
 server/scripts/update_from_dev_stable.sh | 29 ++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 server/scripts/update_from_dev_stable.sh

diff --git a/server/scripts/ispconfig_update.php b/server/scripts/ispconfig_update.php
index 2a5deedbcd..42196cdb50 100644
--- a/server/scripts/ispconfig_update.php
+++ b/server/scripts/ispconfig_update.php
@@ -88,7 +88,7 @@ echo "\n".str_repeat('-', 80)."\n";
 echo "\n\n>> Update  \n\n";
 echo "Please choose the update method. For production systems select 'stable'. \nWARNING: The update from GIT is only for development systems and may break your current setup. Do not use the GIT version on servers that host any live websites!\nNote: Update all slave server, before you update master server.\n\n";
 
-$method = simple_query('Select update method', array('stable', 'git'), 'stable');
+$method = simple_query('Select update method', array('stable', 'git-stable', 'git-master'), 'stable');
 
 if($method == 'stable') {
 	$new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');
@@ -99,6 +99,9 @@ if($method == 'stable') {
 	} else {
 		echo "There are no updates available for ISPConfig ".ISPC_APP_VERSION."\n";
 	}
+} elseif ($method == 'git-stable') {
+	passthru('/usr/local/ispconfig/server/scripts/update_from_dev_stable.sh');
+	exit;
 } else {
 	passthru('/usr/local/ispconfig/server/scripts/update_from_dev.sh');
 	exit;
diff --git a/server/scripts/update_from_dev_stable.sh b/server/scripts/update_from_dev_stable.sh
new file mode 100644
index 0000000000..1988189eb7
--- /dev/null
+++ b/server/scripts/update_from_dev_stable.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+{
+    umask 0077 \
+    && tmpdir=`mktemp -dt "$(basename $0).XXXXXXXXXX"` \
+    && test -d "${tmpdir}" \
+    && cd "${tmpdir}"
+} || {
+    echo 'mktemp failed'
+    exit 1
+}
+
+wget -O ispconfig3-dev.tar.gz "http://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1"
+tar xzf ispconfig3-dev.tar.gz
+
+echo -n "Latest git version:  "
+ls -1d ispconfig3-master*
+cd ispconfig3-master*/install
+
+php -q \
+    -d disable_classes= \
+    -d disable_functions= \
+    -d open_basedir= \
+    update.php
+
+cd /tmp
+rm -rf "${tmpdir}"
+
+exit 0
-- 
GitLab