diff options
author | Steven Barth <steven@midlink.org> | 2008-06-02 20:16:05 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-06-02 20:16:05 +0000 |
commit | 561b0cfaa3fb8163d9ec74a3f96fd5b22ad54f33 (patch) | |
tree | 8b4b1765c70bae824bbad3006021cf7a4a775a34 /modules/freifunk | |
parent | 953510ccac9b9c6b3c1d8634897c0dddc92913e4 (diff) |
* Moved Freifunk status pages to admin-core and linked them in Freifunk
* luci/web: Added assign() to dispatcher to reference foreign nodes in the dispatching tree
Diffstat (limited to 'modules/freifunk')
10 files changed, 4 insertions, 381 deletions
diff --git a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua index 89813b3d8..39ae5fe9a 100644 --- a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua +++ b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua @@ -27,16 +27,11 @@ function index() page.order = 20 page.setuser = false page.setgroup = false - - local page = node("freifunk", "status", "routes") - page.target = template("public_status/routes") - page.title = "Routingtabelle" - page.order = 10 - local page = node("freifunk", "status", "iwscan") - page.target = template("public_status/iwscan") - page.title = "WLAN-Scan" - page.order = 20 + assign({"freifunk", "status", "routes"}, node("admin", "status", "routes"), "Routingtabelle", 10) + assign({"freifunk", "status", "iwscan"}, node("admin", "status", "iwscan"), "WLAN-Scan", 20) + + assign({"freifunk", "olsr"}, node("admin", "status", "olsr"), "OLSR", 30) local page = node("admin", "index", "freifunk") page.target = cbi("freifunk/freifunk") diff --git a/modules/freifunk/luasrc/controller/freifunk/olsr.lua b/modules/freifunk/luasrc/controller/freifunk/olsr.lua deleted file mode 100644 index ac143277d..000000000 --- a/modules/freifunk/luasrc/controller/freifunk/olsr.lua +++ /dev/null @@ -1,164 +0,0 @@ -module("luci.controller.freifunk.olsr", package.seeall) -require("luci.sys") - -function index() - local page = node("freifunk", "olsr") - page.target = call("action_index") - page.title = "OLSR" - page.order = 30 - - local page = node("freifunk", "olsr", "routes") - page.target = call("action_routes") - page.title = "Routen" - page.order = 10 - - local page = node("freifunk", "olsr", "topology") - page.target = call("action_topology") - page.title = "Topologie" - page.order = 20 - - local page = node("freifunk", "olsr", "hna") - page.target = call("action_hna") - page.title = "HNA" - page.order = 30 - - local page = node("freifunk", "olsr", "mid") - page.target = call("action_mid") - page.title = "MID" - page.order = 50 -end - -function action_index() - local data = fetch_txtinfo("links") - - if not data or not data.Links then - luci.template.render("freifunk-olsr/error_olsr") - return nil - end - - local function compare(a, b) - if tonumber(a.ETX) == 0 then - return false - end - - if tonumber(b.ETX) == 0 then - return true - end - - return tonumber(a.ETX) < tonumber(b.ETX) - end - - table.sort(data.Links, compare) - - luci.template.render("freifunk-olsr/index", {links=data.Links}) -end - -function action_routes() - local data = fetch_txtinfo("routes") - - if not data or not data.Routes then - luci.template.render("freifunk-olsr/error_olsr") - return nil - end - - local function compare(a, b) - if tonumber(a.ETX) == 0 then - return false - end - - if tonumber(b.ETX) == 0 then - return true - end - - return tonumber(a.ETX) < tonumber(b.ETX) - end - - table.sort(data.Routes, compare) - - luci.template.render("freifunk-olsr/routes", {routes=data.Routes}) -end - -function action_topology() - local data = fetch_txtinfo("topology") - - if not data or not data.Topology then - luci.template.render("freifunk-olsr/error_olsr") - return nil - end - - local function compare(a, b) - return a["Destination IP"] < b["Destination IP"] - end - - table.sort(data.Topology, compare) - - luci.template.render("freifunk-olsr/topology", {routes=data.Topology}) -end - -function action_hna() - local data = fetch_txtinfo("hna") - - if not data or not data.HNA then - luci.template.render("freifunk-olsr/error_olsr") - return nil - end - - local function compare(a, b) - return a.Network < b.Network - end - - table.sort(data.HNA, compare) - - luci.template.render("freifunk-olsr/hna", {routes=data.HNA}) -end - -function action_mid() - local data = fetch_txtinfo("mid") - - if not data or not data.MID then - luci.template.render("freifunk-olsr/error_olsr") - return nil - end - - local function compare(a, b) - return a.IP < b.IP - end - - table.sort(data.MID, compare) - - luci.template.render("freifunk-olsr/mid", {mids=data.MID}) -end - - --- Internal -function fetch_txtinfo(otable) - otable = otable or "" - local rawdata = luci.sys.httpget("http://127.0.0.1:2006/"..otable) - - if #rawdata == 0 then - return nil - end - - local data = {} - - local tables = luci.util.split(luci.util.trim(rawdata), "\n\n") - - - for i, tbl in ipairs(tables) do - local lines = luci.util.split(tbl, "\n") - local name = table.remove(lines, 1):sub(8) - local keys = luci.util.split(table.remove(lines, 1), "\t") - - data[name] = {} - - for j, line in ipairs(lines) do - local fields = luci.util.split(line, "\t") - data[name][j] = {} - for k, key in pairs(keys) do - data[name][j][key] = fields[k] - end - end - end - - return data -end
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/freifunk-olsr/error_olsr.htm b/modules/freifunk/luasrc/view/freifunk-olsr/error_olsr.htm deleted file mode 100644 index 25426f50d..000000000 --- a/modules/freifunk/luasrc/view/freifunk-olsr/error_olsr.htm +++ /dev/null @@ -1,6 +0,0 @@ -<%+header%> -<h1><%:olsr OLSR%></h1> -<p class="error"><%:olsrerror1 Es konnte keine Verbindung zum OLSR-Daemon hergestellt werden!%></p> -<p><%:olsrerror2 Um die Statusinformationen abfragen zu können muss der OLSR-Daemon gestartet -und das Plugin "txtinfo" geladen sein.%></p> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/freifunk-olsr/hna.htm b/modules/freifunk/luasrc/view/freifunk-olsr/hna.htm deleted file mode 100644 index c13369f42..000000000 --- a/modules/freifunk/luasrc/view/freifunk-olsr/hna.htm +++ /dev/null @@ -1,17 +0,0 @@ -<%+header%> -<h1><%:olsrhna OLSR-HNA%></h1> -<br /> -<table cellspacing="0" cellpadding="6"> -<tr> -<th><%:destination Ziel%></th> -<th><%:gateway Gateway%></th> -</tr> -<% for k, route in ipairs(routes) do %> -<tr> -<td><%=route.Network%>/<%=route.Netmask%></td> -<td><a href="http://<%=route.Gateway%>"><%=route.Gateway%></a></td> -</tr> -<% end %> -</table> -<br /> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/freifunk-olsr/index.htm b/modules/freifunk/luasrc/view/freifunk-olsr/index.htm deleted file mode 100644 index 0633d1f45..000000000 --- a/modules/freifunk/luasrc/view/freifunk-olsr/index.htm +++ /dev/null @@ -1,43 +0,0 @@ -<%+header%> -<h1><%:olsrlinks OLSR-Verbindungen%></h1> -<p><%:olsrlinks1 Übersicht über aktuell bestehende OLSR-Verbindungen%></p> -<br /> -<table cellspacing="0" cellpadding="6"> -<tr> -<th><%:destination Ziel%></th> -<th><%:local Lokal%></th> -<th>LQ</th> -<th>NLQ</th> -<th>ETX</th> -</tr> -<% for k, link in ipairs(links) do - local color = "#bb3333" - - link.ETX = tonumber(link.ETX) - if link.ETX == 0 then - color = "#bb3333" - elseif link.ETX < 4 then - color = "#00cc00" - elseif link.ETX < 10 then - color = "#ffcb05" - elseif link.ETX < 100 then - color = "#ff6600" - end -%> -<tr> -<td><a href="http://<%=link["remote IP"]%>"><%=link["remote IP"]%></a></td> -<td><%=link["Local IP"]%></td> -<td><%=link.LinkQuality%></td> -<td><%=link.NLQ%></td> -<td style="background-color:<%=color%>"><%=link.ETX%></td> -</tr> -<% end %> -</table> -<br /> -<h3><%:legend Legende%>:</h3> -<ul> -<li><strong>LQ: </strong><%:lq1 Erfolgsquote gesendeter Pakete%></li> -<li><strong>NLQ: </strong><%:nlq1 Erfolgsquote empfangener Pakete%></li> -<li><strong>ETX: </strong><%:etx1 Zu erwartende Sendeversuche pro Paket%></li> -</ul> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/freifunk-olsr/mid.htm b/modules/freifunk/luasrc/view/freifunk-olsr/mid.htm deleted file mode 100644 index 6553237ea..000000000 --- a/modules/freifunk/luasrc/view/freifunk-olsr/mid.htm +++ /dev/null @@ -1,17 +0,0 @@ -<%+header%> -<h1><%:olsrmid OLSR-MID%></h1> -<br /> -<table cellspacing="0" cellpadding="6"> -<tr> -<th><%:node Knoten%></th> -<th><%:aliases Aliasse%></th> -</tr> -<% for k, mid in ipairs(mids) do %> -<tr> -<td><a href="http://<%=mid.IP%>"><%=mid.IP%></a></td> -<td><%=mid.Aliases%></td> -</tr> -<% end %> -</table> -<br /> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/freifunk-olsr/routes.htm b/modules/freifunk/luasrc/view/freifunk-olsr/routes.htm deleted file mode 100644 index f3a0fd336..000000000 --- a/modules/freifunk/luasrc/view/freifunk-olsr/routes.htm +++ /dev/null @@ -1,36 +0,0 @@ -<%+header%> -<h1><%:olsrlinks OLSR-Routen%></h1> -<br /> -<table cellspacing="0" cellpadding="6"> -<tr> -<th><%:destination Ziel%></th> -<th><%:gateway Gateway%></th> -<th><%:interface Schnittstelle%></th> -<th><%:metric Metrik%></th> -<th>ETX</th> -</tr> -<% for k, route in ipairs(routes) do - local color = "#bb3333" - - route.ETX = tonumber(route.ETX) - if route.ETX == 0 then - color = "#bb3333" - elseif route.ETX < 4 then - color = "#00cc00" - elseif route.ETX < 10 then - color = "#ffcb05" - elseif route.ETX < 100 then - color = "#ff6600" - end -%> -<tr> -<td><%=route.Destination%></td> -<td><%=route.Gateway%></td> -<td><%=route.Interface%></td> -<td><%=route.Metric%></td> -<td style="background-color:<%=color%>"><%=route.ETX%></td> -</tr> -<% end %> -</table> -<br /> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/freifunk-olsr/topology.htm b/modules/freifunk/luasrc/view/freifunk-olsr/topology.htm deleted file mode 100644 index c622026d4..000000000 --- a/modules/freifunk/luasrc/view/freifunk-olsr/topology.htm +++ /dev/null @@ -1,23 +0,0 @@ -<%+header%> -<h1><%:olsrtopo OLSR-Topologie%></h1> -<br /> -<table cellspacing="0" cellpadding="6"> -<tr> -<th><%:destination Ziel%></th> -<th><%:lasthop Letzter Router%></th> -<th>LQ</th> -<th>ILQ</th> -<th>ETX</th> -</tr> -<% for k, route in ipairs(routes) do %> -<tr> -<td><a href="http://<%=route["Destination IP"]%>"><%=route["Destination IP"]%></a></td> -<td><a href="http://<%=route["Last hop IP"]%>"><%=route["Last hop IP"]%></a></td> -<td><%=route.LQ%></td> -<td><%=route.ILQ%></td> -<td><%=route.ETX%></td> -</tr> -<% end %> -</table> -<br /> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/public_status/iwscan.htm b/modules/freifunk/luasrc/view/public_status/iwscan.htm deleted file mode 100644 index adba2d23e..000000000 --- a/modules/freifunk/luasrc/view/public_status/iwscan.htm +++ /dev/null @@ -1,38 +0,0 @@ -<%+header%> -<h1><%:iwscan WLAN-Scan%></h1> -<p><%:iwscan1 Drahtlosnetzwerke in der lokalen Umgebung des Routers:%></p> - -<br /> -<table cellspacing="0" cellpadding="6" class="smalltext"> -<tr> -<th><%:interface Schnittstelle%></th> -<th><%:essid ESSID%></th> -<th><%:bssid BSSID%></th> -<th><%:mode Modus%></th> -<th><%:channel Kanal%></th> -<th><%:encr Vers.%></th> -<th><%:link Verb.%></th> -<th><%:signal Signal%></th> -<th><%:noise Rausch%></th> -</tr> -<%for iface, cells in pairs(luci.sys.wifi.iwscan()) do - for i, cell in ipairs(cells) do -%> -<tr> -<td><%=iface%></td> -<td><%=cell.ESSID%></td> -<td><%=cell.Address%></td> -<td><%=cell.Mode%></td> -<td><%=(cell.Channel or cell.Frequency or "")%></td> -<td><%=cell["Encryption key"]%></td> -<td><%=cell.Quality%></td> -<td><%=cell["Signal level"]%></td> -<td><%=cell["Noise level"]%></td> -</tr> -<% - end -end -%> -</table> -<br /> -<%+footer%>
\ No newline at end of file diff --git a/modules/freifunk/luasrc/view/public_status/routes.htm b/modules/freifunk/luasrc/view/public_status/routes.htm deleted file mode 100644 index 382b8290f..000000000 --- a/modules/freifunk/luasrc/view/public_status/routes.htm +++ /dev/null @@ -1,28 +0,0 @@ -<%+header%> -<h1><%:routes Routen%></h1> - -<br /> -<table cellspacing="0" cellpadding="6" class="smalltext"> -<tr> -<th><%:target Ziel%></th> -<th><%:netmask Netzmaske%></th> -<th><%:gateway Gateway%></th> -<th><%:metric Metrik%></th> -<th><%:iface Schnittstelle%></th> -</tr> -<% -local routes = luci.sys.net.routes() - -for i, r in pairs(routes) do -%> -<tr> -<td><%=luci.sys.net.hexip4(r.Destination)%></td> -<td><%=luci.sys.net.hexip4(r.Mask)%></td> -<td><%=luci.sys.net.hexip4(r.Gateway)%></td> -<td><%=r.Metric%></td> -<td><%=r.Iface%></td> -</tr> -<% end %> -</table> -<br /> -<%+footer%>
\ No newline at end of file |