return
end
- require("luci.i18n").loadc("olsr")
- local i18n = luci.i18n.translate
-
local page = node("admin", "status", "olsr")
page.target = template("status-olsr/overview")
- page.title = "OLSR"
+ page.title = _("OLSR")
page.i18n = "olsr"
page.subindex = true
local page = node("admin", "status", "olsr", "neighbors")
page.target = call("action_neigh")
- page.title = i18n("Neighbors")
+ page.title = _("Neighbours")
page.subindex = true
page.order = 5
local page = node("admin", "status", "olsr", "routes")
page.target = call("action_routes")
- page.title = i18n("Routen")
+ page.title = _("Routes")
page.order = 10
local page = node("admin", "status", "olsr", "topology")
page.target = call("action_topology")
- page.title = i18n("Topologie")
+ page.title = _("Topology")
page.order = 20
local page = node("admin", "status", "olsr", "hna")
page.target = call("action_hna")
- page.title = "HNA"
+ page.title = _("HNA")
page.order = 30
local page = node("admin", "status", "olsr", "mid")
page.target = call("action_mid")
- page.title = "MID"
+ page.title = _("MID")
page.order = 50
local page = node("admin", "status", "olsr", "smartgw")
page.target = call("action_smartgw")
- page.title = "SmartGW"
+ page.title = _("SmartGW")
page.order = 60
local page = node("admin", "status", "olsr", "interfaces")
page.target = call("action_interfaces")
- page.title = i18n("Interfaces")
+ page.title = _("Interfaces")
page.order = 70
local ol = entry(
entry(
{"admin", "services", "olsrd", "hna"},
- cbi("olsr/olsrdhna"), "HNA Announcements"
+ cbi("olsr/olsrdhna"), _("HNA Announcements")
)
oplg = entry(
{"admin", "services", "olsrd", "plugins"},
- cbi("olsr/olsrdplugins"), "Plugins"
+ cbi("olsr/olsrdplugins"), _("Plugins")
)
+
+ odsp = entry(
+ {"admin", "services", "olsrd", "display"},
+ cbi("olsr/olsrddisplay"), _("Display")
+ )
+
oplg.i18n = "olsr"
oplg.leaf = true
oplg.subindex = true
)
end
-function action_neigh()
- local data = fetch_txtinfo("links")
+local function compare_links(a, b)
+ local c = tonumber(a.Cost)
+ local d = tonumber(b.Cost)
- if not data or not data.Links then
- luci.template.render("status-olsr/error_olsr")
- return nil
+ if not c or c == 0 then
+ return false
end
- local function compare(a, b)
- local c = tonumber(a.Cost)
- local d = tonumber(b.Cost)
-
- if not c or c == 0 then
- return false
- end
+ if not d or d == 0 then
+ return true
+ end
+ return c < d
+end
- if not d or d == 0 then
- return true
- end
+function action_neigh(json)
+ local data = fetch_txtinfo("links")
- return c < d
+ if not data or not data.Links then
+ luci.template.render("status-olsr/error_olsr")
+ return nil
end
- table.sort(data.Links, compare)
+ table.sort(data.Links, compare_links)
luci.template.render("status-olsr/neighbors", {links=data.Links})
end
function fetch_txtinfo(otable)
require("luci.sys")
local uci = require "luci.model.uci".cursor_state()
+ local resolve = uci:get("luci_olsr", "general", "resolve")
otable = otable or ""
local rawdata = luci.sys.httpget("http://127.0.0.1:2006/"..otable)
local rawdatav6 = luci.sys.httpget("http://[::1]:2006/"..otable)
for k, key in pairs(keys) do
if key == "Remote IP" or key == "Dest. IP" or key == "Gateway IP" or key == "Gateway" then
data[name][di][key] = fields[k]
- hostname = nixio.getnameinfo(fields[k], "inet")
- if hostname then
- data[name][di]["Hostname"] = hostname
+ if resolve == "1" then
+ hostname = nixio.getnameinfo(fields[k], "inet")
+ if hostname then
+ data[name][di]["Hostname"] = hostname
+ end
end
if key == "Remote IP" and defaultgw then
if defaultgw == fields[k] then
for k, key in pairs(keys) do
if key == "Remote IP" then
data[name][di][key] = "[" .. fields[k] .. "]"
- hostname = nixio.getnameinfo(fields[k], "inet6")
- if hostname then
- data[name][di]["Hostname"] = hostname
+ if resolve == "1" then
+ hostname = nixio.getnameinfo(fields[k], "inet6")
+ if hostname then
+ data[name][di]["Hostname"] = hostname
+ end
end
elseif key == "Local IP" then
data[name][di][key] = fields[k]