From 4fa474cf2b8c0ec99366c76625e4c78c389d6cb1 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 27 Mar 2010 22:19:16 +0000 Subject: [PATCH] applications/luci-statistics: make it work under uhttpd --- .../luci_statistics/luci_statistics.lua | 22 ++++++++++++++----- .../luasrc/view/public_statistics/graph.htm | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/applications/luci-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-statistics/luasrc/controller/luci_statistics/luci_statistics.lua index b40603dbe7..817622c434 100644 --- a/applications/luci-statistics/luasrc/controller/luci_statistics/luci_statistics.lua +++ b/applications/luci-statistics/luasrc/controller/luci_statistics/luci_statistics.lua @@ -161,16 +161,28 @@ function statistics_render() local span = vars.timespan or uci:get( "luci_statistics", "rrdtool", "default_timespan" ) or spans[1] local graph = luci.statistics.rrdtool.Graph( luci.util.parse_units( span ) ) + -- deliver image + if vars.img then + local l12 = require "luci.ltn12" + local png = io.open(graph.opts.imgpath .. "/" .. vars.img:gsub("%.+", "."), "r") + if png then + luci.http.prepare_content("image/png") + l12.pump.all(l12.source.file(png), luci.http.write) + png:close() + end + return + end + local plugin, instances local images = { } -- find requested plugin and instance - for i, p in ipairs( luci.dispatcher.context.path ) do - if luci.dispatcher.context.path[i] == "graph" then - plugin = luci.dispatcher.context.path[i+1] - instances = { luci.dispatcher.context.path[i+2] } - end + for i, p in ipairs( luci.dispatcher.context.path ) do + if luci.dispatcher.context.path[i] == "graph" then + plugin = luci.dispatcher.context.path[i+1] + instances = { luci.dispatcher.context.path[i+2] } end + end -- no instance requested, find all instances if #instances == 0 then diff --git a/applications/luci-statistics/luasrc/view/public_statistics/graph.htm b/applications/luci-statistics/luasrc/view/public_statistics/graph.htm index 71be2aa2f2..fcc452f5ac 100644 --- a/applications/luci-statistics/luasrc/view/public_statistics/graph.htm +++ b/applications/luci-statistics/luasrc/view/public_statistics/graph.htm @@ -31,7 +31,7 @@ $Id$
<% for i, img in ipairs(images) do %> - +
<% end %>
-- 2.30.2