modules/admin-mini: Several tweaks, initial status page

This commit is contained in:
Steven Barth 2008-07-18 21:33:25 +00:00
parent 90c98540b1
commit 3d794abec4
5 changed files with 145 additions and 9 deletions

View file

@ -252,3 +252,11 @@ system_system_logsize = "System log buffer size"
system_system_logip = "External system log server" system_system_logip = "External system log server"
system_system_conloglevel = "Log output level" system_system_conloglevel = "Log output level"
system_system_conloglevel_desc = "Level of log messages on the console" system_system_conloglevel_desc = "Level of log messages on the console"
m_i_processor = "Processor"
m_i_memory = "Memory"
m_i_systemtime = "Local Time"
m_i_uptime = "Uptime"
m_n_d_firstaddress = "First leased address"
m_n_d_numleases = "Number of leasesed addresses"

View file

@ -266,3 +266,11 @@ system_system_logsize = "Größe des Systemprotokollpuffers"
system_system_logip = "Externer Systemprotokollserver" system_system_logip = "Externer Systemprotokollserver"
system_system_conloglevel = "Protokollausgabelevel" system_system_conloglevel = "Protokollausgabelevel"
system_system_conloglevel_desc = "Level auf der Konsole ausgegebener Meldungen" system_system_conloglevel_desc = "Level auf der Konsole ausgegebener Meldungen"
m_i_processor = "Prozessor"
m_i_memory = "Hauptspeicher"
m_i_systemtime = "Lokale Zeit"
m_i_uptime = "Laufzeit"
m_n_d_firstaddress = "Erste vergebene Adresse"
m_n_d_numleases = "Anzahl vergebener Adressen"

View file

@ -158,6 +158,13 @@ function uniqueid(bytes)
end end
-- Returns uptime stats
function uptime()
local loadavg = io.lines("/proc/uptime")()
return loadavg:match("^(.-) (.-)$")
end
group = {} group = {}
group.getgroup = posix.getgroup group.getgroup = posix.getgroup

View file

@ -22,15 +22,15 @@ s.anonymous = true
s:depends("interface", "lan") s:depends("interface", "lan")
enable = s:option(ListValue, "ignore", "", "") enable = s:option(ListValue, "ignore", "", "")
enable:value(0, "enabled") enable:value(0, translate("enable"))
enable:value(1, "disabled") enable:value(1, translate("disable"))
start = s:option(Value, "start", "First address") start = s:option(Value, "start", translate("m_n_d_firstaddress"))
start.rmempty = true start.rmempty = true
start:depends("ignore", "0") start:depends("ignore", "0")
limit = s:option(Value, "limit", "Number of leases", "") limit = s:option(Value, "limit", translate("m_n_d_numleases"), "")
limit:depends("ignore", "0") limit:depends("ignore", "0")
function limit.cfgvalue(self, section) function limit.cfgvalue(self, section)

View file

@ -11,14 +11,127 @@ You may obtain a copy of the License at
$Id$ $Id$
-%>
<%
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()
-%> -%>
<%+header%> <%+header%>
<h1><%:a_i_i_hello%></h1> <h1><%:a_i_i_hello%></h1>
<p><%:a_i_i_admin1%></p> <p><%:a_i_i_admin1%></p>
<p><%:a_i_i_admin2%><br /> <p><%:a_i_i_admin2%><br />
<%:a_i_i_admin3%></p> <%:a_i_i_admin3%></p>
<p><%:a_i_i_admin4%></p>
<p><%:a_i_i_admin5%></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>
<%- if luci.model.uci.get_statevalue("network", "lan", "up") == "1" then %>
<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>
<%- end %>
<%- if luci.model.uci.get_statevalue("network", "lan", "up") == "1" then %>
<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>
<%- end %>
<%- 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%> <%+footer%>