summaryrefslogtreecommitdiffhomepage
path: root/modules/admin-mini/luasrc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/admin-mini/luasrc')
-rw-r--r--modules/admin-mini/luasrc/controller/mini/index.lua2
-rw-r--r--modules/admin-mini/luasrc/model/cbi/mini/index.lua105
-rw-r--r--modules/admin-mini/luasrc/view/mini/index.htm113
-rw-r--r--modules/admin-mini/luasrc/view/mini/index2.htm54
4 files changed, 160 insertions, 114 deletions
diff --git a/modules/admin-mini/luasrc/controller/mini/index.lua b/modules/admin-mini/luasrc/controller/mini/index.lua
index a1a29b5cef..77847dccca 100644
--- a/modules/admin-mini/luasrc/controller/mini/index.lua
+++ b/modules/admin-mini/luasrc/controller/mini/index.lua
@@ -33,7 +33,7 @@ function index()
page.ucidata = true
entry({"mini", "index"}, alias("mini", "index", "index"), i18n("overview"), 10)
- entry({"mini", "index", "index"}, template("mini/index"), i18n("general"), 1)
+ entry({"mini", "index", "index"}, form("mini/index"), i18n("general"), 1)
entry({"mini", "index", "luci"}, cbi("mini/luci"), i18n("settings"), 10)
entry({"mini", "index", "logout"}, call("action_logout"), i18n("logout"))
end
diff --git a/modules/admin-mini/luasrc/model/cbi/mini/index.lua b/modules/admin-mini/luasrc/model/cbi/mini/index.lua
new file mode 100644
index 0000000000..eb7d77eb17
--- /dev/null
+++ b/modules/admin-mini/luasrc/model/cbi/mini/index.lua
@@ -0,0 +1,105 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+require("luci.sys")
+require("luci.tools.webadmin")
+
+w = Template("mini/index")
+
+f = SimpleForm("main", translate("system"))
+f.reset = false
+f.submit = false
+
+local system, model, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo()
+local uptime = luci.sys.uptime()
+f:field(DummyValue, "_system", translate("system")).value = system
+f:field(DummyValue, "_cpu", translate("m_i_processor")).value = model
+
+local load1, load5, load15 = luci.sys.loadavg()
+f:field(DummyValue, "_la", translate("load")).value =
+ string.format("%.2f, %.2f, %.2f", load1, load5, load15)
+
+f:field(DummyValue, "_memtotal", translate("m_i_memory")).value =
+ string.format("%.2f MB (%.0f%% %s, %.0f%% %s, %.0f%% %s)",
+ tonumber(memtotal) / 1024,
+ 100 * memcached / memtotal,
+ translate("mem_cached") or "",
+ 100 * membuffers / memtotal,
+ translate("mem_buffered") or "",
+ 100 * memfree / memtotal,
+ translate("mem_free") or "")
+
+f:field(DummyValue, "_systime", translate("m_i_systemtime")).value =
+ os.date("%c")
+
+f:field(DummyValue, "_uptime", translate("m_i_uptime")).value =
+ luci.tools.webadmin.date_format(tonumber(uptime))
+
+
+m = Map("network", translate("interfaces"))
+local netstat = luci.sys.net.deviceinfo()
+
+m.parse = function() end
+
+s = m:section(TypedSection, "interface", "")
+s.template = "cbi/tblsection"
+
+function s.filter(self, section)
+ return section ~= "loopback" and section
+end
+
+hwaddr = s:option(DummyValue, "_hwaddr")
+function hwaddr.cfgvalue(self, section)
+ local ix = self.map:stateget(section, "ifname") or ""
+ return luci.fs.readfile("/sys/class/net/" .. ix .. "/address") or "n/a"
+end
+
+
+ipaddr = s:option(DummyValue, "ipaddr", translate("ipaddress"))
+ipaddr.stateful = true
+
+ipaddr = s:option(DummyValue, "netmask", translate("netmask"))
+ipaddr.stateful = true
+
+txrx = s:option(DummyValue, "_txrx")
+
+function txrx.cfgvalue(self, section)
+ local ix = self.map:stateget(section, "ifname")
+
+ local rx = netstat and netstat[ix] and netstat[ix][1]
+ rx = rx and luci.tools.webadmin.byte_format(tonumber(rx)) or "-"
+
+ local tx = netstat and netstat[ix] and netstat[ix][9]
+ tx = tx and luci.tools.webadmin.byte_format(tonumber(tx)) or "-"
+
+ return string.format("%s / %s", tx, rx)
+end
+
+errors = s:option(DummyValue, "_err")
+
+function errors.cfgvalue(self, section)
+ local ix = self.map:stateget(section, "ifname")
+
+ local rx = netstat and netstat[ix] and netstat[ix][3]
+ local tx = netstat and netstat[ix] and netstat[ix][11]
+
+ rx = rx and tostring(rx) or "-"
+ tx = tx and tostring(tx) or "-"
+
+ return string.format("%s / %s", tx, rx)
+end
+
+
+
+w2 = Template("mini/index2")
+return w, f, m, w2 \ No newline at end of file
diff --git a/modules/admin-mini/luasrc/view/mini/index.htm b/modules/admin-mini/luasrc/view/mini/index.htm
index e00100c18b..385deaf7aa 100644
--- a/modules/admin-mini/luasrc/view/mini/index.htm
+++ b/modules/admin-mini/luasrc/view/mini/index.htm
@@ -12,122 +12,9 @@ You may obtain a copy of the License at
$Id$
-%>
-<%+header%>
-<%-
-local system, model, memtotal = luci.sys.sysinfo()
-
-local uptime = luci.sys.uptime()
-uptime = tonumber(uptime)
-
-local utdays = math.floor(uptime / 86400)
-uptime = uptime % 86400
-local uthour = math.floor(uptime / 3600)
-uptime = uptime % 3600
-local utmins = math.floor(uptime / 60)
-local utsecs = uptime % 60
-
-local iwconfig = luci.sys.wifi.getiwconfig()
--%>
<h1><%:a_i_i_hello%></h1>
<p><%:a_i_i_admin1%></p>
<p><%:a_i_i_admin2%><br />
<%:a_i_i_admin3%></p>
<p><%:a_i_i_admin6%></p>
<p><em><strong><a href="<%=controller%>/about"><%:a_i_i_team%></a></strong></em></p>
-<br />
-<hr />
-<br />
-<h2>Systemstatus</h2>
-<table cellspacing="0" cellpadding="6" class="smalltext">
- <tr>
- <th><%:hostname%>:</th>
- <td><%=luci.sys.hostname()%></td>
- </tr>
- <tr>
- <th><%:system%>:</th>
- <td><%=system%></td>
- </tr>
- <tr>
- <th><%:m_i_processor%>:</th>
- <td><%=model%></td>
- </tr>
- <tr>
- <th><%:m_i_memory%>:</th>
- <td><%=string.format("%.2f", tonumber(memtotal) / 1024)%> MiB</td>
- </tr>
- <tr>
- <th><%:m_i_systemtime%>:</th>
- <td><%=os.date("%c")%></td>
- </tr>
- <tr>
- <th><%:m_i_uptime%>:</th>
- <td><%=string.format("%dd %d:%d:%.0f", utdays, uthour, utmins, utsecs)%></td>
- </tr>
-</table>
-
-
-<br />
-<h2><%:m_n_local%></h2>
-<table cellspacing="0" cellpadding="6" class="smalltext">
- <tr>
- <th><%:ipaddress%>:</th>
- <td><%=luci.model.uci.get_statevalue("network", "lan", "ipaddr")%></td>
- </tr>
- <tr>
- <th><%:netmask%>:</th>
- <td><%=luci.model.uci.get_statevalue("network", "lan", "netmask")%></td>
- </tr>
-</table>
-
-
-<br />
-<h2><%:m_n_inet%></h2>
-<table cellspacing="0" cellpadding="6" class="smalltext">
- <tr>
- <th><%:ipaddress%>:</th>
- <td><%=luci.model.uci.get_statevalue("network", "wan", "ipaddr")%></td>
- </tr>
- <tr>
- <th><%:netmask%>:</th>
- <td><%=luci.model.uci.get_statevalue("network", "wan", "netmask")%></td>
- </tr>
-</table>
-
-<%- if next(iwconfig) then %>
-<h2><%:wifi%></h2>
-<br />
-<table cellspacing="0" cellpadding="6" class="smalltext">
-<tr>
-<th><%:name%></th>
-<th><%:protocol%></th>
-<th><%:frequency%></th>
-<th><%:power%></th>
-<th><%:bitrate%></th>
-<th><%:rts%></th>
-<th><%:frag%></th>
-<th><%:link%></th>
-<th><%:signal%></th>
-<th><%:noise%></th>
-</tr>
-<%for k, v in pairs(iwconfig) do
-%>
-<tr>
-<td rowspan="2"><%=k%></td>
-<td><%=v[1]%></td>
-<td><%=v.Frequency%></td>
-<td><%=v["Tx-Power"]%></td>
-<td><%=v["Bit Rate"]%></td>
-<td><%=v["RTS thr"]%></td>
-<td><%=v["Fragment thr"]%></td>
-<td><%=v["Link Quality"]%></td>
-<td><%=v["Signal level"]%></td>
-<td><%=v["Noise level"]%></td>
-</tr>
-<tr>
-<td colspan="4"><strong>ESSID: </strong><%=v.ESSID%></td>
-<td colspan="5"><strong>BSSID: </strong><%=(v.Cell or v["Access Point"])%></td>
-</tr>
-<%end%>
-</table>
-<%-end%>
-<%+footer%>
diff --git a/modules/admin-mini/luasrc/view/mini/index2.htm b/modules/admin-mini/luasrc/view/mini/index2.htm
new file mode 100644
index 0000000000..741ef7c466
--- /dev/null
+++ b/modules/admin-mini/luasrc/view/mini/index2.htm
@@ -0,0 +1,54 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+<%
+local iwconfig = luci.sys.wifi.getiwconfig()
+if next(iwconfig) then
+%>
+<h2><%:wifi%></h2>
+<br />
+<table cellspacing="0" cellpadding="6" class="smalltext">
+<tr>
+<th><%:name%></th>
+<th><%:protocol%></th>
+<th><%:frequency%></th>
+<th><%:power%></th>
+<th><%:bitrate%></th>
+<th><%:rts%></th>
+<th><%:frag%></th>
+<th><%:link%></th>
+<th><%:signal%></th>
+<th><%:noise%></th>
+</tr>
+<%for k, v in pairs(iwconfig) do
+%>
+<tr>
+<td rowspan="2"><%=k%></td>
+<td><%=v[1]%></td>
+<td><%=v.Frequency%></td>
+<td><%=v["Tx-Power"]%></td>
+<td><%=v["Bit Rate"]%></td>
+<td><%=v["RTS thr"]%></td>
+<td><%=v["Fragment thr"]%></td>
+<td><%=v["Link Quality"]%></td>
+<td><%=v["Signal level"]%></td>
+<td><%=v["Noise level"]%></td>
+</tr>
+<tr>
+<td colspan="4"><strong>ESSID: </strong><%=v.ESSID%></td>
+<td colspan="5"><strong>BSSID: </strong><%=(v.Cell or v["Access Point"])%></td>
+</tr>
+<%end%>
+</table>
+<%-end%> \ No newline at end of file