diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-11-20 21:31:59 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-11-20 21:31:59 +0000 |
commit | bcdc4c16b2c0ff69c14e0ad5a8e4209fbf4ee269 (patch) | |
tree | ebefb19d186aeb0e37e127b9e02d05d69b5784b6 /applications | |
parent | 50432a2354cd0b894d246be4c5b4b7619ad51590 (diff) |
applications/luci-tinyproxy: add status page
Diffstat (limited to 'applications')
-rw-r--r-- | applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua | 12 | ||||
-rw-r--r-- | applications/luci-tinyproxy/luasrc/view/tinyproxy_status.htm | 50 |
2 files changed, 58 insertions, 4 deletions
diff --git a/applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua b/applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua index f21b0fc64..d413d59d8 100644 --- a/applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua +++ b/applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua @@ -12,14 +12,18 @@ You may obtain a copy of the License at $Id$ ]]-- + module("luci.controller.tinyproxy", package.seeall) function index() if not nixio.fs.access("/etc/config/tinyproxy") then return end - - local page = entry({"admin", "services", "tinyproxy"}, cbi("tinyproxy"), "Tinyproxy") - page.dependent = true - page.i18n = "tinyproxy" + + require("luci.i18n").loadc("vnstat") + local i18n = luci.i18n.translate + + entry({"admin", "services", "tinyproxy"}, alias("admin", "services", "tinyproxy", "config"), "Tinyproxy").i18n = "tinyproxy" + entry({"admin", "services", "tinyproxy", "status"}, template("tinyproxy_status"), i18n("Status")) + entry({"admin", "services", "tinyproxy", "config"}, cbi("tinyproxy"), i18n("Configuration")) end diff --git a/applications/luci-tinyproxy/luasrc/view/tinyproxy_status.htm b/applications/luci-tinyproxy/luasrc/view/tinyproxy_status.htm new file mode 100644 index 000000000..c85a206bd --- /dev/null +++ b/applications/luci-tinyproxy/luasrc/view/tinyproxy_status.htm @@ -0,0 +1,50 @@ +<% + +if luci.http.formvalue("frame") == "1" then + local uci = require "luci.model.uci".cursor() + local addr = "127.0.0.1" + local port = "8888" + + uci:foreach("tinyproxy", "tinyproxy", + function(s) + addr = s.StatHost or addr + port = s.Port or port + return false + end) + + local data = false + local wget = io.popen("wget -qO- http://%s:%s" % { addr, port }) + if wget then + while true do + local l = wget:read("*l") + if not l then + break + end + + luci.http.write(l) + data = true + end + + wget:close() + end + + if not data then + luci.http.write(translate("Failed to retrieve statistics from url:")) + luci.http.write(" http://%s:%s" % { addr, port }) + end + + return +end + +-%> + +<%+header%> + +<div class="cbi-map"> + <h2><a id="content" name="content"><%:Tinyproxy Status%></a></h2> + <div class="cbi-section"> + <iframe src="<%=REQUESTURL%>?frame=1" style="width:100%; height:350px; border:none"></iframe> + </div> +</div> + +<%+footer%> |