User interface improvements part #2
[project/luci.git] / modules / admin-core / luasrc / tools / webadmin.lua
1 --[[
2 LuCI - Lua Configuration Interface
3
4 Copyright 2008 Steven Barth <steven@midlink.org>
5 Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 $Id$
14 ]]--
15
16 module("luci.tools.webadmin", package.seeall)
17 require("luci.model.uci")
18 require("luci.sys")
19
20 function byte_format(byte)
21 local suff = {"B", "KB", "MB", "GB", "TB"}
22 for i=1, 5 do
23 if byte > 1024 and i < 5 then
24 byte = byte / 1024
25 else
26 return string.format("%.2f %s", byte, suff[i])
27 end
28 end
29 end
30
31 function cbi_add_networks(field)
32 luci.model.uci.foreach("network", "interface",
33 function (section)
34 if section[".name"] ~= "loopback" then
35 field:value(section[".name"])
36 end
37 end
38 )
39 end
40
41 function cbi_add_knownips(field)
42 for i, dataset in ipairs(luci.sys.net.arptable()) do
43 field:value(dataset["IP address"])
44 end
45 end