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