modules/admin-mini: Revised homepage
This commit is contained in:
parent
510fde0118
commit
7d08bec3ae
4 changed files with 160 additions and 114 deletions
|
@ -33,7 +33,7 @@ function index()
|
||||||
page.ucidata = true
|
page.ucidata = true
|
||||||
|
|
||||||
entry({"mini", "index"}, alias("mini", "index", "index"), i18n("overview"), 10)
|
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", "luci"}, cbi("mini/luci"), i18n("settings"), 10)
|
||||||
entry({"mini", "index", "logout"}, call("action_logout"), i18n("logout"))
|
entry({"mini", "index", "logout"}, call("action_logout"), i18n("logout"))
|
||||||
end
|
end
|
||||||
|
|
105
modules/admin-mini/luasrc/model/cbi/mini/index.lua
Normal file
105
modules/admin-mini/luasrc/model/cbi/mini/index.lua
Normal 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
|
|
@ -11,22 +11,6 @@ You may obtain a copy of the License at
|
||||||
|
|
||||||
$Id$
|
$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>
|
<h1><%:a_i_i_hello%></h1>
|
||||||
<p><%:a_i_i_admin1%></p>
|
<p><%:a_i_i_admin1%></p>
|
||||||
|
@ -34,100 +18,3 @@ local iwconfig = luci.sys.wifi.getiwconfig()
|
||||||
<%:a_i_i_admin3%></p>
|
<%:a_i_i_admin3%></p>
|
||||||
<p><%:a_i_i_admin6%></p>
|
<p><%:a_i_i_admin6%></p>
|
||||||
<p><em><strong><a href="<%=controller%>/about"><%:a_i_i_team%></a></strong></em></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%>
|
|
||||||
|
|
54
modules/admin-mini/luasrc/view/mini/index2.htm
Normal file
54
modules/admin-mini/luasrc/view/mini/index2.htm
Normal 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%>
|
Loading…
Reference in a new issue