$Id$
]]--
-require("luci.model.uci")
-require("luci.sys")
-require("luci.tools.webadmin")
+
+local uci = require "luci.model.uci".cursor()
+local sys = require "luci.sys"
+local wa = require "luci.tools.webadmin"
+local fs = require "nixio.fs"
m = Map("dhcp", "DHCP")
enable:value(0, translate("enable"))
enable:value(1, translate("disable"))
-start = s:option(Value, "start", translate("m_n_d_firstaddress"))
+start = s:option(Value, "start", translate("First leased address"))
start.rmempty = true
start:depends("ignore", "0")
-limit = s:option(Value, "limit", translate("m_n_d_numleases"), "")
+limit = s:option(Value, "limit", translate("Number of leased addresses"), "")
limit:depends("ignore", "0")
function limit.cfgvalue(self, section)
-m2 = Map("luci_ethers", translate("dhcp_leases"))
+m2 = Map("luci_ethers", translate("Leases"))
local leasefn, leasefp, leases
-luci.model.uci.cursor():foreach("dhcp", "dnsmasq",
+uci:foreach("dhcp", "dnsmasq",
function(section)
leasefn = section.leasefile
end
)
-local leasefp = leasefn and luci.fs.access(leasefn) and io.lines(leasefn)
+local leasefp = leasefn and fs.access(leasefn) and io.lines(leasefn)
if leasefp then
leases = {}
for lease in leasefp do
end
if leases then
- v = m2:section(Table, leases, translate("dhcp_leases_active"))
- ip = v:option(DummyValue, 3, translate("ipaddress"))
+ v = m2:section(Table, leases, translate("Active Leases"))
+ ip = v:option(DummyValue, 3, translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
- mac = v:option(DummyValue, 2, translate("macaddress"))
+ mac = v:option(DummyValue, 2, translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
- ltime = v:option(DummyValue, 1, translate("dhcp_timeremain"))
+ ltime = v:option(DummyValue, 1, translate("Leasetime remaining"))
function ltime.cfgvalue(self, ...)
local value = DummyValue.cfgvalue(self, ...)
- return luci.tools.webadmin.date_format(
- os.difftime(tonumber(value), os.time())
- )
+ return wa.date_format(os.difftime(tonumber(value), os.time()))
end
end
-s = m2:section(TypedSection, "static_lease", translate("luci_ethers"))
+s = m2:section(TypedSection, "static_lease", translate("Static Leases"))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
-mac = s:option(Value, "macaddr", translate("macaddress"))
-ip = s:option(Value, "ipaddr", translate("ipaddress"))
-for i, dataset in ipairs(luci.sys.net.arptable()) do
- ip:value(dataset["IP address"])
- mac:value(dataset["HW address"],
- dataset["HW address"] .. " (" .. dataset["IP address"] .. ")")
-end
-
-return m, m2
\ No newline at end of file
+mac = s:option(Value, "macaddr", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
+ip = s:option(Value, "ipaddr", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
+sys.net.arptable(function(entry)
+ ip:value(entry["IP address"])
+ mac:value(
+ entry["HW address"],
+ entry["HW address"] .. " (" .. entry["IP address"] .. ")"
+ )
+end)
+
+return m, m2