Message ID | 1511173625-2869-2-git-send-email-freifunk@adrianschmutzler.de |
---|---|
State | Changes Requested |
Delegated to: | Adrian Schmutzler |
Headers | show |
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..c977ad5 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,30 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then uci -q set "system.poe_passthrough.value=0" fi fi + + uci -q set fff.wifi=fff + 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 +116,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 +181,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>
Am Montag, den 20.11.2017, 11:27 +0100 schrieb Adrian Schmutzler: > 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@adrianschmutzler.de> > > > Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > --- > > Changes in v2: > - Added uci -q set fff.wifi=fff > --- > .../fff-web/files/www/ssl/cgi-bin/settings.html | 46 ++++++++++++++++++++++ > 1 file changed, 46 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..c977ad5 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,30 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then > > uci -q set "system.poe_passthrough.value=0" > > fi > > fi > + > > + uci -q set fff.wifi=fff > > + if [ -n "$radio2" ] ; then > > + if [ "$POST_enable24ghz" == "on" ] ; then > > + uci -q set "fff.wifi.disable24ghz=0" > + uci -q set "wireless.${radio2}.disabled=0" An solchen Stellen sollte die in 1/2 erwähnte Funktion verwendet werden. Man sieht hier deutlich, dass zum eigentlichen an/abschalten eben mehr gemacht werden muss. Tim > + 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 +116,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 +181,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 >