[PATCH v11 5/6] fff-config: Add downgrade interface to upgrade.html

Adrian Schmutzler freifunk at adrianschmutzler.de
Mi Okt 18 23:30:57 CEST 2017


This includes some XHTML conformity fixes

Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 .../fff/fff-web/files/www/ssl/cgi-bin/upgrade.html | 35 ++++++++++++++++++----
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
index a0dc5b3..7314047 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
@@ -18,6 +18,9 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
 		elif ! error=$(sysupgrade -T "$HASERL_firmware_path") ; then
 			MSG="<span class=\"red\">Firmware Datei ungültig: <tt>${error}</tt></span>"
 		else
+			if [ "$POST_pre_downgrade" == "on" ] ; then
+				/usr/sbin/prepare_firmware_downgrade.sh
+			fi
 			if [ "$POST_keep_config" == "on" ] ; then
 				args=""
 			else
@@ -26,23 +29,43 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
 			do_sysupgrade=1
 			MSG='<span class="green">Firmware Upgrade wird gestartet...</span>'
 		fi
+	elif [ "$POST_downgrade" != "" ] ; then
+		# downgrade preparation script
+		/usr/sbin/prepare_firmware_downgrade.sh
+		MSG='<span class="green">Firmware-Downgrade-Vorbereitung durchgeführt.</span>'
 	fi
 fi
+if grep -q '/etc/config/system' /etc/sysupgrade.conf 2> /dev/null ; then
+	downgrade_text='<p>> <span style="color:green">Downgrade wurde bereits vorbereitet.</span></p>'
+else
+	downgrade_text='<p>> <span style="color:red">Downgrade muss durch Klicken auf "Skript ausführen" vorbereitet werden.</span></p>'
+fi
+
 %>
 <%in /www/ssl/cgi-bin/header %>
 <%in /www/ssl/cgi-bin/helpers %>
 <% show_msg %>
-<form method="POST" enctype="multipart/form-data">
+<form method="post" enctype="multipart/form-data">
 <table style="width: 100%;">
 <tr><td>
 <fieldset style="min-height: 9em;">
 	<legend>Manuelles Upgrade</legend>
 	<table>
-		<tr><th style="width: 1em;">Firmware Image:</th><td><input type="file" name="firmware" /></td></tr>
-		<tr><th>Konfiguration erhalten:</th><td><input type="checkbox" name="keep_config" checked /></td></tr>
-		<tr><td colspan="2"><input type="submit" name="upgrade" value="Upgrade" /></td></tr>
+		<tr><td colspan="2" style="font-style:italic">Hier kann ein Freifunk- oder OpenWrt-Image verwendet werden (*-sysupgrade.bin).</td></tr>
+		<tr><td colspan="2"></td></tr>
+		<tr><th style="width: 18em;">Firmware Image:</th><td><input type="file" name="firmware" style="width:40em" /></td></tr>
+		<tr><th>Konfiguration erhalten:</th><td><input type="checkbox" name="keep_config" checked="checked" /></td></tr>
+		<tr><th>Downgrade-Skript ausführen:</th><td><input type="checkbox" name="pre_downgrade" /></td></tr>
 		<tr><td colspan="2"></td></tr>
-		<tr><td colspan="2">Hier kann ein Freifunk- oder OpenWrt-Image verwendet werden (*-sysupgrade.bin).</td></tr>
+		<tr><td colspan="2"><input type="submit" name="upgrade" value="Upgrade" /></td></tr>
+	</table>
+</fieldset>
+<fieldset style="min-height: 7em;">
+	<legend>Firmware-Downgrade vorbereiten</legend>
+	<table>
+		<tr><td colspan="2" style="font-style:italic">Bei einem Downgrade auf ältere Firmware-Versionen bis inklusive 20170218-alpha muss zuvor die Konfiguration angepasst werden.</td></tr>
+		<tr><td colspan="2"><%= "$downgrade_text" %></td></tr>
+		<tr><td colspan="2"><input type="submit" name="downgrade" value="Skript ausführen" /></td></tr>
 	</table>
 </fieldset>
 </td><td>
@@ -50,7 +73,7 @@ fi
 	<legend>Router zurücksetzen</legend>
 	<table>
 		<tr><th style="width: 1em;">Wirklich zurücksetzen:</th><td>
-			<input type="checkbox" name="really_reset">
+			<input type="checkbox" name="really_reset" />
 		</td></tr>
 		<tr><td colspan="2"><input type="submit" name="reset" value="Zurücksetzen" /></td></tr>
 		<tr><td colspan="2"></td></tr>
-- 
2.7.4



Mehr Informationen über die Mailingliste franken-dev