From 46bc6e545a17e77202aaf01ec0cd8d5a46567525 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Tue, 25 Aug 2015 08:08:24 -0300 Subject: Move main pfSense content to src/ --- src/usr/local/www/graph.php | 408 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 408 insertions(+) create mode 100755 src/usr/local/www/graph.php (limited to 'src/usr/local/www/graph.php') diff --git a/src/usr/local/www/graph.php b/src/usr/local/www/graph.php new file mode 100755 index 0000000..d637836 --- /dev/null +++ b/src/usr/local/www/graph.php @@ -0,0 +1,408 @@ +, Manuel Kasper + and Jonathan Watt . + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +/* + pfSense_MODULE: graph +*/ + +##|+PRIV +##|*IDENT=page-diagnostics-interfacetraffic +##|*NAME=Diagnostics: Interface Traffic page +##|*DESCR=Allow access to the 'Diagnostics: Interface Traffic' page. +##|*MATCH=graph.php* +##|-PRIV + +require("globals.inc"); +require("guiconfig.inc"); + +header("Last-Modified: " . gmdate("D, j M Y H:i:s") . " GMT"); +header("Expires: " . gmdate("D, j M Y H:i:s", time()) . " GMT"); +header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP/1.1 +header("Pragma: no-cache"); // HTTP/1.0 +header("Content-type: image/svg+xml"); + +/********** HTTP GET Based Conf ***********/ +$ifnum = @$_GET["ifnum"]; // BSD / SNMP interface name / number +$ifnum = get_real_interface($ifnum); +$ifname = @$_GET["ifname"]?$_GET["ifname"]:"Interface $ifnum"; //Interface name that will be showed on top right of graph + +/********* Other conf *******/ +if (isset($config["widgets"]["trafficgraphs"]["scale_type"])) { + $scale_type = $config["widgets"]["trafficgraphs"]["scale_type"]; +} else { + $scale_type = "up"; +} + +$nb_plot=120; //NB plot in graph +if ($_GET["timeint"]) { + $time_interval = $_GET["timeint"]; //Refresh time Interval +} else { + $time_interval = 3; +} + +if ($_GET["initdelay"]) { + $init_delay = $_GET["initdelay"]; //Initial Delay +} else { + $init_delay = 3; +} + +//SVG attributes +$attribs['axis']='fill="black" stroke="black"'; +$attribs['in']='fill="#FF0000" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="7"'; +$attribs['out']='fill="#000000" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="7"'; +$attribs['graph_in']='fill="none" stroke="#FF0000" stroke-opacity="0.8"'; +$attribs['graph_out']='fill="none" stroke="#000000" stroke-opacity="0.8"'; +$attribs['legend']='fill="black" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="4"'; +$attribs['graphname']='fill="#FF0000" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="8"'; +$attribs['grid_txt']='fill="gray" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="6"'; +$attribs['grid']='stroke="gray" stroke-opacity="0.5"'; +$attribs['switch_unit']='fill="#FF0000" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="4" text-decoration="underline"'; +$attribs['switch_scale']='fill="#FF0000" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="4" text-decoration="underline"'; +$attribs['error']='fill="blue" font-family="Arial" font-size="4"'; +$attribs['collect_initial']='fill="gray" font-family="Tahoma, Verdana, Arial, Helvetica, sans-serif" font-size="4"'; + +//Error text if we cannot fetch data : depends on which method is used +$error_text = "Cannot get data about interface " . htmlspecialchars($ifnum); + +$height=100; //SVG internal height : do not modify +$width=200; //SVG internal width : do not modify + +$fetch_link = "ifstats.php?if=" . htmlspecialchars($ifnum); + +/* check for custom theme colors */ +if (file_exists("/usr/local/www/themes/{$g['theme']}/graph.php")) { + $themetxt = file_get_contents("/usr/local/www/themes/{$g['theme']}/graph.php"); + eval($themetxt); +} + +/********* Graph DATA **************/ +print('' . "\n");?> + + + + /> + /> + /> + /> + /> + text-anchor="end"> + text-anchor="end"> + text-anchor="end"> + > + > + > + > + text-anchor="end"> + > + > () + > + > + > + points=" "/> + text-anchor="middle"> + text-anchor="middle">... + + + -- cgit v1.1