[PATCH v2] fff-web: Show hood in public and internal web interface
Adrian Schmutzler
freifunk at adrianschmutzler.de
So Okt 8 16:14:03 CEST 2017
Changes in v2:
- Added separate hood fieldset
- Added reset button
- Added display of mesh type
Tested by copy/paste of home.html
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
.../fff-web/files/www/public/cgi-bin/status.html | 2 ++
.../fff/fff-web/files/www/ssl/cgi-bin/header | 1 +
.../fff/fff-web/files/www/ssl/cgi-bin/home.html | 37 +++++++++++++++++++++-
3 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
index ae58260..f96846c 100755
--- a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
+++ b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
@@ -3,6 +3,7 @@
<%
echo -en "Content-Type: text/html\r\n\r\n"
HOSTNAME=$(uci -q get 'system. at system[0].hostname')
+hood="$(uci -q get "system. at system[0].hood")"
MAC="$(uci -q get network.mesh.macaddr)"
lat="$(uci -q get system. at system[0].latitude)"
@@ -59,6 +60,7 @@ contact="$(uci -q get system. at system[0].contact)"
<fieldset style="min-height: 15em;">
<legend>Status</legend>
<table>
+ <tr><th>Hood:</th><td><% echo "$hood" %></td></tr>
<tr><th>Nachbarknoten:</th><td><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2> /dev/null) %></td></tr>
<tr><th>Bekannte Knoten:</th><td><% echo -n $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2> /dev/null`+1)) %></td></tr>
<tr><th>Lokale Clients:</th><td><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W') %></td></tr>
diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
index 8df0ed0..c327013 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
@@ -13,6 +13,7 @@ nav_entry() {
}
HOSTNAME=$(uci -q get 'system. at system[0].hostname')
+hood="$(uci -q get "system. at system[0].hood")"
NOW=$(date +%s)
#Check if new Firmware check older then 1 day
diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
index b2529e1..1569c01 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
@@ -1,7 +1,18 @@
#!/usr/bin/haserl
+<%
+# prepare
+if [ "$REQUEST_METHOD" == "POST" ] ; then
+ if [ "$POST_resethood" != "" ] ; then
+ # reset hood
+ rm /www/public/keyxchangev2data 2> /dev/null
+ MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
+ fi
+fi
+%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
+<% show_msg %>
<%
if pidof fastd >/dev/null ; then
vpn_active="aktiv"
@@ -36,6 +47,18 @@ else
internet_active="Nein"
fi
+# read from keyxchangev2data
+. /usr/share/libubox/jshn.sh
+if [ -s /tmp/keyxchangev2data ] ; then
+ json_load "$(cat /tmp/keyxchangev2data)"
+ json_select hood
+ json_get_var mesh_type2 mesh_type2
+ json_get_var mesh_type5 mesh_type5
+else
+ mesh_type2="-"
+ mesh_type5="-"
+fi
+
%>
<table style="width: 100%;">
<tr><td>
@@ -55,7 +78,7 @@ fi
</table>
</fieldset>
</td><td>
-<fieldset style="min-height: 15.05em;">
+<fieldset style="min-height: 10em;">
<legend>Software</legend>
<table>
<tr><th>Firmware Version:</th><td><%= ${FIRMWARE_VERSION} %></td></tr>
@@ -65,6 +88,18 @@ fi
<tr><th>Fastd Version:</th><td><% fastd --version 2> /dev/null | cut -d' ' -f 2 %></td></tr>
</table>
</fieldset>
+<form method="post">
+<fieldset style="min-height: 5em;">
+ <legend>Hood</legend>
+ <table>
+ <tr><th style="width:200px">Hood:</th><td><% echo "$hood" %></td></tr>
+ <tr><th style="width:200px">Mesh-Type (2.4/5 GHz):</th><td><% echo "${mesh_type2} / ${mesh_type5}" %></td></tr>
+ <tr><td colspan="2"> </td></tr>
+ <tr><td colspan="2">Beim Klicken werden die Hood-Daten innerhalb von 5 Minuten neu abgerufen und angewandt:</td></tr>
+ <tr><td colspan="2"><input type="submit" name="resethood" value="Reset hood data" /></td></tr>
+ </table>
+</fieldset>
+</form>
</td></tr>
<tr><td>
<fieldset style="min-height: 12.65em;">
--
2.7.4
Mehr Informationen über die Mailingliste franken-dev