summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-status/luasrc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/luci-mod-status/luasrc')
-rw-r--r--modules/luci-mod-status/luasrc/controller/admin/status.lua22
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index.htm122
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm29
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm31
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm17
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm14
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm20
-rw-r--r--modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm26
8 files changed, 162 insertions, 119 deletions
diff --git a/modules/luci-mod-status/luasrc/controller/admin/status.lua b/modules/luci-mod-status/luasrc/controller/admin/status.lua
index 63b9390775..0d955c95fe 100644
--- a/modules/luci-mod-status/luasrc/controller/admin/status.lua
+++ b/modules/luci-mod-status/luasrc/controller/admin/status.lua
@@ -52,22 +52,12 @@ function dump_iptables(family, table)
local s
for s in lines do
if s == table then
- local ipt = io.popen(
- "/usr/sbin/%stables -w -t %s --line-numbers -nxvL"
- %{ prefix, table })
-
- if ipt then
- luci.http.prepare_content("text/plain")
-
- while true do
- s = ipt:read(1024)
- if not s then break end
- luci.http.write(s)
- end
-
- ipt:close()
- return
- end
+ luci.http.prepare_content("text/plain")
+ luci.sys.process.exec({
+ "/usr/sbin/%stables" % prefix, "-w", "-t", table,
+ "--line-numbers", "-nxvL"
+ }, luci.http.write)
+ return
end
end
end
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index.htm b/modules/luci-mod-status/luasrc/view/admin_status/index.htm
index b11956a8af..465226fe09 100644
--- a/modules/luci-mod-status/luasrc/view/admin_status/index.htm
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index.htm
@@ -11,29 +11,24 @@
local stat = require "luci.tools.status"
local ver = require "luci.version"
- local has_ipv6 = fs.access("/proc/net/ipv6_route")
- local has_dhcp = fs.access("/etc/config/dhcp")
- local has_wifi = ((fs.stat("/etc/config/wireless", "size") or 0) > 0)
+ if luci.http.formvalue("status") == "1" then
- local sysinfo = luci.util.ubus("system", "info") or { }
- local boardinfo = luci.util.ubus("system", "board") or { }
- local unameinfo = nixio.uname() or { }
+ local sysinfo = luci.util.ubus("system", "info") or { }
- local meminfo = sysinfo.memory or {
- total = 0,
- free = 0,
- buffered = 0,
- shared = 0
- }
+ local meminfo = sysinfo.memory or {
+ total = 0,
+ free = 0,
+ buffered = 0,
+ shared = 0
+ }
- local swapinfo = sysinfo.swap or {
- total = 0,
- free = 0
- }
+ local swapinfo = sysinfo.swap or {
+ total = 0,
+ free = 0
+ }
- local has_dsl = fs.access("/etc/init.d/dsl_control")
+ local has_dsl = fs.access("/etc/init.d/dsl_control")
- if luci.http.formvalue("status") == "1" then
local ntm = require "luci.model.network".init()
local wan_nets = ntm:get_wan_networks()
local wan6_nets = ntm:get_wan6_networks()
@@ -133,98 +128,19 @@
<h2 name="content"><%:Status%></h2>
-<div class="cbi-section">
- <h3><%:System%></h3>
-
- <div class="table" width="100%">
- <div class="tr"><div class="td left" width="33%"><%:Hostname%></div><div class="td left"><%=luci.sys.hostname() or "?"%></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Model%></div><div class="td left"><%=pcdata(boardinfo.model or "?")%></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Architecture%></div><div class="td left"><%=pcdata(boardinfo.system or "?")%></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Firmware Version%></div><div class="td left">
- <%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> /
- <%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>)
- </div></div>
- <div class="tr"><div class="td left" width="33%"><%:Kernel Version%></div><div class="td left"><%=unameinfo.release or "?"%></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Local Time%></div><div class="td left" id="localtime">-</div></div>
- <div class="tr"><div class="td left" width="33%"><%:Uptime%></div><div class="td left" id="uptime">-</div></div>
- <div class="tr"><div class="td left" width="33%"><%:Load Average%></div><div class="td left" id="loadavg">-</div></div>
- </div>
-</div>
-
-<div class="cbi-section">
- <h3><%:Memory%></h3>
-
- <div class="table" width="100%">
- <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="memtotal" class="cbi-progressbar" title="-"><div></div></div></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="memfree" class="cbi-progressbar" title="-"><div></div></div></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Buffered%></div><div class="td left"><div id="membuff" class="cbi-progressbar" title="-"><div></div></div></div></div>
- </div>
-</div>
-
-<% if swapinfo.total > 0 then %>
-<div class="cbi-section">
- <h3><%:Swap%></h3>
-
- <div class="table" width="100%">
- <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="swaptotal" class="cbi-progressbar" title="-"><div></div></div></div></div>
- <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="swapfree" class="cbi-progressbar" title="-"><div></div></div></div></div>
- </div>
-</div>
-<% end %>
-
-<div class="cbi-section">
- <h3><%:Network%></h3>
-
- <div id="upstream_status_table" class="network-status-table">
- <p><em><%:Collecting data...%></em></p>
- </div>
-
- <div class="table" width="100%">
- <div class="tr"><div class="td left" width="33%"><%:Active Connections%></div><div class="td left"><div id="conns" class="cbi-progressbar" title="-"><div></div></div></div></div>
- </div>
-</div>
-
-<%
- if has_dhcp then
- include("lease_status")
- end
-%>
-
-<% if has_dsl then %>
-<div class="cbi-section">
- <h3><%:DSL%></h3>
-
- <div id="dsl_status_table" class="network-status-table">
- <p><em><%:Collecting data...%></em></p>
- </div>
-</div>
-<% end %>
-
-<% if has_wifi then %>
-<div class="cbi-section">
- <h3><%:Wireless%></h3>
-
- <div id="wifi_status_table" class="network-status-table">
- <p><em><%:Collecting data...%></em></p>
- </div>
-</div>
-
-<div class="cbi-section">
- <h3><%:Associated Stations%></h3>
-
- <%+wifi_assoclist%>
-</div>
-<% end %>
-
<%-
local incdir = util.libpath() .. "/view/admin_status/index/"
if fs.access(incdir) then
- local inc
+ local _, inc
+ local includes = {}
for inc in fs.dir(incdir) do
if inc:match("%.htm$") then
- include("admin_status/index/" .. inc:gsub("%.htm$", ""))
+ includes[#includes + 1] = inc:gsub("%.htm$", "")
end
end
+ for _, inc in luci.util.vspairs(includes) do
+ include("admin_status/index/" .. inc)
+ end
end
-%>
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm
new file mode 100644
index 0000000000..994550ec2b
--- /dev/null
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm
@@ -0,0 +1,29 @@
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<%
+ local boardinfo = luci.util.ubus("system", "board") or { }
+ local unameinfo = nixio.uname() or { }
+ local ver = require "luci.version"
+%>
+
+<div class="cbi-section">
+ <h3><%:System%></h3>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Hostname%></div><div class="td left"><%=luci.sys.hostname() or "?"%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Model%></div><div class="td left"><%=pcdata(boardinfo.model or "?")%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Architecture%></div><div class="td left"><%=pcdata(boardinfo.system or "?")%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Firmware Version%></div><div class="td left">
+ <%=pcdata(ver.distname)%> <%=pcdata(ver.distversion)%> /
+ <%=pcdata(ver.luciname)%> (<%=pcdata(ver.luciversion)%>)
+ </div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Kernel Version%></div><div class="td left"><%=unameinfo.release or "?"%></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Local Time%></div><div class="td left" id="localtime">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Uptime%></div><div class="td left" id="uptime">-</div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Load Average%></div><div class="td left" id="loadavg">-</div></div>
+ </div>
+</div>
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm
new file mode 100644
index 0000000000..13774704fe
--- /dev/null
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm
@@ -0,0 +1,31 @@
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<%
+ local sysinfo = luci.util.ubus("system", "info") or { }
+ local has_swap = sysinfo.swap and sysinfo.swap.total > 0 or false
+%>
+
+<div class="cbi-section">
+ <h3><%:Memory%></h3>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="memtotal" class="cbi-progressbar" title="-"><div></div></div></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="memfree" class="cbi-progressbar" title="-"><div></div></div></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Buffered%></div><div class="td left"><div id="membuff" class="cbi-progressbar" title="-"><div></div></div></div></div>
+ </div>
+</div>
+
+<% if has_swap then %>
+<div class="cbi-section">
+ <h3><%:Swap%></h3>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Total Available%></div><div class="td left"><div id="swaptotal" class="cbi-progressbar" title="-"><div></div></div></div></div>
+ <div class="tr"><div class="td left" width="33%"><%:Free%></div><div class="td left"><div id="swapfree" class="cbi-progressbar" title="-"><div></div></div></div></div>
+ </div>
+</div>
+<% end %>
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm
new file mode 100644
index 0000000000..945a31b2e5
--- /dev/null
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index/30-network.htm
@@ -0,0 +1,17 @@
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<div class="cbi-section">
+ <h3><%:Network%></h3>
+
+ <div id="upstream_status_table" class="network-status-table">
+ <p><em><%:Collecting data...%></em></p>
+ </div>
+
+ <div class="table" width="100%">
+ <div class="tr"><div class="td left" width="33%"><%:Active Connections%></div><div class="td left"><div id="conns" class="cbi-progressbar" title="-"><div></div></div></div></div>
+ </div>
+</div>
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm
new file mode 100644
index 0000000000..aaf3661442
--- /dev/null
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index/40-dhcp-leases.htm
@@ -0,0 +1,14 @@
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<%
+ local fs = require "nixio.fs"
+ local has_dhcp = fs.access("/etc/config/dhcp")
+
+ if has_dhcp then
+ include("lease_status")
+ end
+%>
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm
new file mode 100644
index 0000000000..f37bf147a3
--- /dev/null
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index/50-dsl.htm
@@ -0,0 +1,20 @@
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<%
+ local fs = require "nixio.fs"
+ local has_dsl = fs.access("/etc/init.d/dsl_control")
+%>
+
+<% if has_dsl then %>
+<div class="cbi-section">
+ <h3><%:DSL%></h3>
+
+ <div id="dsl_status_table" class="network-status-table">
+ <p><em><%:Collecting data...%></em></p>
+ </div>
+</div>
+<% end %>
diff --git a/modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm b/modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm
new file mode 100644
index 0000000000..7338bc77f1
--- /dev/null
+++ b/modules/luci-mod-status/luasrc/view/admin_status/index/60-wifi.htm
@@ -0,0 +1,26 @@
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<%
+ local fs = require "nixio.fs"
+ local has_wifi = ((fs.stat("/etc/config/wireless", "size") or 0) > 0)
+%>
+
+<% if has_wifi then %>
+<div class="cbi-section">
+ <h3><%:Wireless%></h3>
+
+ <div id="wifi_status_table" class="network-status-table">
+ <p><em><%:Collecting data...%></em></p>
+ </div>
+</div>
+
+<div class="cbi-section">
+ <h3><%:Associated Stations%></h3>
+
+ <%+wifi_assoclist%>
+</div>
+<% end %>