X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=applications%2Fluci-olsr%2Fluasrc%2Fcontroller%2Folsr.lua;h=a47496b31a9a5c15fd7ec3decad8801fb5489699;hb=b1ef4c398bc2d35b333331ac5f823bc17bf56ff2;hp=f4d52c42d4963e9c8d456898b176bd38029664d4;hpb=d9736ece54d502709a06b759bcdbebe9af56b4ef;p=project%2Fluci.git diff --git a/applications/luci-olsr/luasrc/controller/olsr.lua b/applications/luci-olsr/luasrc/controller/olsr.lua index f4d52c42d..a47496b31 100644 --- a/applications/luci-olsr/luasrc/controller/olsr.lua +++ b/applications/luci-olsr/luasrc/controller/olsr.lua @@ -5,49 +5,46 @@ function index() 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( @@ -64,13 +61,19 @@ function index() 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 @@ -88,30 +91,29 @@ function index() ) 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 @@ -227,6 +229,7 @@ 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) @@ -260,9 +263,11 @@ function fetch_txtinfo(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 @@ -320,9 +325,11 @@ function fetch_txtinfo(otable) 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]