From: Steven Barth Date: Mon, 2 Jun 2008 20:16:05 +0000 (+0000) Subject: * Moved Freifunk status pages to admin-core and linked them in Freifunk X-Git-Tag: 0.8.0~910 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=561b0cfaa3fb8163d9ec74a3f96fd5b22ad54f33;p=oweals%2Fluci.git * 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 --- diff --git a/libs/web/luasrc/dispatcher.lua b/libs/web/luasrc/dispatcher.lua index cd481622b..e3d8ac0d4 100644 --- a/libs/web/luasrc/dispatcher.lua +++ b/libs/web/luasrc/dispatcher.lua @@ -293,20 +293,29 @@ function createtree() built_tree = true end --- Shortcut for creating a dispatching node -function entry(path, target, title, order, add) - add = add or {} +-- Reassigns a node to another position +function assign(path, clone, title, order) + local obj = node(path) + obj.nodes = nil + obj.module = nil + + obj.title = title + obj.order = order + + setmetatable(obj, {__index = clone}) + + return obj +end +-- Shortcut for creating a dispatching node +function entry(path, target, title, order) local c = node(path) + c.target = target c.title = title c.order = order c.module = getfenv(2)._NAME - for k,v in pairs(add) do - c[k] = v - end - return c end diff --git a/modules/admin-core/luasrc/controller/admin/status.lua b/modules/admin-core/luasrc/controller/admin/status.lua index 223f54b29..afd6804f7 100644 --- a/modules/admin-core/luasrc/controller/admin/status.lua +++ b/modules/admin-core/luasrc/controller/admin/status.lua @@ -6,6 +6,8 @@ function index() entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20) entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "Systemprotokoll")) + entry({"admin", "status", "routes"}, template("admin_status/routes"), "Routingtabelle", 10) + entry({"admin", "status", "iwscan"}, template("admin_status/iwscan"), "WLAN-Scan", 20) end function action_syslog() diff --git a/modules/admin-core/luasrc/controller/admin/status_olsr.lua b/modules/admin-core/luasrc/controller/admin/status_olsr.lua new file mode 100644 index 000000000..cadda546e --- /dev/null +++ b/modules/admin-core/luasrc/controller/admin/status_olsr.lua @@ -0,0 +1,163 @@ +module("luci.controller.admin.status_olsr", package.seeall) +require("luci.sys") + +function index() + local page = node("admin", "status", "olsr") + page.target = call("action_index") + page.title = "OLSR" + + local page = node("admin", "status", "olsr", "routes") + page.target = call("action_routes") + page.title = "Routen" + page.order = 10 + + local page = node("admin", "status", "olsr", "topology") + page.target = call("action_topology") + page.title = "Topologie" + page.order = 20 + + local page = node("admin", "status", "olsr", "hna") + page.target = call("action_hna") + page.title = "HNA" + page.order = 30 + + local page = node("admin", "status", "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("status-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("status-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("status-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("status-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("status-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("status-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("status-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("status-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("status-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("status-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/admin-core/luasrc/view/admin_status/iwscan.htm b/modules/admin-core/luasrc/view/admin_status/iwscan.htm new file mode 100644 index 000000000..adba2d23e --- /dev/null +++ b/modules/admin-core/luasrc/view/admin_status/iwscan.htm @@ -0,0 +1,38 @@ +<%+header%> +

<%:iwscan WLAN-Scan%>

+

<%:iwscan1 Drahtlosnetzwerke in der lokalen Umgebung des Routers:%>

+ +
+ + + + + + + + + + + + +<%for iface, cells in pairs(luci.sys.wifi.iwscan()) do + for i, cell in ipairs(cells) do +%> + + + + + + + + + + + +<% + end +end +%> +
<%:interface Schnittstelle%><%:essid ESSID%><%:bssid BSSID%><%:mode Modus%><%:channel Kanal%><%:encr Vers.%><%:link Verb.%><%:signal Signal%><%:noise Rausch%>
<%=iface%><%=cell.ESSID%><%=cell.Address%><%=cell.Mode%><%=(cell.Channel or cell.Frequency or "")%><%=cell["Encryption key"]%><%=cell.Quality%><%=cell["Signal level"]%><%=cell["Noise level"]%>
+
+<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/admin_status/routes.htm b/modules/admin-core/luasrc/view/admin_status/routes.htm new file mode 100644 index 000000000..382b8290f --- /dev/null +++ b/modules/admin-core/luasrc/view/admin_status/routes.htm @@ -0,0 +1,28 @@ +<%+header%> +

<%:routes Routen%>

+ +
+ + + + + + + + +<% +local routes = luci.sys.net.routes() + +for i, r in pairs(routes) do +%> + + + + + + + +<% end %> +
<%:target Ziel%><%:netmask Netzmaske%><%:gateway Gateway%><%:metric Metrik%><%:iface Schnittstelle%>
<%=luci.sys.net.hexip4(r.Destination)%><%=luci.sys.net.hexip4(r.Mask)%><%=luci.sys.net.hexip4(r.Gateway)%><%=r.Metric%><%=r.Iface%>
+
+<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/status-olsr/error_olsr.htm b/modules/admin-core/luasrc/view/status-olsr/error_olsr.htm new file mode 100644 index 000000000..25426f50d --- /dev/null +++ b/modules/admin-core/luasrc/view/status-olsr/error_olsr.htm @@ -0,0 +1,6 @@ +<%+header%> +

<%:olsr OLSR%>

+

<%:olsrerror1 Es konnte keine Verbindung zum OLSR-Daemon hergestellt werden!%>

+

<%:olsrerror2 Um die Statusinformationen abfragen zu können muss der OLSR-Daemon gestartet +und das Plugin "txtinfo" geladen sein.%>

+<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/status-olsr/hna.htm b/modules/admin-core/luasrc/view/status-olsr/hna.htm new file mode 100644 index 000000000..c13369f42 --- /dev/null +++ b/modules/admin-core/luasrc/view/status-olsr/hna.htm @@ -0,0 +1,17 @@ +<%+header%> +

<%:olsrhna OLSR-HNA%>

+
+ + + + + +<% for k, route in ipairs(routes) do %> + + + + +<% end %> +
<%:destination Ziel%><%:gateway Gateway%>
<%=route.Network%>/<%=route.Netmask%><%=route.Gateway%>
+
+<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/status-olsr/index.htm b/modules/admin-core/luasrc/view/status-olsr/index.htm new file mode 100644 index 000000000..0633d1f45 --- /dev/null +++ b/modules/admin-core/luasrc/view/status-olsr/index.htm @@ -0,0 +1,43 @@ +<%+header%> +

<%:olsrlinks OLSR-Verbindungen%>

+

<%:olsrlinks1 Übersicht über aktuell bestehende OLSR-Verbindungen%>

+
+ + + + + + + + +<% 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 +%> + + + + + + + +<% end %> +
<%:destination Ziel%><%:local Lokal%>LQNLQETX
"><%=link["remote IP"]%><%=link["Local IP"]%><%=link.LinkQuality%><%=link.NLQ%><%=link.ETX%>
+
+

<%:legend Legende%>:

+ +<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/status-olsr/mid.htm b/modules/admin-core/luasrc/view/status-olsr/mid.htm new file mode 100644 index 000000000..6553237ea --- /dev/null +++ b/modules/admin-core/luasrc/view/status-olsr/mid.htm @@ -0,0 +1,17 @@ +<%+header%> +

<%:olsrmid OLSR-MID%>

+
+ + + + + +<% for k, mid in ipairs(mids) do %> + + + + +<% end %> +
<%:node Knoten%><%:aliases Aliasse%>
<%=mid.IP%><%=mid.Aliases%>
+
+<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/status-olsr/routes.htm b/modules/admin-core/luasrc/view/status-olsr/routes.htm new file mode 100644 index 000000000..f3a0fd336 --- /dev/null +++ b/modules/admin-core/luasrc/view/status-olsr/routes.htm @@ -0,0 +1,36 @@ +<%+header%> +

<%:olsrlinks OLSR-Routen%>

+
+ + + + + + + + +<% 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 +%> + + + + + + + +<% end %> +
<%:destination Ziel%><%:gateway Gateway%><%:interface Schnittstelle%><%:metric Metrik%>ETX
<%=route.Destination%><%=route.Gateway%><%=route.Interface%><%=route.Metric%><%=route.ETX%>
+
+<%+footer%> \ No newline at end of file diff --git a/modules/admin-core/luasrc/view/status-olsr/topology.htm b/modules/admin-core/luasrc/view/status-olsr/topology.htm new file mode 100644 index 000000000..c622026d4 --- /dev/null +++ b/modules/admin-core/luasrc/view/status-olsr/topology.htm @@ -0,0 +1,23 @@ +<%+header%> +

<%:olsrtopo OLSR-Topologie%>

+
+ + + + + + + + +<% for k, route in ipairs(routes) do %> + + + + + + + +<% end %> +
<%:destination Ziel%><%:lasthop Letzter Router%>LQILQETX
"><%=route["Destination IP"]%>"><%=route["Last hop IP"]%><%=route.LQ%><%=route.ILQ%><%=route.ETX%>
+
+<%+footer%> \ No newline at end of file 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%> -

<%:olsr OLSR%>

-

<%:olsrerror1 Es konnte keine Verbindung zum OLSR-Daemon hergestellt werden!%>

-

<%:olsrerror2 Um die Statusinformationen abfragen zu können muss der OLSR-Daemon gestartet -und das Plugin "txtinfo" geladen sein.%>

-<%+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%> -

<%:olsrhna OLSR-HNA%>

-
- - - - - -<% for k, route in ipairs(routes) do %> - - - - -<% end %> -
<%:destination Ziel%><%:gateway Gateway%>
<%=route.Network%>/<%=route.Netmask%><%=route.Gateway%>
-
-<%+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%> -

<%:olsrlinks OLSR-Verbindungen%>

-

<%:olsrlinks1 Übersicht über aktuell bestehende OLSR-Verbindungen%>

-
- - - - - - - - -<% 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 -%> - - - - - - - -<% end %> -
<%:destination Ziel%><%:local Lokal%>LQNLQETX
"><%=link["remote IP"]%><%=link["Local IP"]%><%=link.LinkQuality%><%=link.NLQ%><%=link.ETX%>
-
-

<%:legend Legende%>:

- -<%+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%> -

<%:olsrmid OLSR-MID%>

-
- - - - - -<% for k, mid in ipairs(mids) do %> - - - - -<% end %> -
<%:node Knoten%><%:aliases Aliasse%>
<%=mid.IP%><%=mid.Aliases%>
-
-<%+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%> -

<%:olsrlinks OLSR-Routen%>

-
- - - - - - - - -<% 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 -%> - - - - - - - -<% end %> -
<%:destination Ziel%><%:gateway Gateway%><%:interface Schnittstelle%><%:metric Metrik%>ETX
<%=route.Destination%><%=route.Gateway%><%=route.Interface%><%=route.Metric%><%=route.ETX%>
-
-<%+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%> -

<%:olsrtopo OLSR-Topologie%>

-
- - - - - - - - -<% for k, route in ipairs(routes) do %> - - - - - - - -<% end %> -
<%:destination Ziel%><%:lasthop Letzter Router%>LQILQETX
"><%=route["Destination IP"]%>"><%=route["Last hop IP"]%><%=route.LQ%><%=route.ILQ%><%=route.ETX%>
-
-<%+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%> -

<%:iwscan WLAN-Scan%>

-

<%:iwscan1 Drahtlosnetzwerke in der lokalen Umgebung des Routers:%>

- -
- - - - - - - - - - - - -<%for iface, cells in pairs(luci.sys.wifi.iwscan()) do - for i, cell in ipairs(cells) do -%> - - - - - - - - - - - -<% - end -end -%> -
<%:interface Schnittstelle%><%:essid ESSID%><%:bssid BSSID%><%:mode Modus%><%:channel Kanal%><%:encr Vers.%><%:link Verb.%><%:signal Signal%><%:noise Rausch%>
<%=iface%><%=cell.ESSID%><%=cell.Address%><%=cell.Mode%><%=(cell.Channel or cell.Frequency or "")%><%=cell["Encryption key"]%><%=cell.Quality%><%=cell["Signal level"]%><%=cell["Noise level"]%>
-
-<%+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%> -

<%:routes Routen%>

- -
- - - - - - - - -<% -local routes = luci.sys.net.routes() - -for i, r in pairs(routes) do -%> - - - - - - - -<% end %> -
<%:target Ziel%><%:netmask Netzmaske%><%:gateway Gateway%><%:metric Metrik%><%:iface Schnittstelle%>
<%=luci.sys.net.hexip4(r.Destination)%><%=luci.sys.net.hexip4(r.Mask)%><%=luci.sys.net.hexip4(r.Gateway)%><%=r.Metric%><%=r.Iface%>
-
-<%+footer%> \ No newline at end of file