summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-vnstat2/luasrc/view/vnstat2
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-vnstat2/luasrc/view/vnstat2')
-rw-r--r--applications/luci-app-vnstat2/luasrc/view/vnstat2/graphs.htm55
1 files changed, 55 insertions, 0 deletions
diff --git a/applications/luci-app-vnstat2/luasrc/view/vnstat2/graphs.htm b/applications/luci-app-vnstat2/luasrc/view/vnstat2/graphs.htm
new file mode 100644
index 0000000000..318611a9d6
--- /dev/null
+++ b/applications/luci-app-vnstat2/luasrc/view/vnstat2/graphs.htm
@@ -0,0 +1,55 @@
+<%#
+ This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%-
+
+local util = require "luci.util"
+local json = require "luci.jsonc"
+
+
+local ifaces = {}
+
+local data = util.exec("vnstat --json f 1 2>/dev/null")
+local content = json.parse(data)
+if type(content) == "table" then
+ for _, iface in pairs(content["interfaces"]) do
+ table.insert(ifaces, iface["name"])
+ end
+end
+
+
+local function render_section(style, title)
+ %><div class="cbi-section" data-tab="<%=style%>" data-tab-title="<%=title%>"><%
+
+ for _, iface in ipairs(ifaces) do
+ %><p><img src="<%=url("admin/status/vnstat2/graph")%>?iface=<%=iface%>&amp;style=<%=style%>" alt="" style="max-width:100%" /></p><%
+ end
+
+ %></div><%
+end
+
+
+-%>
+
+<%+header%>
+
+<h2 name="content"><%:vnStat Graphs%></h2>
+
+<div>
+ <%
+ if #ifaces == 0 then
+ %><p><em><%:No monitored interfaces have been found. Go to the configuration to enable monitoring for one or more interfaces.%></em></p><%
+ else
+ render_section("s", translate("Summary"))
+ render_section("t", translate("Top"))
+ render_section("5", translate("5 Minute"))
+ render_section("h", translate("Hourly"))
+ render_section("d", translate("Daily"))
+ render_section("m", translate("Monthly"))
+ render_section("y", translate("Yearly"))
+ end
+ %>
+</div>
+
+<%+footer%>