summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-tinyproxy/luasrc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-11-20 21:31:59 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-11-20 21:31:59 +0000
commitbcdc4c16b2c0ff69c14e0ad5a8e4209fbf4ee269 (patch)
treeebefb19d186aeb0e37e127b9e02d05d69b5784b6 /applications/luci-tinyproxy/luasrc
parent50432a2354cd0b894d246be4c5b4b7619ad51590 (diff)
applications/luci-tinyproxy: add status page
Diffstat (limited to 'applications/luci-tinyproxy/luasrc')
-rw-r--r--applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua12
-rw-r--r--applications/luci-tinyproxy/luasrc/view/tinyproxy_status.htm50
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%>