From bcdc4c16b2c0ff69c14e0ad5a8e4209fbf4ee269 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 20 Nov 2010 21:31:59 +0000 Subject: [PATCH] applications/luci-tinyproxy: add status page --- .../luci-tinyproxy/luasrc/controller/tinyproxy.lua | 12 ++++-- .../luasrc/view/tinyproxy_status.htm | 50 ++++++++++++++++++++++ 2 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 applications/luci-tinyproxy/luasrc/view/tinyproxy_status.htm 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%> + +
+

<%:Tinyproxy Status%>

+
+ +
+
+ +<%+footer%> -- 2.11.0