modules/admin-mini: Revised homepage

This commit is contained in:
Steven Barth 2008-08-17 00:19:44 +00:00
parent 510fde0118
commit 7d08bec3ae
4 changed files with 160 additions and 114 deletions

View file

@ -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

View file

@ -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

View file

@ -11,22 +11,6 @@ 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>
@ -34,100 +18,3 @@ local iwconfig = luci.sys.wifi.getiwconfig()
<%: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%>

View file

@ -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%>