diff options
Diffstat (limited to 'config/dspam/www/dspam-admin-graph.php')
-rw-r--r-- | config/dspam/www/dspam-admin-graph.php | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/config/dspam/www/dspam-admin-graph.php b/config/dspam/www/dspam-admin-graph.php deleted file mode 100644 index 508824e2..00000000 --- a/config/dspam/www/dspam-admin-graph.php +++ /dev/null @@ -1,201 +0,0 @@ -<?php -/* $Id$ */ -/* - dspam-admin-graph.php - - Copyright (C) 2006 Daniel S. Haischt. - All rights reserved. -*/ - -/* required because of system_groupmanager.php */ -$pgtitle = array(gettext("Services"), - gettext("DSPAM"), - gettext("System Status"), - gettext("Graph")); - -require_once 'Image/Graph.php'; -require_once 'Image/Canvas.php'; -require("guiconfig.inc"); -include("/usr/local/pkg/dspam.inc"); - -if (! $_GET || - strlen($_SERVER['QUERY_STRING']) == 0 || - ! isDSPAMAdmin($HTTP_SERVER_VARS['AUTH_USER'])) { - return; -} - -$FORM =& ReadParse($_SERVER['QUERY_STRING']); - -list($spam, $nonspam, $sm, $fp, $inoc, $wh, $period) = split('_', $FORM['data']); -$spam = split(',', $spam); -$nonspam = split(',', $nonspam); -$sm = split(',', $sm); -$fp = split(',', $fp); -$inoc = split(',', $inoc); -$wh = split(',', $wh); -$period = split(',', $period); - -// create a PNG canvas and enable antialiasing (canvas implementation) -$Canvas =& Image_Canvas::factory('png', array('width' => 725, - 'height' => 450, - 'antialias' => 'native')); - -// create the graph -$Graph =& Image_Graph::factory('graph', $Canvas); -// add a TrueType font -$Font =& $Graph->addNew('font', 'Verdana'); -// set the font size to 8 pixels -$Font->setSize(8); - -$Graph->setFont($Font); - -// setup the plotarea, legend and their layout -$Graph->add( - Image_Graph::vertical( - Image_Graph::factory('title', array('', 12)), - Image_Graph::horizontal( - $Plotarea = Image_Graph::factory('plotarea'), - $Legend = Image_Graph::factory('legend'), - 80 - ), - 0 - ) -); - -// add grids -$Grid =& $Plotarea->addNew('line_grid', IMAGE_GRAPH_AXIS_Y); -$Grid->setLineColor('silver'); - -// link the legend with the plotares -$Legend->setPlotarea($Plotarea); - -// create the two datasets -$i = 0; -$spamds =& Image_Graph::factory('dataset'); -foreach($spam as $el){ - $spamds->addPoint(strval($period[$i]), intval($el)); - $i++; -} - -$i = 0; -$hamds =& Image_Graph::factory('dataset'); -foreach($nonspam as $el){ - $hamds->addPoint(strval($period[$i]), intval($el)); - $i++; -} - -$i = 0; -$smds =& Image_Graph::factory('dataset'); -foreach($sm as $el){ - $smds->addPoint(strval($period[$i]), intval($el)); - $i++; -} - -$i = 0; -$fpds =& Image_Graph::factory('dataset'); -foreach($fp as $el){ - $fpds->addPoint(strval($period[$i]), intval($el)); - $i++; -} - -$i = 0; -$inocds =& Image_Graph::factory('dataset'); -foreach($inoc as $el){ - $inocds->addPoint(strval($period[$i]), intval($el)); - $i++; -} - -$i = 0; -$whds =& Image_Graph::factory('dataset'); -foreach($wh as $el){ - $whds->addPoint(strval($period[$i]), intval($el)); - $i++; -} - -// set the name/title of each dataset -$spamds->setName('SPAM'); -$hamds->setName('Nonspam'); -$smds->setName('Spam Misses'); -$fpds->setName('False Positives'); -$inocds->setName('Inoculations'); -$whds->setName('Auto-Whitelisted'); - -// put each dataset in a singel ds array -$Datasets = array($inocds, $whds, $spamds, $hamds, $smds, $fpds); - -// create the plot as line chart using the dataset -$Plot =& $Plotarea->addNew('Image_Graph_Plot_Bar', array($Datasets,'stacked')); - -// set a fill color -$FillArray =& Image_Graph::factory('Image_Graph_Fill_Array'); -$FillArray->addColor('#000000'); -$FillArray->addColor('#BF00BF'); -$FillArray->addColor('#BF0000'); -$FillArray->addColor('#00BF00'); -$FillArray->addColor('#BFBF00'); -$FillArray->addColor('#FF7F00'); - -// set a standard fill style -$Plot->setFillStyle($FillArray); - -/* set axis labels */ -$XAxis =& $Plotarea->getAxis(IMAGE_GRAPH_AXIS_X); -$XAxis->setTitle("{$FORM['x_label']}", array('size' => 8, 'angle' => 0)); -$XAxis->setFontAngle(60); -$XAxis->setLabelOptions(array('offset' => intval($FORM['offset']), - 'showtext' => true, - 'position' => 'outside'), 1); - - -$YAxis =& $Plotarea->getAxis(IMAGE_GRAPH_AXIS_Y); -$YAxis->setTitle('Number of Messages', array('size' => 8, 'angle' => 90)); - -// create a Y data value marker -$Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y); -$Marker->setFontSize(6); - -// and use the marker on the 1st plot -$Plot->setMarker($Marker); -$Plot->setDataSelector(Image_Graph::factory('Image_Graph_DataSelector_NoZeros')); - -// output the Graph -$Graph->done(); - -function &ReadParse($URI = "") { - if ($URI == "") { - return NULL; - } - - $pairs = preg_split('/&/', $URI); - $FORM = array(); - - foreach($pairs as $pair){ - list($name, $value) = preg_split('/\=/', $pair); - $pattern = '/%([a-fA-F0-9][a-fA-F0-9])/'; - - $name = preg_replace('/\+/', ' ', $name); - $name = preg_replace_callback( - $pattern, - create_function( - '$matches', - 'return pack("C", hexdec($matches[1]));' - ), - $name - ); - - $value = preg_replace('/\+/', ' ', $value); - $value = preg_replace_callback( - $pattern, - create_function( - '$matches', - 'return pack("C", hexdec($matches[1]));' - ), - $value - ); - - $FORM[$name] = $value; - } // end foreach - - return $FORM; -} -?> |