[PATCH 2/2] fff-web: Disable WiFi devices via Web UI
Adrian Schmutzler
freifunk at adrianschmutzler.de
So Nov 19 18:52:44 CET 2017
This uses the new fff-config option to provide users the
possibility of enabling/disabling WiFi devices via the Web UI.
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
.../fff-web/files/www/ssl/cgi-bin/settings.html | 45 ++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
index 7d8e65f..ef365a8 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
@@ -1,7 +1,11 @@
#!/usr/bin/haserl
<%
+. /lib/functions/fff/wireless
+
# write
+radio2="$(wifiGetPhy "2")"
+radio5="$(wifiGetPhy "5")"
if [ "$REQUEST_METHOD" == "POST" ] ; then
#check for valid hostname as specified in rfc 1123
#see http://stackoverflow.com/a/3824105
@@ -63,8 +67,29 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
uci -q set "system.poe_passthrough.value=0"
fi
fi
+
+ if [ -n "$radio2" ] ; then
+ if [ "$POST_enable24ghz" == "on" ] ; then
+ uci -q set "fff.wifi.disable24ghz=0"
+ uci -q set "wireless.${radio2}.disabled=0"
+ else
+ uci -q set "fff.wifi.disable24ghz=1"
+ uci -q set "wireless.${radio2}.disabled=1"
+ fi
+ fi
+ if [ -n "$radio5" ] ; then
+ if [ "$POST_enable5ghz" == "on" ] ; then
+ uci -q set "fff.wifi.disable5ghz=0"
+ uci -q set "wireless.${radio5}.disabled=0"
+ else
+ uci -q set "fff.wifi.disable5ghz=1"
+ uci -q set "wireless.${radio5}.disabled=1"
+ fi
+ fi
uci -q commit
+
+ wifi > /dev/null
MSG='<span class="green">Daten gespeichert! - Bitte Router neustarten.</span>'
fi
@@ -90,6 +115,16 @@ if [ "$(uci -q get 'fff.notifyupdate.resetonupgrade')" == "0" ] ; then # not set
else
upgrade_reset_checked="$chkd"
fi
+if [ "$(uci -q get 'fff.wifi.disable24ghz')" = "1" ] ; then # not set=0
+ enable24ghz_checked=""
+else
+ enable24ghz_checked="$chkd"
+fi
+if [ "$(uci -q get 'fff.wifi.disable5ghz')" = "1" ] ; then # not set=0
+ enable5ghz_checked=""
+else
+ enable5ghz_checked="$chkd"
+fi
%>
<% show_msg %>
<form method="post">
@@ -145,6 +180,16 @@ fi
<input type="checkbox" name="poe_passthrough" <%= ${poe_pt_checked} %>/>
</td></tr>
<% fi %>
+ <% if [ -n "$radio2" ] ; then %>
+ <tr><th>Enable 2.4 GHz WiFi device:</th><td colspan="2">
+ <input type="checkbox" name="enable24ghz" <%= ${enable24ghz_checked} %>/>
+ </td></tr>
+ <% fi %>
+ <% if [ -n "$radio5" ] ; then %>
+ <tr><th>Enable 5 GHz WiFi device:</th><td colspan="2">
+ <input type="checkbox" name="enable5ghz" <%= ${enable5ghz_checked} %>/>
+ </td></tr>
+ <% fi %>
</table>
</fieldset>
--
2.7.4
Mehr Informationen über die Mailingliste franken-dev