aboutsummaryrefslogtreecommitdiffstats
path: root/config/dspam/pear/Image/Graph
diff options
context:
space:
mode:
Diffstat (limited to 'config/dspam/pear/Image/Graph')
-rw-r--r--config/dspam/pear/Image/Graph/Axis.php1690
-rw-r--r--config/dspam/pear/Image/Graph/Axis/Category.php437
-rw-r--r--config/dspam/pear/Image/Graph/Axis/Logarithmic.php152
-rw-r--r--config/dspam/pear/Image/Graph/Axis/Marker/Area.php156
-rw-r--r--config/dspam/pear/Image/Graph/Axis/Marker/Line.php124
-rw-r--r--config/dspam/pear/Image/Graph/Axis/Radar.php204
-rw-r--r--config/dspam/pear/Image/Graph/Common.php313
-rw-r--r--config/dspam/pear/Image/Graph/Config.php30
-rw-r--r--config/dspam/pear/Image/Graph/Constants.php225
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor.php74
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/Array.php103
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/Currency.php66
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/Date.php90
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/Formatted.php90
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/Function.php92
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/NumberText.php89
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/RomanNumerals.php79
-rw-r--r--config/dspam/pear/Image/Graph/DataPreprocessor/Sequential.php67
-rw-r--r--config/dspam/pear/Image/Graph/DataSelector.php67
-rw-r--r--config/dspam/pear/Image/Graph/DataSelector/EveryNthPoint.php97
-rw-r--r--config/dspam/pear/Image/Graph/DataSelector/NoZeros.php68
-rw-r--r--config/dspam/pear/Image/Graph/DataSelector/Values.php90
-rw-r--r--config/dspam/pear/Image/Graph/Dataset.php483
-rw-r--r--config/dspam/pear/Image/Graph/Dataset/Function.php147
-rw-r--r--config/dspam/pear/Image/Graph/Dataset/Random.php77
-rw-r--r--config/dspam/pear/Image/Graph/Dataset/Sequential.php114
-rw-r--r--config/dspam/pear/Image/Graph/Dataset/Trivial.php260
-rw-r--r--config/dspam/pear/Image/Graph/Dataset/VectorFunction.php185
-rw-r--r--config/dspam/pear/Image/Graph/Element.php763
-rw-r--r--config/dspam/pear/Image/Graph/Figure/Circle.php64
-rw-r--r--config/dspam/pear/Image/Graph/Figure/Ellipse.php97
-rw-r--r--config/dspam/pear/Image/Graph/Figure/Polygon.php94
-rw-r--r--config/dspam/pear/Image/Graph/Figure/Rectangle.php96
-rw-r--r--config/dspam/pear/Image/Graph/Fill.php63
-rw-r--r--config/dspam/pear/Image/Graph/Fill/Array.php137
-rw-r--r--config/dspam/pear/Image/Graph/Fill/Gradient.php149
-rw-r--r--config/dspam/pear/Image/Graph/Fill/Image.php97
-rw-r--r--config/dspam/pear/Image/Graph/Font.php158
-rw-r--r--config/dspam/pear/Image/Graph/Grid.php175
-rw-r--r--config/dspam/pear/Image/Graph/Grid/Bars.php117
-rw-r--r--config/dspam/pear/Image/Graph/Grid/Lines.php114
-rw-r--r--config/dspam/pear/Image/Graph/Grid/Polar.php111
-rw-r--r--config/dspam/pear/Image/Graph/Images/Icons/pinpoint.pngbin452 -> 0 bytes
-rw-r--r--config/dspam/pear/Image/Graph/Images/Icons/pinpointr.pngbin437 -> 0 bytes
-rw-r--r--config/dspam/pear/Image/Graph/Images/Maps/README17
-rw-r--r--config/dspam/pear/Image/Graph/Layout.php219
-rw-r--r--config/dspam/pear/Image/Graph/Layout/Horizontal.php186
-rw-r--r--config/dspam/pear/Image/Graph/Layout/Matrix.php201
-rw-r--r--config/dspam/pear/Image/Graph/Layout/Vertical.php108
-rw-r--r--config/dspam/pear/Image/Graph/Legend.php385
-rw-r--r--config/dspam/pear/Image/Graph/Line/Array.php129
-rw-r--r--config/dspam/pear/Image/Graph/Line/Dashed.php76
-rw-r--r--config/dspam/pear/Image/Graph/Line/Dotted.php67
-rw-r--r--config/dspam/pear/Image/Graph/Line/Formatted.php90
-rw-r--r--config/dspam/pear/Image/Graph/Line/Solid.php105
-rw-r--r--config/dspam/pear/Image/Graph/Logo.php153
-rw-r--r--config/dspam/pear/Image/Graph/Marker.php123
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Array.php105
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Asterisk.php109
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Average.php91
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Box.php76
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Bubble.php91
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Circle.php96
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Cross.php114
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Diamond.php73
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Icon.php133
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Pinpoint.php65
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Plus.php98
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Pointing.php140
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Pointing/Angular.php105
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Pointing/Radial.php91
-rw-r--r--config/dspam/pear/Image/Graph/Marker/ReversePinpoint.php65
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Star.php88
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Triangle.php75
-rw-r--r--config/dspam/pear/Image/Graph/Marker/Value.php214
-rw-r--r--config/dspam/pear/Image/Graph/Plot.php824
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Area.php194
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Band.php205
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Bar.php307
-rw-r--r--config/dspam/pear/Image/Graph/Plot/BoxWhisker.php298
-rw-r--r--config/dspam/pear/Image/Graph/Plot/CandleStick.php251
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Dot.php99
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Fit/Line.php118
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Impulse.php204
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Line.php171
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Odo.php719
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Pie.php623
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Radar.php118
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Smoothed/Area.php145
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Smoothed/Bezier.php173
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Smoothed/Line.php172
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Smoothed/Radar.php142
-rw-r--r--config/dspam/pear/Image/Graph/Plot/Step.php200
-rw-r--r--config/dspam/pear/Image/Graph/Plotarea.php1145
-rw-r--r--config/dspam/pear/Image/Graph/Plotarea/Element.php87
-rw-r--r--config/dspam/pear/Image/Graph/Plotarea/Map.php304
-rw-r--r--config/dspam/pear/Image/Graph/Plotarea/Radar.php243
-rw-r--r--config/dspam/pear/Image/Graph/Simple.php121
-rw-r--r--config/dspam/pear/Image/Graph/Title.php194
-rw-r--r--config/dspam/pear/Image/Graph/Tool.php291
100 files changed, 0 insertions, 18940 deletions
diff --git a/config/dspam/pear/Image/Graph/Axis.php b/config/dspam/pear/Image/Graph/Axis.php
deleted file mode 100644
index 99da305f..00000000
--- a/config/dspam/pear/Image/Graph/Axis.php
+++ /dev/null
@@ -1,1690 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Class for axis handling.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plotarea/Element.php
- */
-require_once 'Image/Graph/Plotarea/Element.php';
-
-/**
- * Diplays a normal linear axis (either X- or Y-axis).
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
- class Image_Graph_Axis extends Image_Graph_Plotarea_Element
-{
-
- /**
- * The type of the axis, possible values are:
- * <ul>
- * <li>IMAGE_GRAPH_AXIS_X / IMAGE_GRAPH_AXIS_HORIZONTAL
- * <li>IMAGE_GRAPH_AXIS_Y / IMAGE_GRAPH_AXIS_VERTICAL /
- * IMAGE_GRAPH_AXIS_Y_SECONDARY
- * </ul>
- * @var int
- * @access private
- */
- var $_type;
-
- /**
- * The minimum value the axis displays
- * @var int
- * @access private
- */
- var $_minimum = false;
-
- /**
- * The minimum value the axis has been explicitly set by the user
- * @var bool
- * @access private
- */
- var $_minimumSet = false;
-
- /**
- * The maximum value the axis displays
- * @var int
- * @access private
- */
- var $_maximum = false;
-
- /**
- * The maximum value the axis has been explicitly set by the user
- * @var bool
- * @access private
- */
- var $_maximumSet = false;
-
- /**
- * The value span of the axis.
- * This is primarily included for performance reasons
- * @var double
- * @access private
- */
- var $_axisSpan = false;
-
- /**
- * The value span of the axis.
- * This is primarily included for performance reasons
- * @var double
- * @access private
- */
- var $_axisValueSpan = false;
-
- /**
- * The axis padding.
- * The index 'low' specifies the padding for the low axis values (when not
- * inverted), i.e. to the left on an x-axis and on the bottom of an y-axis,
- * vice versa for 'high'.
- *
- * Axis padding does not make sense on a normal linear y-axis with a 'y-min'
- * of 0 since this corresponds to displaying a small part of the y-axis
- * below 0!
- *
- * @var array
- * @access private
- */
- var $_axisPadding = array('low' => 0, 'high' => 0);
-
- /**
- * The number of "pixels" representing 1 unit on the axis
- *
- * This is primarily included for performance reasons
- * @var double
- * @access private
- */
- var $_delta = false;
-
- /**
- * Specify if the axis should label the minimum value
- * @var bool
- * @access private
- */
- var $_showLabelMinimum = true;
-
- /**
- * Specify if the axis should label 0 (zero)
- * @var bool
- * @access private
- */
- var $_showLabelZero = false;
-
- /**
- * Specify if the axis should label the maximum value
- * @var bool
- * @access private
- */
- var $_showLabelMaximum = true;
-
- /**
- * Show arrow heads at the 'end' of the axis, default: false
- * @var bool
- * @access private
- */
- var $_showArrow = false;
-
- /**
- * Intersection data of axis
- * @var array
- * @access private
- */
- var $_intersect = array('value' => 'default', 'axis' => 'default');
-
- /**
- * The fixed size of the axis (i.e. width for y-axis, height for x-axis)
- * @var mixed
- * @access private
- */
- var $_fixedSize = false;
-
- /**
- * The label options
- *
- * Should text be shows, preferences for ticks. The indexes start at level
- * 1, which is chosen for readability
- * @var array
- * @access private
- */
- var $_labelOptions = array(
- 1 => array(
- 'interval' => 1,
- 'type' => 'auto',
- 'tick' => array(
- 'start' => -2,
- 'end' => 2,
- 'color' => false // default color
- ),
- 'showtext' => true,
- 'showoffset' => false,
- 'font' => array(),
- 'offset' => 0,
- 'position' => 'outside',
- )
- );
-
- /**
- * The labels that are shown.
- *
- * This is used to make values show only once...
- * @access private
- */
- var $_labelText = array();
-
- /**
- * A data preprocessor for formatting labels, fx showing dates as a standard
- * date instead of Unix time stamp
- * @var Image_Graph_DatePreProcessor
- * @access private
- * @see Image_Graph_DataPreProcessor
- */
- var $_dataPreProcessor = null;
-
- /**
- * Point marked in the axis
- * @var array
- * @access private
- */
- var $_marks = array();
-
- /**
- * Specifies whether the values should be 'pushed' by 0.5
- * @var bool
- * @access private
- */
- var $_pushValues = false;
-
- /**
- * The title of this axis
- * @var string
- * @access private
- */
- var $_title = '';
-
- /**
- * The font used for the title of this axis
- * @var Image_Graph_Font
- * @access private
- */
- var $_titleFont = false;
-
- /**
- * Invert the axis (i.e. if an y-axis normally displays minimum values at
- * the bottom, they are not displayed at the top
- * @var bool
- * @access private
- * @since 0.3.0dev3
- */
- var $_invert = false;
-
- /**
- * Transpose the axis (i.e. is a normal y-axis transposed, so thats it's not show
- * vertically as normally expected, but instead horizontally)
- * @var bool
- * @access private
- */
- var $_transpose = false;
-
- /**
- * Image_Graph_Axis [Constructor].
- * Normally a manual creation should not be necessary, axis are created
- * automatically by the {@link Image_Graph_Plotarea} constructor unless
- * explicitly defined otherwise
- *
- * @param int $type The type (direction) of the Axis, use IMAGE_GRAPH_AXIS_X
- * for an X-axis (default, may be omitted) and IMAGE_GRAPH_AXIS_Y for Y-
- * axis)
- */
- function Image_Graph_Axis($type = IMAGE_GRAPH_AXIS_X)
- {
- parent::Image_Graph_Element();
- $this->_type = $type;
- $this->_fillStyle = 'black';
- }
-
- /**
- * Push the values by 0.5 (for bar and step chart)
- *
- * @access private
- */
- function _pushValues()
- {
- $this->_pushValues = true;
- }
-
- /**
- * Sets the axis padding for a given position ('low' or 'high')
- * @param string $where The position
- * @param int $value The number of pixels to "pad"
- * @access private
- */
- function _setAxisPadding($where, $value)
- {
- $this->_axisPadding[$where] = $value;
- }
-
- /**
- * Gets the font of the title.
- *
- * If not font has been set, the parent font is propagated through it's
- * children.
- *
- * @return array An associated array used for canvas
- * @access private
- */
- function _getTitleFont()
- {
- if ($this->_titleFont === false) {
- if ($this->_defaultFontOptions !== false) {
- return $this->_defaultFontOptions;
- } else {
- return $this->_getFont();
- }
- } else {
- if (is_object($this->_titleFont)) {
- return $this->_titleFont->_getFont();
- } elseif (is_array($this->_titleFont)) {
- return $this->_getFont($this->_titleFont);
- } elseif (is_int($this->_titleFont)) {
- return $this->_getFont(array('size' => $this->_titleFont));
- }
- }
- return array();
- }
-
- /**
- * Shows a label for the the specified values.
- *
- * Allowed values are combinations of:
- * <ul>
- * <li>IMAGE_GRAPH_LABEL_MINIMUM
- * <li>IMAGE_GRAPH_LABEL_ZERO
- * <li>IMAGE_GRAPH_LABEL_MAXIMUM
- * </ul>
- * By default none of these are shows on the axis
- *
- * @param int $value The values to show labels for
- */
- function showLabel($value)
- {
- $this->_showLabelMinimum = ($value & IMAGE_GRAPH_LABEL_MINIMUM);
- $this->_showLabelZero = ($value & IMAGE_GRAPH_LABEL_ZERO);
- $this->_showLabelMaximum = ($value & IMAGE_GRAPH_LABEL_MAXIMUM);
- }
-
- /**
- * Sets a data preprocessor for formatting the axis labels
- *
- * @param Image_Graph_DataPreprocessor $dataPreProcessor The data preprocessor
- * @see Image_Graph_DataPreprocessor
- */
- function setDataPreProcessor(& $dataPreProcessor)
- {
- $this->_dataPreProcessor =& $dataPreProcessor;
- }
-
- /**
- * Gets the minimum value the axis will show
- *
- * @return double The minumum value
- * @access private
- */
- function _getMinimum()
- {
- return $this->_minimum;
- }
-
- /**
- * Gets the maximum value the axis will show
- *
- * @return double The maximum value
- * @access private
- */
- function _getMaximum()
- {
- return $this->_maximum;
- }
-
- /**
- * Sets the minimum value the axis will show
- *
- * @param double $minimum The minumum value to use on the axis
- * @access private
- */
- function _setMinimum($minimum)
- {
- if ($this->_minimum === false) {
- $this->forceMinimum($minimum, false);
- } else {
- $this->forceMinimum(min($this->_minimum, $minimum), false);
- }
- }
-
- /**
- * Sets the maximum value the axis will show
- *
- * @param double $maximum The maximum value to use on the axis
- * @access private
- */
- function _setMaximum($maximum)
- {
- if ($this->_maximum === false) {
- $this->forceMaximum($maximum, false);
- } else {
- $this->forceMaximum(max($this->_maximum, $maximum), false);
- }
- }
-
- /**
- * Forces the minimum value of the axis
- *
- * @param double $minimum The minumum value to use on the axis
- * @param bool $userEnforce This value should not be set, used internally
- */
- function forceMinimum($minimum, $userEnforce = true)
- {
- if (($userEnforce) || (!$this->_minimumSet)) {
- $this->_minimum = $minimum;
- $this->_minimumSet = $userEnforce;
- }
- $this->_calcLabelInterval();
- }
-
- /**
- * Forces the maximum value of the axis
- *
- * @param double $maximum The maximum value to use on the axis
- * @param bool $userEnforce This value should not be set, used internally
- */
- function forceMaximum($maximum, $userEnforce = true)
- {
- if (($userEnforce) || (!$this->_maximumSet)) {
- $this->_maximum = $maximum;
- $this->_maximumSet = $userEnforce;
- }
- $this->_calcLabelInterval();
- }
-
- /**
- * Show an arrow head on the 'end' of the axis
- */
- function showArrow()
- {
- $this->_showArrow = true;
- }
-
- /**
- * Do not show an arrow head on the 'end' of the axis (default)
- */
- function hideArrow()
- {
- $this->_showArrow = false;
- }
-
- /**
- * Return the label distance.
- *
- * @param int $level The label level to return the distance of
- * @return int The distance between 2 adjacent labels
- * @access private
- */
- function _labelDistance($level = 1)
- {
- $l1 = $this->_getNextLabel(false, $level);
- $l2 = $this->_getNextLabel($l1, $level);;
- return abs($this->_point($l2) - $this->_point($l1));
- }
-
- /**
- * Sets an interval for when labels are shown on the axis.
- *
- * By default 'auto' is used, forcing the axis to calculate a approximate
- * best label interval to be used. Specify an array to use user-defined
- * values for labels.
- *
- * @param mixed $labelInterval The interval with which labels are shown
- * @param int $level The label level to set the interval on
- */
- function setLabelInterval($labelInterval = 'auto', $level = 1)
- {
- if (!isset($this->_labelOptions[$level])) {
- $this->_labelOptions[$level] = array();
- }
-
- if ($labelInterval === 'auto') {
- $this->_labelOptions[$level]['type'] = 'auto';
- $this->_calcLabelInterval();
- } else {
- $this->_labelOptions[$level]['type'] = 'manual';
- $this->_labelOptions[$level]['interval'] = $labelInterval;
- }
- }
-
- /**
- * Sets options for the label at a specific level.
- *
- * Possible options are:
- *
- * 'showtext' true or false whether label text should be shown or not
- *
- * 'showoffset' should the label be shown at an offset, i.e. should the
- * label be shown at a position so that it does not overlap with prior
- * levels. Only applies to multilevel labels with text
- *
- * 'font' The font options as an associated array
- *
- * 'position' The position at which the labels are written ('inside' or
- * 'outside' the axis). NB! This relative position only applies to the
- * default location of the axis, i.e. if an x-axis is inverted then
- * 'outside' still refers to the "left" side of a normal y-axis (since this
- * is normally 'outside') but the actual output will be labels on the
- * "inside"!
- *
- * 'format' To format the label text according to a sprintf statement
- *
- * 'dateformat' To format the label as a date, fx. j. M Y = 29. Jun 2005
- *
- * @param string $option The label option name (see detailed description
- * for possible values)
- * @param mixed $value The value for the option
- * @param int $level The label level to set the interval on
- */
- function setLabelOption($option, $value, $level = 1)
- {
- if (!isset($this->_labelOptions[$level])) {
- $this->_labelOptions[$level] = array('type' => 'auto');
- }
-
- $this->_labelOptions[$level][$option] = $value;
- }
-
- /**
- * Sets options for the label at a specific level.
- *
- * The possible options are specified in {@link Image_Graph_Axis::
- * setLabelOption()}.
- *
- * @param array $options An assciated array with label options
- * @param int $level The label level to set the interval on
- */
- function setLabelOptions($options, $level = 1)
- {
- if (is_array($options)) {
- if (isset($this->_labelOptions[$level])) {
- $this->_labelOptions[$level] = array_merge($this->_labelOptions[$level], $options);
- } else {
- $this->_labelOptions[$level] = $options;
- }
-
- }
- }
-
- /**
- * Sets the title of this axis.
- *
- * This is used as an alternative (maybe better) method, than using layout's
- * for axis-title generation.
- *
- * To use the current propagated font, but just set it vertically, simply
- * pass 'vertical' as second parameter for vertical alignment down-to-up or
- * 'vertical2' for up-to-down alignment.
- *
- * @param string $title The title of this axis
- * @param Image_Graph_Font $font The font used for the title
- * @since 0.3.0dev2
- */
- function setTitle($title, $font = false)
- {
- $this->_title = $title;
- if ($font === 'vertical') {
- $this->_titleFont = array('vertical' => true, 'angle' => 90);
- } elseif ($font === 'vertical2') {
- $this->_titleFont = array('vertical' => true, 'angle' => 270);
- } else {
- $this->_titleFont =& $font;
- }
- }
-
- /**
- * Sets a fixed "size" for the axis.
- *
- * If the axis is any type of y-axis the size relates to the width of the
- * axis, if an x-axis is concerned the size is the height.
- *
- * @param int $size The fixed size of the axis
- * @since 0.3.0dev5
- */
- function setFixedSize($size)
- {
- $this->_fixedSize = $size;
- }
-
- /**
- * Preprocessor for values, ie for using logarithmic axis
- *
- * @param double $value The value to preprocess
- * @return double The preprocessed value
- * @access private
- */
- function _value($value)
- {
- return $value - $this->_getMinimum() + ($this->_pushValues ? 0.5 : 0);
- }
-
- /**
- * Apply the dataset to the axis
- *
- * @param Image_Graph_Dataset $dataset The dataset
- * @access private
- */
- function _applyDataset(&$dataset)
- {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- $this->_setMinimum($dataset->minimumX());
- $this->_setMaximum($dataset->maximumX());
- } else {
- $this->_setMinimum($dataset->minimumY());
- $this->_setMaximum($dataset->maximumY());
- }
- }
-
- /**
- * Get the pixel position represented by a value on the canvas
- *
- * @param double $value the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _point($value)
- {
- if ((($this->_type == IMAGE_GRAPH_AXIS_X) && (!$this->_transpose)) ||
- (($this->_type != IMAGE_GRAPH_AXIS_X) && ($this->_transpose)))
- {
- if ($this->_invert) {
- return max($this->_left, $this->_right - $this->_axisPadding['high'] - $this->_delta * $this->_value($value));
- } else {
- return min($this->_right, $this->_left + $this->_axisPadding['low'] + $this->_delta * $this->_value($value));
- }
- } else {
- if ($this->_invert) {
- return min($this->_bottom, $this->_top + $this->_axisPadding['high'] + $this->_delta * $this->_value($value));
- } else {
- return max($this->_top, $this->_bottom - $this->_axisPadding['low'] - $this->_delta * $this->_value($value));
- }
- }
- }
-
-
- /**
- * Get the axis intersection pixel position
- *
- * This is only to be called prior to output! I.e. between the user
- * invokation of Image_Graph::done() and any actual output is performed.
- * This is because it can change the axis range.
- *
- * @param double $value the intersection value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _intersectPoint($value)
- {
-
- if (($value === 'min') || ($value < $this->_getMinimum())) {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- if ($this->_invert) {
- return ($this->_transpose ? $this->_top : $this->_right);
- } else {
- return ($this->_transpose ? $this->_bottom : $this->_left);
- }
- } else {
- if ($this->_invert) {
- return ($this->_transpose ? $this->_right : $this->_top);
- } else {
- return ($this->_transpose ? $this->_left : $this->_bottom);
- }
- }
- } elseif (($value === 'max') || ($value > $this->_getMaximum())) {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- if ($this->_invert) {
- return ($this->_transpose ? $this->_bottom : $this->_left);
- } else {
- return ($this->_transpose ? $this->_top : $this->_right);
- }
- } else {
- if ($this->_invert) {
- return ($this->_transpose ? $this->_left : $this->_bottom);
- } else {
- return ($this->_transpose ? $this->_right : $this->_top);
- }
- }
- }
-
- return $this->_point($value);
- }
-
- /**
- * Calculate the delta value (the number of pixels representing one unit
- * on the axis)
- *
- * @return double The label interval
- * @access private
- */
- function _calcDelta()
- {
- if ($this->_axisValueSpan == 0) {
- $this->_delta = false;
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_X) {
- $this->_delta = (($this->_transpose ? $this->height() : $this->width()) - ($this->_axisPadding['low'] + $this->_axisPadding['high'])) / ($this->_axisValueSpan + ($this->_pushValues ? 1 : 0));
- } else {
- $this->_delta = (($this->_transpose ? $this->width() : $this->height()) - ($this->_axisPadding['low'] + $this->_axisPadding['high'])) / ($this->_axisValueSpan + ($this->_pushValues ? 1 : 0));
- }
- }
-
- /**
- * Calculate the label interval
- *
- * If explicitly defined this will be calucated to an approximate best.
- *
- * @return double The label interval
- * @access private
- */
- function _calcLabelInterval()
- {
- $min = $this->_getMinimum();
- $max = $this->_getMaximum();
-
- $this->_axisValueSpan = $this->_axisSpan = abs($max - $min);
-
- if ((!empty($min)) && (!empty($max)) && ($min > $max)) {
- $this->_labelOptions[1]['interval'] = 1;
- return true;
- }
-
- $span = 0;
- foreach($this->_labelOptions as $level => $labelOptions) {
- if ((!isset($labelOptions['type'])) || ($labelOptions['type'] !== 'auto')) {
- $span = false;
- } elseif ($level == 1) {
- $span = $this->_axisValueSpan;
- } else {
- $l1 = $this->_getNextLabel(false, $level - 1);
- $l2 = $this->_getNextLabel($l1, $level - 1);
- if ((!is_numeric($l1)) || (!is_numeric($l2))) {
- $span == false;
- } else {
- $span = $l2 - $l1;
- }
- }
-
- if ($span !== false) {
- $interval = pow(10, floor(log10($span)));
-
- if ($interval == 0) {
- $interval = 1;
- }
-
- if ((($span) / $interval) < 3) {
- $interval = $interval / 4;
- } elseif ((($span) / $interval) < 5) {
- $interval = $interval / 2;
- } elseif ((($span) / $interval) > 10) {
- $interval = $interval * 2;
- }
-
- if (($interval -floor($interval) == 0.5) && ($interval != 0.5)) {
- $interval = floor($interval);
- }
-
- // just to be 100% sure that an interval of 0 is not returned some
- // additional checks are performed
- if ($interval == 0) {
- $interval = ($span) / 5;
- }
-
- if ($interval == 0) {
- $interval = 1;
- }
-
- $this->_labelOptions[$level]['interval'] = $interval;
- }
- }
- }
-
- /**
- * Get next label point
- *
- * @param doubt $currentLabel The current label, if omitted or false, the
- * first is returned
- * @param int $level The label level to get the next label from
- * @return double The next label point
- * @access private
- */
- function _getNextLabel($currentLabel = false, $level = 1)
- {
- if (!isset($this->_labelOptions[$level])) {
- return false;
- }
-
- if (is_array($this->_labelOptions[$level]['interval'])) {
- if ($currentLabel === false) {
- reset($this->_labelOptions[$level]['interval']);
- }
-
- if (list(, $label) = each($this->_labelOptions[$level]['interval'])) {
- return $label;
- } else {
- return false;
- }
- } else {
- $li = $this->_labelInterval($level);
- if (($this->_axisSpan == 0) || ($this->_axisValueSpan == 0) ||
- ($li == 0)
- ) {
- return false;
- }
-
- $labelInterval = $this->_axisSpan / ($this->_axisValueSpan / $li);
-
- if ($labelInterval == 0) {
- return false;
- }
-
- if ($currentLabel === false) {
- $label = ((int) ($this->_getMinimum() / $labelInterval)) *
- $labelInterval - $labelInterval;
- while ($label < $this->_getMinimum()) {
- $label += $labelInterval;
- }
- return $label;
- } else {
- if ($currentLabel + $labelInterval > $this->_getMaximum()) {
- return false;
- } else {
- return $currentLabel + $labelInterval;
- }
- }
- }
- }
-
- /**
- * Get the interval with which labels are shown on the axis.
- *
- * If explicitly defined this will be calucated to an approximate best.
- *
- * @param int $level The label level to get the label interval for
- * @return double The label interval
- * @access private
- */
- function _labelInterval($level = 1)
- {
- if ((!isset($this->_labelOptions[$level])) ||
- (!isset($this->_labelOptions[$level]['interval']))
- ) {
- return 1;
- }
-
- return (is_array($this->_labelOptions[$level]['interval'])
- ? 1
- : $this->_labelOptions[$level]['interval']
- );
- }
-
- /**
- * Get the size in pixels of the axis.
- *
- * For an x-axis this is the width of the axis including labels, and for an
- * y-axis it is the corrresponding height
- *
- * @return int The size of the axis
- * @access private
- */
- function _size()
- {
- if (!$this->_visible) {
- return 0;
- }
-
- if ($this->_fixedSize !== false) {
- return $this->_fixedSize;
- }
-
- krsort($this->_labelOptions);
-
- $totalMaxSize = 0;
-
- foreach ($this->_labelOptions as $level => $labelOptions) {
- if ((isset($labelOptions['showoffset'])) && ($labelOptions['showoffset'] === true)) {
- $this->_labelOptions[$level]['offset'] += $totalMaxSize;
- } elseif (!isset($this->_labelOptions[$level]['offset'])) {
- $this->_labelOptions[$level]['offset'] = 0;
- }
- if (
- (isset($labelOptions['showtext'])) &&
- ($labelOptions['showtext'] === true) &&
- (
- (!isset($labelOptions['position'])) ||
- ($labelOptions['position'] == 'outside')
- )
- ) {
- if (isset($labelOptions['font'])) {
- $font = $this->_getFont($labelOptions['font']);
- } else {
- if ($this->_defaultFontOptions !== false) {
- $font = $this->_defaultFontOptions;
- } else {
- $font = $this->_getFont();
- }
- }
- $this->_canvas->setFont($font);
-
- $value = false;
- $maxSize = 0;
- while (($value = $this->_getNextLabel($value, $level)) !== false) {
- if ((abs($value) > 0.0001) && ($value > $this->_getMinimum()) &&
- ($value < $this->_getMaximum()))
- {
- if (is_object($this->_dataPreProcessor)) {
- $labelText = $this->_dataPreProcessor->_process($value);
- } elseif (isset($labelOptions['format'])) {
- $labelText = sprintf($labelOptions['format'], $value);
- } elseif (isset($labelOptions['dateformat'])) {
- $labelText = date($labelOptions['dateformat'], $value);
- } else {
- $labelText = $value;
- }
-
- if ((($this->_type == IMAGE_GRAPH_AXIS_X) && (!$this->_transpose)) ||
- (($this->_type != IMAGE_GRAPH_AXIS_X) && ($this->_transpose)))
- {
- $maxSize = max($maxSize, $this->_canvas->textHeight($labelText));
- } else {
- $maxSize = max($maxSize, $this->_canvas->textWidth($labelText));
- }
- }
- }
- if ((isset($labelOptions['showoffset'])) && ($labelOptions['showoffset'] === true)) {
- $totalMaxSize += $maxSize;
- } else {
- $totalMaxSize = max($totalMaxSize, $maxSize);
- }
- }
- }
-
- if ($this->_title) {
- $this->_canvas->setFont($this->_getTitleFont());
-
- if ((($this->_type == IMAGE_GRAPH_AXIS_X) && (!$this->_transpose)) ||
- (($this->_type != IMAGE_GRAPH_AXIS_X) && ($this->_transpose)))
- {
- $totalMaxSize += $this->_canvas->textHeight($this->_title);
- } else {
- $totalMaxSize += $this->_canvas->textWidth($this->_title);
- }
- $totalMaxSize += 10;
- }
-
- return $totalMaxSize + 3;
- }
-
- /**
- * Adds a mark to the axis at the specified value
- *
- * @param double $value The value
- * @param double $value2 The second value (for a ranged mark)
- */
- function addMark($value, $value2 = false, $text = false)
- {
- if ($value2 === false) {
- $this->_marks[] = $value;
- } else {
- $this->_marks[] = array($value, $value2);
- }
- }
-
- /**
- * Is the axis numeric or not?
- *
- * @return bool True if numeric, false if not
- * @access private
- */
- function _isNumeric()
- {
- return true;
- }
-
- /**
- * Set the major tick appearance.
- *
- * The positions are specified in pixels relative to the axis, meaning that
- * a value of -1 for start will draw the major tick 'line' starting at 1
- * pixel outside (negative) value the axis (i.e. below an x-axis and to the
- * left of a normal y-axis).
- *
- * @param int $start The start position relative to the axis
- * @param int $end The end position relative to the axis
- * @param int $level The label level to set the tick options for
- * @since 0.3.0dev2
- */
- function setTickOptions($start, $end, $level = 1)
- {
- if (!isset($this->_labelOptions[$level])) {
- $this->_labelOptions[$level] = array();
- }
-
- $this->_labelOptions[$level]['tick'] = array(
- 'start' => $start,
- 'end' => $end
- );
- }
-
- /**
- * Invert the axis direction
- *
- * If the minimum values are normally displayed fx. at the bottom setting
- * axis inversion to true, will cause the minimum values to be displayed at
- * the top and maximum at the bottom.
- *
- * @param bool $invert True if the axis is to be inverted, false if not
- * @since 0.3.0dev3
- */
- function setInverted($invert)
- {
- $this->_invert = $invert;
- }
-
- /**
- * Set axis intersection.
- *
- * Sets the value at which the axis intersects other axis, fx. at which Y-
- * value the x-axis intersects the y-axis (normally at 0).
- *
- * Possible values are 'default', 'min', 'max' or a number between axis min
- * and max (the value will automatically be limited to this range).
- *
- * For a coordinate system with 2 y-axis, the x-axis can either intersect
- * the primary or the secondary y-axis. To make the x-axis intersect the
- * secondary y-axis at a given value pass IMAGE_GRAPH_AXIS_Y_SECONDARY as
- * second parameter.
- *
- * @param mixed $intersection The value at which the axis intersect the
- * 'other' axis
- * @param mixed $axis The axis to intersect. Only applies to x-axis with
- * both a primary and secondary y-axis available.
- * @since 0.3.0dev2
- */
- function setAxisIntersection($intersection, $axis = 'default')
- {
- if ($axis == 'x') {
- $axis = IMAGE_GRAPH_AXIS_X;
- } elseif ($axis == 'y') {
- $axis = IMAGE_GRAPH_AXIS_Y;
- } elseif ($axis == 'ysec') {
- $axis = IMAGE_GRAPH_AXIS_Y_SECONDARY;
- }
- $this->_intersect = array(
- 'value' => $intersection,
- 'axis' => $axis
- );
- }
-
- /**
- * Get axis intersection data.
- *
- * @return array An array with the axis intersection data.
- * @since 0.3.0dev2
- * @access private
- */
- function _getAxisIntersection()
- {
- $value = $this->_intersect['value'];
- $axis = $this->_intersect['axis'];
- if (($this->_type == IMAGE_GRAPH_AXIS_Y)
- || ($this->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY)
- ) {
- $axis = IMAGE_GRAPH_AXIS_X;
- } elseif ($axis == 'default') {
- $axis = IMAGE_GRAPH_AXIS_Y;
- }
-
- if ($value === 'default') {
- switch ($this->_type) {
- case IMAGE_GRAPH_AXIS_Y:
- $value = 'min';
- break;
- case IMAGE_GRAPH_AXIS_Y_SECONDARY:
- $value = 'max';
- break;
- case IMAGE_GRAPH_AXIS_X:
- $value = 0;
- break;
- }
- }
-
- return array('value' => $value, 'axis' => $axis);
- }
-
- /**
- * Resets the elements
- *
- * @access private
- */
- function _reset()
- {
- parent::_reset();
- $this->_labelText = array();
- }
-
- /**
- * Output an axis tick mark.
- *
- * @param int $value The value to output
- * @param int $level The label level to draw the tick for
- * @access private
- */
- function _drawTick($value, $level = 1)
- {
- if (isset($this->_labelOptions[$level])) {
- $labelOptions = $this->_labelOptions[$level];
- $labelPosition = $this->_point($value);
-
- if (isset($labelOptions['offset'])) {
- $offset = $labelOptions['offset'];
- } else {
- $offset = 0;
- }
-
- if ((isset($labelOptions['showtext'])) && ($labelOptions['showtext'] === true)) {
- if (is_object($this->_dataPreProcessor)) {
- $labelText = $this->_dataPreProcessor->_process($value);
- } elseif (isset($labelOptions['format'])) {
- $labelText = sprintf($labelOptions['format'], $value);
- } elseif (isset($labelOptions['dateformat'])) {
- $labelText = date($labelOptions['dateformat'], $value);
- } else {
- $labelText = $value;
- }
-
- if (!in_array($labelText, $this->_labelText)) {
- $this->_labelText[] = $labelText;
-
- if (isset($labelOptions['font'])) {
- $font = $this->_getFont($labelOptions['font']);
- } else {
- if ($this->_defaultFontOptions !== false) {
- $font = $this->_defaultFontOptions;
- } else {
- $font = $this->_getFont();
- }
- }
- $this->_canvas->setFont($font);
-
- if (
- (isset($labelOptions['position'])) &&
- ($labelOptions['position'] == 'inside')
- ) {
- $labelInside = true;
- } else {
- $labelInside = false;
- }
-
- if ($this->_type == IMAGE_GRAPH_AXIS_Y) {
- if ($this->_transpose) {
- if ($labelInside) {
- $this->write(
- $labelPosition,
- $this->_top - 3 - $offset,
- $labelText,
- IMAGE_GRAPH_ALIGN_BOTTOM | IMAGE_GRAPH_ALIGN_CENTER_X,
- $font
- );
- } else {
- $this->write(
- $labelPosition,
- $this->_top + 6 + $offset + $font['size'] * (substr_count($labelText, "\n") + 1),
- $labelText,
- IMAGE_GRAPH_ALIGN_BOTTOM | IMAGE_GRAPH_ALIGN_CENTER_X,
- $font
- );
- }
- }
- else {
- if ($labelInside) {
- $this->write(
- $this->_right + 3 + $offset,
- $labelPosition,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT,
- $font
- );
- } else {
- $this->write(
- $this->_right - 3 - $offset,
- $labelPosition,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_RIGHT,
- $font
- );
- }
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY) {
- if ($this->_transpose) {
- if ($labelInside) {
- $this->write(
- $labelPosition,
- $this->_bottom + 6 + $offset + $font['size'] * (substr_count($labelText, "\n") + 1),
- $labelText,
- IMAGE_GRAPH_ALIGN_BOTTOM | IMAGE_GRAPH_ALIGN_CENTER_X,
- $font
- );
- } else {
- $this->write(
- $labelPosition,
- $this->_bottom - 3 - $offset,
- $labelText,
- IMAGE_GRAPH_ALIGN_BOTTOM | IMAGE_GRAPH_ALIGN_CENTER_X,
- $font
- );
- }
- }
- else {
- if ($labelInside) {
- $this->write(
- $this->_left - 3 - $offset,
- $labelPosition,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_RIGHT,
- $font
- );
- } else {
- $this->write(
- $this->_left + 3 + $offset,
- $labelPosition,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT,
- $font
- );
- }
- }
- } else {
- if ($this->_transpose) {
- if ($labelInside) {
- $this->write(
- $this->_right + 3 + $offset,
- $labelPosition,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT,
- $font
- );
- } else {
- $this->write(
- $this->_right - 3 - $offset,
- $labelPosition,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_RIGHT,
- $font
- );
- }
- }
- else {
- if ($labelInside === true) {
- $this->write(
- $labelPosition,
- $this->_top - 3 - $offset,
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_X | IMAGE_GRAPH_ALIGN_BOTTOM,
- $font
- );
- } else {
- $this->write(
- $labelPosition,
- $this->_top + 6 + $offset + $font['size'] * (substr_count($labelText, "\n") + 1),
- $labelText,
- IMAGE_GRAPH_ALIGN_CENTER_X | IMAGE_GRAPH_ALIGN_BOTTOM,
- $font
- );
- }
- }
- }
- }
- }
-
- $tickColor = false;
- if (isset($this->_labelOptions[$level]['tick'])) {
- if (isset($this->_labelOptions[$level]['tick']['start'])) {
- $tickStart = $this->_labelOptions[$level]['tick']['start'];
- } else {
- $tickStart = false;
- }
-
- if (isset($this->_labelOptions[$level]['tick']['end'])) {
- $tickEnd = $this->_labelOptions[$level]['tick']['end'];
- } else {
- $tickEnd = false;
- }
-
- if ((isset($this->_labelOptions[$level]['tick']['color'])) && ($this->_labelOptions[$level]['tick']['color'] !== false)) {
- $tickColor = $this->_labelOptions[$level]['tick']['color'];
- }
- }
-
- if ($tickStart === false) {
- $tickStart = -2;
- }
-
- if ($tickEnd === false) {
- $tickEnd = 2;
- }
-
- if ($tickColor !== false) {
- $this->_canvas->setLineColor($tickColor);
- }
- else {
- $this->_getLineStyle();
- }
-
- if ($this->_type == IMAGE_GRAPH_AXIS_Y) {
- if ($tickStart === 'auto') {
- $tickStart = -$offset;
- }
- if ($this->_transpose) {
- $this->_canvas->line(
- array(
- 'x0' => $labelPosition,
- 'y0' => $this->_top + $tickStart,
- 'x1' => $labelPosition,
- 'y1' => $this->_top + $tickEnd
- )
- );
- }
- else {
- $this->_canvas->line(
- array(
- 'x0' => $this->_right + $tickStart,
- 'y0' => $labelPosition,
- 'x1' => $this->_right + $tickEnd,
- 'y1' => $labelPosition
- )
- );
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY) {
- if ($tickStart === 'auto') {
- $tickStart = $offset;
- }
- if ($this->_transpose) {
- $this->_canvas->line(
- array(
- 'x0' => $labelPosition,
- 'y0' => $this->_bottom - $tickStart,
- 'x1' => $labelPosition,
- 'y1' => $this->_bottom - $tickEnd
- )
- );
- }
- else {
- $this->_canvas->line(
- array(
- 'x0' => $this->_left - $tickStart,
- 'y0' => $labelPosition,
- 'x1' => $this->_left - $tickEnd,
- 'y1' => $labelPosition
- )
- );
- }
- } else {
- if ($tickStart === 'auto') {
- $tickStart = $offset;
- }
- if ($this->_transpose) {
- $this->_canvas->line(
- array(
- 'x0' => $this->_right + $tickStart,
- 'y0' => $labelPosition,
- 'x1' => $this->_right + $tickEnd,
- 'y1' => $labelPosition
- )
- );
- }
- else {
- $this->_canvas->line(
- array(
- 'x0' => $labelPosition,
- 'y0' => $this->_top - $tickStart,
- 'x1' => $labelPosition,
- 'y1' => $this->_top - $tickEnd
- )
- );
- }
- }
- }
- }
-
- /**
- * Draws axis lines.
- *
- * @access private
- */
- function _drawAxisLines()
- {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- $this->_getLineStyle();
- $this->_getFillStyle();
-
- if ($this->_transpose) {
- $data = array(
- 'x0' => $this->_right,
- 'y0' => $this->_top,
- 'x1' => $this->_right,
- 'y1' => $this->_bottom
- );
- } else {
- $data = array(
- 'x0' => $this->_left,
- 'y0' => $this->_top,
- 'x1' => $this->_right,
- 'y1' => $this->_top
- );
- }
-
- if ($this->_showArrow) {
- if ($this->_getMaximum() <= 0) {
- $data['end0'] = 'arrow2';
- $data['size0'] = 7;
- }
- else {
- $data['end1'] = 'arrow2';
- $data['size1'] = 7;
- }
- }
-
- $this->_canvas->line($data);
-
- if ($this->_title) {
- if (!$this->_transpose) {
- $y = $this->_bottom;
- $x = $this->_left + $this->width() / 2;
- $this->write($x, $y, $this->_title, IMAGE_GRAPH_ALIGN_CENTER_X + IMAGE_GRAPH_ALIGN_BOTTOM, $this->_getTitleFont());
- }
- else {
- $y = $this->_top + $this->height() / 2;
- $x = $this->_left;
- $this->write($x, $y, $this->_title, IMAGE_GRAPH_ALIGN_LEFT + IMAGE_GRAPH_ALIGN_CENTER_Y, $this->_getTitleFont());
- }
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY) {
- $this->_getLineStyle();
- $this->_getFillStyle();
-
- if ($this->_transpose) {
- $data = array(
- 'x0' => $this->_left,
- 'y0' => $this->_bottom,
- 'x1' => $this->_right,
- 'y1' => $this->_bottom
- );
- } else {
- $data = array(
- 'x0' => $this->_left,
- 'y0' => $this->_bottom,
- 'x1' => $this->_left,
- 'y1' => $this->_top
- );
- }
- if ($this->_showArrow) {
- if ($this->_getMaximum() <= 0) {
- $data['end0'] = 'arrow2';
- $data['size0'] = 7;
- }
- else {
- $data['end1'] = 'arrow2';
- $data['size1'] = 7;
- }
- }
- $this->_canvas->line($data);
-
- if ($this->_title) {
- if ($this->_transpose) {
- $y = $this->_top;
- $x = $this->_left + $this->width() / 2;
- $this->write($x, $y, $this->_title, IMAGE_GRAPH_ALIGN_CENTER_X + IMAGE_GRAPH_ALIGN_TOP, $this->_getTitleFont());
- }
- else {
- $y = $this->_top + $this->height() / 2;
- $x = $this->_right;
- $this->write($x, $y, $this->_title, IMAGE_GRAPH_ALIGN_RIGHT + IMAGE_GRAPH_ALIGN_CENTER_Y, $this->_getTitleFont());
- }
- }
- } else {
- $this->_getLineStyle();
- $this->_getFillStyle();
-
- if ($this->_transpose) {
- $data = array(
- 'x0' => $this->_left,
- 'y0' => $this->_top,
- 'x1' => $this->_right,
- 'y1' => $this->_top
- );
- } else {
- $data = array(
- 'x0' => $this->_right,
- 'y0' => $this->_bottom,
- 'x1' => $this->_right,
- 'y1' => $this->_top
- );
- }
- if ($this->_showArrow) {
- if ($this->_getMaximum() <= 0) {
- $data['end0'] = 'arrow2';
- $data['size0'] = 7;
- }
- else {
- $data['end1'] = 'arrow2';
- $data['size1'] = 7;
- }
- }
- $this->_canvas->line($data);
-
- if ($this->_title) {
- if ($this->_transpose) {
- $y = $this->_bottom;
- $x = $this->_left + $this->width() / 2;
- $this->write($x, $y, $this->_title, IMAGE_GRAPH_ALIGN_CENTER_X + IMAGE_GRAPH_ALIGN_BOTTOM, $this->_getTitleFont());
- }
- else {
- $y = $this->_top + $this->height() / 2;
- $x = $this->_left;
- $this->write($x, $y, $this->_title, IMAGE_GRAPH_ALIGN_LEFT + IMAGE_GRAPH_ALIGN_CENTER_Y, $this->_getTitleFont());
- }
- }
- }
- }
-
- /**
- * Causes the object to update all sub elements coordinates
- *
- * (Image_Graph_Common, does not itself have coordinates, this is basically
- * an abstract method)
- *
- * @access private
- */
- function _updateCoords()
- {
- parent::_updateCoords();
- $this->_calcDelta();
- }
-
- /**
- * Output the axis
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- $this->_canvas->startGroup(get_class($this));
-
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_drawAxisLines();
-
- $this->_canvas->startGroup(get_class($this) . '_ticks');
- ksort($this->_labelOptions);
- foreach ($this->_labelOptions as $level => $labelOption) {
- $value = false;
- while (($value = $this->_getNextLabel($value, $level)) !== false) {
- if ((((abs($value) > 0.0001) || ($this->_showLabelZero)) &&
- (($value > $this->_getMinimum()) || ($this->_showLabelMinimum)) &&
- (($value < $this->_getMaximum()) || ($this->_showLabelMaximum))) &&
- ($value >= $this->_getMinimum()) && ($value <= $this->_getMaximum())
- ) {
- $this->_drawTick($value, $level);
- }
- }
- }
- $this->_canvas->endGroup();
-
- $tickStart = -3;
- $tickEnd = 2;
-
- foreach ($this->_marks as $mark) {
- if (is_array($mark)) {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- if ($this->_transpose) {
- $x0 = $this->_right + $tickStart;
- $y0 = $this->_point($mark[1]);
- $x1 = $this->_right + $tickEnd;
- $y1 = $this->_point($mark[0]);
- }
- else {
- $x0 = $this->_point($mark[0]);
- $y0 = $this->_top + $tickStart;
- $x1 = $this->_point($mark[1]);
- $y1 = $this->_top + $tickEnd;
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y) {
- if ($this->_transpose) {
- $x0 = $this->_point($mark[0]);
- $y0 = $this->_top + $tickStart;
- $x1 = $this->_point($mark[1]);
- $y1 = $this->_top + $tickEnd;
- }
- else {
- $x0 = $this->_right + $tickStart;
- $y0 = $this->_point($mark[1]);
- $x1 = $this->_right + $tickEnd;
- $y1 = $this->_point($mark[0]);
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY) {
- if ($this->_transpose) {
- $x0 = $this->_point($mark[0]);
- $y0 = $this->_bottom + $tickStart;
- $x1 = $this->_point($mark[1]);
- $y1 = $this->_bottom + $tickEnd;
- }
- else {
- $x0 = $this->_left + $tickStart;
- $y0 = $this->_point($mark[1]);
- $x1 = $this->_left + $tickEnd;
- $y1 = $this->_point($mark[0]);
- }
- }
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->rectangle(array('x0' => $x0, 'y0' => $y0, 'x1' => $x1, 'y1' => $y1));
- } else {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- if ($this->_transpose) {
- $x0 = $this->_right + 5;
- $y0 = $this->_point($mark);
- $x1 = $this->_right + 15;
- $y1 = $y0;
- }
- else {
- $x0 = $this->_point($mark);
- $y0 = $this->_top - 5;
- $x1 = $x0;
- $y1 = $this->_top - 15;
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y) {
- if ($this->_transpose) {
- $x0 = $this->_point($mark);
- $y0 = $this->_top - 5;
- $x1 = $x0;
- $y1 = $this->_top - 15;
- }
- else {
- $x0 = $this->_right + 5;
- $y0 = $this->_point($mark);
- $x1 = $this->_right + 15;
- $y1 = $y0;
- }
- } elseif ($this->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY) {
- if ($this->_transpose) {
- $x0 = $this->_point($mark);
- $y0 = $this->_bottom + 5;
- $x1 = $x0;
- $y1 = $this->_bottom + 15;
- }
- else {
- $x0 = $this->_left - 5;
- $y0 = $this->_point($mark);
- $x1 = $this->_left - 15;
- $y1 = $y0;
- }
- }
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x0,
- 'y0' => $y0,
- 'x1' => $x1,
- 'y1' => $y1,
- 'end0' => 'arrow2',
- 'size0' => 5
- )
- );
- }
- }
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Axis/Category.php b/config/dspam/pear/Image/Graph/Axis/Category.php
deleted file mode 100644
index b6451496..00000000
--- a/config/dspam/pear/Image/Graph/Axis/Category.php
+++ /dev/null
@@ -1,437 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Class for axis handling.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Axis.php
- */
-require_once 'Image/Graph/Axis.php';
-
-/**
- * A normal axis thats displays labels with a 'interval' of 1.
- * This is basically a normal axis where the range is
- * the number of labels defined, that is the range is explicitly defined
- * when constructing the axis.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Axis_Category extends Image_Graph_Axis
-{
-
- /**
- * The labels shown on the axis
- * @var array
- * @access private
- */
- var $_labels = false;
-
- /**
- * Image_Graph_Axis_Category [Constructor].
- *
- * @param int $type The type (direction) of the Axis
- */
- function Image_Graph_Axis_Category($type = IMAGE_GRAPH_AXIS_X)
- {
- parent::Image_Graph_Axis($type);
- $this->_labels = array();
- $this->setlabelInterval(1);
- }
-
- /**
- * Gets the minimum value the axis will show.
- *
- * This is always 0
- *
- * @return double The minumum value
- * @access private
- */
- function _getMinimum()
- {
- return 0;
- }
-
- /**
- * Gets the maximum value the axis will show.
- *
- * This is always the number of labels passed to the constructor.
- *
- * @return double The maximum value
- * @access private
- */
- function _getMaximum()
- {
- return count($this->_labels) - 1;
- }
-
- /**
- * Sets the minimum value the axis will show.
- *
- * A minimum cannot be set on a SequentialAxis, it is always 0.
- *
- * @param double Minimum The minumum value to use on the axis
- * @access private
- */
- function _setMinimum($minimum)
- {
- }
-
- /**
- * Sets the maximum value the axis will show
- *
- * A maximum cannot be set on a SequentialAxis, it is always the number
- * of labels passed to the constructor.
- *
- * @param double Maximum The maximum value to use on the axis
- * @access private
- */
- function _setMaximum($maximum)
- {
- }
-
- /**
- * Forces the minimum value of the axis
- *
- * <b>A minimum cannot be set on this type of axis</b>
- *
- * To modify the labels which are displayed on the axis, instead use
- * setLabelInterval($labels) where $labels is an array containing the
- * values/labels the axis should display. <b>Note!</b> Only values in
- * this array will then be displayed on the graph!
- *
- * @param double $minimum A minimum cannot be set on this type of axis
- */
- function forceMinimum($minimum, $userEnforce = true)
- {
- }
-
- /**
- * Forces the maximum value of the axis
- *
- * <b>A maximum cannot be set on this type of axis</b>
- *
- * To modify the labels which are displayed on the axis, instead use
- * setLabelInterval($labels) where $labels is an array containing the
- * values/labels the axis should display. <b>Note!</b> Only values in
- * this array will then be displayed on the graph!
- *
- * @param double $maximum A maximum cannot be set on this type of axis
- */
- function forceMaximum($maximum, $userEnforce = true)
- {
- }
-
- /**
- * Sets an interval for where labels are shown on the axis.
- *
- * The label interval is rounded to nearest integer value.
- *
- * @param double $labelInterval The interval with which labels are shown
- */
- function setLabelInterval($labelInterval = 'auto', $level = 1)
- {
- if (is_array($labelInterval)) {
- parent::setLabelInterval($labelInterval);
- } elseif ($labelInterval == 'auto') {
- parent::setLabelInterval(1);
- } else {
- parent::setLabelInterval(round($labelInterval));
- }
- }
-
- /**
- * Preprocessor for values, ie for using logarithmic axis
- *
- * @param double $value The value to preprocess
- * @return double The preprocessed value
- * @access private
- */
- function _value($value)
- {
-// $the_value = array_search($value, $this->_labels);
- if (isset($this->_labels[$value])) {
- $the_value = $this->_labels[$value];
- if ($the_value !== false) {
- return $the_value + ($this->_pushValues ? 0.5 : 0);
- } else {
- return 0;
- }
- }
- }
-
-
- /**
- * Get the minor label interval with which axis label ticks are drawn.
- *
- * For a sequential axis this is always disabled (i.e false)
- *
- * @return double The minor label interval, always false
- * @access private
- */
- function _minorLabelInterval()
- {
- return false;
- }
-
- /**
- * Get the size in pixels of the axis.
- *
- * For an x-axis this is the width of the axis including labels, and for an
- * y-axis it is the corrresponding height
- *
- * @return int The size of the axis
- * @access private
- */
- function _size()
- {
- if (!$this->_visible) {
- return 0;
- }
-
- $this->_canvas->setFont($this->_getFont());
-
- $maxSize = 0;
- foreach($this->_labels as $label => $id) {
- $labelPosition = $this->_point($label);
-
- if (is_object($this->_dataPreProcessor)) {
- $labelText = $this->_dataPreProcessor->_process($label);
- } else {
- $labelText = $label;
- }
-
- if ((($this->_type == IMAGE_GRAPH_AXIS_X) && (!$this->_transpose)) ||
- (($this->_type != IMAGE_GRAPH_AXIS_X) && ($this->_transpose)))
- {
- $maxSize = max($maxSize, $this->_canvas->textHeight($labelText));
- } else {
- $maxSize = max($maxSize, $this->_canvas->textWidth($labelText));
- }
- }
-
- if ($this->_title) {
- $this->_canvas->setFont($this->_getTitleFont());
-
- if ((($this->_type == IMAGE_GRAPH_AXIS_X) && (!$this->_transpose)) ||
- (($this->_type != IMAGE_GRAPH_AXIS_X) && ($this->_transpose)))
- {
- $maxSize += $this->_canvas->textHeight($this->_title);
- } else {
- $maxSize += $this->_canvas->textWidth($this->_title);
- }
- $maxSize += 10;
- }
- return $maxSize +3;
- }
-
- /**
- * Apply the dataset to the axis.
- *
- * This calculates the order of the categories, which is very important
- * for fx. line plots, so that the line does not "go backwards", consider
- * these X-sets:<p>
- * 1: (1, 2, 3, 4, 5, 6)<br>
- * 2: (0, 1, 2, 3, 4, 5, 6, 7)<p>
- * If they are not ordered, but simply appended, the categories on the axis
- * would be:<p>
- * X: (1, 2, 3, 4, 5, 6, 0, 7)<p>
- * Which would render the a line for the second plot to show incorrectly.
- * Instead this algorithm, uses and 'value- is- before' method to see that
- * the 0 is before a 1 in the second set, and that it should also be before
- * a 1 in the X set. Hence:<p>
- * X: (0, 1, 2, 3, 4, 5, 6, 7)
- *
- * @param Image_Graph_Dataset $dataset The dataset
- * @access private
- */
- function _applyDataset(&$dataset)
- {
- $newLabels = array();
- $allLabels = array();
-
- $dataset->_reset();
- $count = 0;
- $count_new = 0;
- while ($point = $dataset->_next()) {
- if ($this->_type == IMAGE_GRAPH_AXIS_X) {
- $data = $point['X'];
- } else {
- $data = $point['Y'];
- }
- if (!isset($this->_labels[$data])) {
- $newLabels[$data] = $count_new++;
- //$this->_labels[] = $data;
- }
- $allLabels[$data] = $count++;
- }
-
- if (count($this->_labels) == 0) {
- $this->_labels = $newLabels;
- } elseif ((is_array($newLabels)) && (count($newLabels) > 0)) {
- // get all intersecting labels
- $intersect = array_intersect(array_keys($allLabels), array_keys($this->_labels));
- // traverse all new and find their relative position withing the
- // intersec, fx value X0 is before X1 in the intersection, which
- // means that X0 should be placed before X1 in the label array
- foreach($newLabels as $newLabel => $id) {
- $key = $allLabels[$newLabel];
- reset($intersect);
- $this_value = false;
- // intersect indexes are the same as in allLabels!
- $first = true;
- while ((list($id, $value) = each($intersect)) &&
- ($this_value === false))
- {
- if (($first) && ($id > $key)) {
- $this_value = $value;
- } elseif ($id >= $key) {
- $this_value = $value;
- }
- $first = false;
- }
-
- if ($this_value === false) {
- // the new label was not found before anything in the
- // intersection -> append it
- $this->_labels[$newLabel] = count($this->_labels);
- } else {
- // the new label was found before $this_value in the
- // intersection, insert the label before this position in
- // the label array
-// $key = $this->_labels[$this_value];
- $keys = array_keys($this->_labels);
- $key = array_search($this_value, $keys);
- $pre = array_slice($keys, 0, $key);
- $pre[] = $newLabel;
- $post = array_slice($keys, $key);
- $this->_labels = array_flip(array_merge($pre, $post));
- }
- }
- unset($keys);
- }
-
- $labels = array_keys($this->_labels);
- $i = 0;
- foreach ($labels as $label) {
- $this->_labels[$label] = $i++;
- }
-
-// $this->_labels = array_values(array_unique($this->_labels));
- $this->_calcLabelInterval();
- }
-
- /**
- * Return the label distance.
- *
- * @return int The distance between 2 adjacent labels
- * @access private
- */
- function _labelDistance($level = 1)
- {
- reset($this->_labels);
- list($l1) = each($this->_labels);
- list($l2) = each($this->_labels);
- return abs($this->_point($l2) - $this->_point($l1));
- }
-
- /**
- * Get next label point
- *
- * @param doubt $point The current point, if omitted or false, the first is
- * returned
- * @return double The next label point
- * @access private
- */
- function _getNextLabel($currentLabel = false, $level = 1)
- {
- if ($currentLabel === false) {
- reset($this->_labels);
- }
- $result = false;
- $count = ($currentLabel === false ? $this->_labelInterval() - 1 : 0);
- while ($count < $this->_labelInterval()) {
- $result = (list($label) = each($this->_labels));
- $count++;
- }
- if ($result) {
- return $label;
- } else {
- return false;
- }
- }
-
- /**
- * Is the axis numeric or not?
- *
- * @return bool True if numeric, false if not
- * @access private
- */
- function _isNumeric()
- {
- return false;
- }
-
- /**
- * Output the axis
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- $result = true;
- if (Image_Graph_Element::_done() === false) {
- $result = false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $this->_drawAxisLines();
-
- $this->_canvas->startGroup(get_class($this) . '_ticks');
- $label = false;
- while (($label = $this->_getNextLabel($label)) !== false) {
- $this->_drawTick($label);
- }
- $this->_canvas->endGroup();
-
- $this->_canvas->endGroup();
-
- return $result;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Axis/Logarithmic.php b/config/dspam/pear/Image/Graph/Axis/Logarithmic.php
deleted file mode 100644
index 2675ee4c..00000000
--- a/config/dspam/pear/Image/Graph/Axis/Logarithmic.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Class for axis handling.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Axis.php
- */
-require_once 'Image/Graph/Axis.php';
-
-/**
- * Diplays a logarithmic axis (either X- or Y-axis).
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Axis_Logarithmic extends Image_Graph_Axis
-{
-
- /**
- * Image_Graph_AxisLogarithmic [Constructor].
- *
- * Normally a manual creation should not be necessary, axis are
- * created automatically by the {@link Image_Graph_Plotarea} constructor
- * unless explicitly defined otherwise
- *
- * @param int $type The type (direction) of the Axis, use IMAGE_GRAPH_AXIS_X
- * for an X-axis (default, may be omitted) and IMAGE_GRAPH_AXIS_Y for Y-
- * axis)
- */
- function Image_Graph_Axis_Logarithmic($type = IMAGE_GRAPH_AXIS_X)
- {
- parent::Image_Graph_Axis($type);
- $this->showLabel(IMAGE_GRAPH_LABEL_MINIMUM + IMAGE_GRAPH_LABEL_MAXIMUM);
- $this->_minimum = 1;
- $this->_minimumSet = true;
- }
-
- /**
- * Calculate the label interval
- *
- * If explicitly defined this will be calucated to an approximate best.
- *
- * @return double The label interval
- * @access private
- */
- function _calcLabelInterval()
- {
- $result = parent::_calcLabelInterval();
- $this->_axisValueSpan = $this->_value($this->_axisSpan);
- return $result;
- }
-
- /**
- * Preprocessor for values, ie for using logarithmic axis
- *
- * @param double $value The value to preprocess
- * @return double The preprocessed value
- * @access private
- */
- function _value($value)
- {
- return log10($value) - log10($this->_minimum);
- }
-
- /**
- * Get next label point
- *
- * @param doubt $point The current point, if omitted or false, the first is
- * returned
- * @return double The next label point
- * @access private
- */
- function _getNextLabel($currentLabel = false, $level = 1)
- {
- if (is_array($this->_labelOptions[$level]['interval'])) {
- return parent::_getNextLabel($currentLabel, $level);
- }
-
- if ($currentLabel !== false) {
- $value = log10($currentLabel);
- $base = floor($value);
- $frac = $value - $base;
- for ($i = 2; $i < 10; $i++) {
- if ($frac <= (log10($i)-0.01)) {
- $label = pow(10, $base)*$i;
- if ($label > $this->_getMaximum()) {
- return false;
- } else {
- return $label;
- }
- }
- }
- return pow(10, $base+1);
- }
-
- return max(1, $this->_minimum);
- }
-
- /**
- * Get the axis intersection pixel position
- *
- * This is only to be called prior to output! I.e. between the user
- * invokation of Image_Graph::done() and any actual output is performed.
- * This is because it can change the axis range.
- *
- * @param double $value the intersection value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _intersectPoint($value)
- {
- if (($value <= 0) && ($value !== 'max') && ($value !== 'min')) {
- $value = 1;
- }
- return parent::_intersectPoint($value);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Axis/Marker/Area.php b/config/dspam/pear/Image/Graph/Axis/Marker/Area.php
deleted file mode 100644
index 1931ab48..00000000
--- a/config/dspam/pear/Image/Graph/Axis/Marker/Area.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Class file containing a axis marker used for explicitly highlighting a area
- * on the graph, based on an interval specified on an axis.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Grid.php
- */
-require_once 'Image/Graph/Grid.php';
-
-/**
- * Display a grid
- *
- * {@link Image_Graph_Grid}
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Axis_Marker_Area extends Image_Graph_Grid
-{
-
- /**
- * The lower bound
- * @var double
- * @access private
- */
- var $_lower = false;
-
- /**
- * The upper bound
- * @var double
- * @access private
- */
- var $_upper = false;
-
- /**
- * [Constructor]
- */
- function Image_Graph_Axis_Marker_Area()
- {
- parent::Image_Graph_Grid();
- $this->_lineStyle = false;
- }
-
- /**
- * Sets the lower bound of the area (value on the axis)
- *
- * @param double $lower the lower bound
- */
- function setLowerBound($lower)
- {
- $this->_lower = $lower;
- }
-
- /**
- * Sets the upper bound of the area (value on the axis)
- *
- * @param double $upper the upper bound
- */
- function setUpperBound($upper)
- {
- $this->_upper = $upper;
- }
-
- /**
- * Output the grid
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!$this->_primaryAxis) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $i = 0;
-
- $this->_lower = max($this->_primaryAxis->_getMinimum(), $this->_lower);
- $this->_upper = min($this->_primaryAxis->_getMaximum(), $this->_upper);
-
- $secondaryPoints = $this->_getSecondaryAxisPoints();
-
- reset($secondaryPoints);
- list ($id, $previousSecondaryValue) = each($secondaryPoints);
- while (list ($id, $secondaryValue) = each($secondaryPoints)) {
- if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_X) {
- $p1 = array ('Y' => $secondaryValue, 'X' => $this->_lower);
- $p2 = array ('Y' => $previousSecondaryValue, 'X' => $this->_lower);
- $p3 = array ('Y' => $previousSecondaryValue, 'X' => $this->_upper);
- $p4 = array ('Y' => $secondaryValue, 'X' => $this->_upper);
- } else {
- $p1 = array ('X' => $secondaryValue, 'Y' => $this->_lower);
- $p2 = array ('X' => $previousSecondaryValue, 'Y' => $this->_lower);
- $p3 = array ('X' => $previousSecondaryValue, 'Y' => $this->_upper);
- $p4 = array ('X' => $secondaryValue, 'Y' => $this->_upper);
- }
-
- $this->_canvas->addVertex(array('x' => $this->_pointX($p1), 'y' => $this->_pointY($p1)));
- $this->_canvas->addVertex(array('x' => $this->_pointX($p2), 'y' => $this->_pointY($p2)));
- $this->_canvas->addVertex(array('x' => $this->_pointX($p3), 'y' => $this->_pointY($p3)));
- $this->_canvas->addVertex(array('x' => $this->_pointX($p4), 'y' => $this->_pointY($p4)));
-
- $previousSecondaryValue = $secondaryValue;
-
- $this->_getLineStyle();
- $this->_getFillStyle();
- $this->_canvas->polygon(array('connect' => true));
- }
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Axis/Marker/Line.php b/config/dspam/pear/Image/Graph/Axis/Marker/Line.php
deleted file mode 100644
index 0c46c144..00000000
--- a/config/dspam/pear/Image/Graph/Axis/Marker/Line.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Class file containing a axis marker used for explicitly highlighting a point
- * (line) on the graph, based on an value specified on an axis.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Grid.php
- */
-require_once 'Image/Graph/Grid.php';
-
-/**
- * Display a grid
- *
- * {@link Image_Graph_Grid}
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Axis_Marker_Line extends Image_Graph_Grid
-{
-
- /**
- * The value
- * @var double
- * @access private
- */
- var $_value = false;
-
- /**
- * Sets the value of the line marker (value on the axis)
- *
- * @param double $value the value
- */
- function setValue($value)
- {
- $this->_value = $value;
- }
-
- /**
- * Output the grid
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!$this->_primaryAxis) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $i = 0;
-
- $this->_value = min($this->_primaryAxis->_getMaximum(), max($this->_primaryAxis->_getMinimum(), $this->_value));
-
- $secondaryPoints = $this->_getSecondaryAxisPoints();
-
- reset($secondaryPoints);
- list ($id, $previousSecondaryValue) = each($secondaryPoints);
- while (list ($id, $secondaryValue) = each($secondaryPoints)) {
- if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_X) {
- $p1 = array ('X' => $this->_value, 'Y' => $secondaryValue);
- $p2 = array ('X' => $this->_value, 'Y' => $previousSecondaryValue);
- } else {
- $p1 = array ('X' => $secondaryValue, 'Y' => $this->_value);
- $p2 = array ('X' => $previousSecondaryValue, 'Y' => $this->_value);
- }
-
- $x1 = $this->_pointX($p1);
- $y1 = $this->_pointY($p1);
- $x2 = $this->_pointX($p2);
- $y2 = $this->_pointY($p2);
-
- $previousSecondaryValue = $secondaryValue;
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x1, 'y0' => $y1, 'x1' => $x2, 'y1' => $y2));
- }
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Axis/Radar.php b/config/dspam/pear/Image/Graph/Axis/Radar.php
deleted file mode 100644
index 7348254c..00000000
--- a/config/dspam/pear/Image/Graph/Axis/Radar.php
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Class for axis handling.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Axis/Category.php
- */
-require_once 'Image/Graph/Axis/Category.php';
-
-/**
- * Displays an 'X'-axis in a radar plot chart.
- *
- * This axis maps the number of elements in the dataset to a angle (from 0-
- * 360 degrees). Displaying the axis consist of drawing a number of lines from
- * center to the edge of the 'circle' than encloses the radar plot. The labels
- * are drawn on the 'ends' of these radial lines.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Axis
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Axis_Radar extends Image_Graph_Axis_Category
-{
-
- /**
- * Specifies the number of pixels, the labels is offsetted from the end of
- * the axis
- *
- * @var int
- * @access private
- */
- var $_distanceFromEnd = 5;
-
- /**
- * Gets the minimum value the axis will show.
- *
- * This is always 0
- *
- * @return double The minumum value
- * @access private
- */
- function _getMinimum()
- {
- return 0;
- }
-
- /**
- * Gets the maximum value the axis will show.
- *
- * This is always the number of labels passed to the constructor.
- *
- * @return double The maximum value
- * @access private
- */
- function _getMaximum()
- {
- return count($this->_labels);
- }
-
- /**
- * Calculate the delta value (the number of pixels representing one unit
- * on the axis)
- *
- * @return double The label interval
- * @access private
- */
- function _calcDelta()
- {
- if (abs($this->_getMaximum() - $this->_getMinimum()) == 0) {
- $this->_delta = false;
- } else {
- $this->_delta = 360 / ($this->_getMaximum() - $this->_getMinimum());
- }
- }
-
- /**
- * Get the pixel position represented by a value on the canvas
- *
- * @param double $value the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _point($value)
- {
- return (90 + (int) ($this->_value($value) * $this->_delta)) % 360;
- }
-
- /**
- * Get the size in pixels of the axis.
- *
- * For a radar plot this is always 0
- *
- * @return int The size of the axis
- * @access private
- */
- function _size()
- {
- return 0;
- }
-
- /**
- * Sets the distance from the end of the category lines to the label.
- *
- * @param int $distance The distance in pixels
- */
- function setDistanceFromEnd($distance = 5)
- {
- $this->_distanceFromEnd = $distance;
- }
-
- /**
- * Draws axis lines.
- *
- * @access private
- */
- function _drawAxisLines()
- {
- }
-
- /**
- * Output an axis tick mark.
- *
- * @param int $value The value to output
- * @access private
- */
- function _drawTick($value, $level = 1)
- {
- $centerX = (int) (($this->_left + $this->_right) / 2);
- $centerY = (int) (($this->_top + $this->_bottom) / 2);
-
- $radius = min($this->height(), $this->width()) / 2;
-
- $endPoint = array ('X' => $value, 'Y' => '#max#');
- $dX = $this->_pointX($endPoint);
- $dY = $this->_pointY($endPoint);
-
- $offX = ($dX - $centerX);
- $offY = ($dY - $centerY);
-
- $hyp = sqrt($offX*$offX + $offY*$offY);
- if ($hyp != 0) {
- $scale = $this->_distanceFromEnd / $hyp;
- } else {
- $scale = 1;
- }
-
- $adX = $dX + $offX * $scale;
- $adY = $dY + $offY * $scale;
-
- if (is_object($this->_dataPreProcessor)) {
- $labelText = $this->_dataPreProcessor->_process($value);
- } else {
- $labelText = $value;
- }
-
- if ((abs($dX - $centerX) < 1.5) && ($dY < $centerY)) {
- $align = IMAGE_GRAPH_ALIGN_BOTTOM + IMAGE_GRAPH_ALIGN_CENTER_X;
- } elseif ((abs($dX - $centerX) < 1.5) && ($dY > $centerY)) {
- $align = IMAGE_GRAPH_ALIGN_TOP + IMAGE_GRAPH_ALIGN_CENTER_X;
- } elseif ($dX < $centerX) {
- $align = IMAGE_GRAPH_ALIGN_RIGHT + IMAGE_GRAPH_ALIGN_CENTER_Y;
- } else {
- $align = IMAGE_GRAPH_ALIGN_LEFT + IMAGE_GRAPH_ALIGN_CENTER_Y;
- }
- $this->write($adX, $adY, $labelText, $align);
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $centerX, 'y0' => $centerY, 'x1' => $dX, 'y1' => $dY));
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Common.php b/config/dspam/pear/Image/Graph/Common.php
deleted file mode 100644
index f695cb58..00000000
--- a/config/dspam/pear/Image/Graph/Common.php
+++ /dev/null
@@ -1,313 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-if (!function_exists('is_a')) {
-
- /**
- * Check if an object is of a given class, this function is available as of PHP 4.2.0, so if it exist it will not be declared
- *
- * @link http://www.php.net/manual/en/function.is-a.php PHP.net Online Manual for function is_a()
- * @param object $object The object to check class for
- * @param string $class_name The name of the class to check the object for
- * @return bool Returns TRUE if the object is of this class or has this class as one of its parents
- */
- function is_a($object, $class_name)
- {
- if (empty ($object)) {
- return false;
- }
- $object = is_object($object) ? get_class($object) : $object;
- if (strtolower($object) == strtolower($class_name)) {
- return true;
- }
- return is_a(get_parent_class($object), $class_name);
- }
-}
-
-/**
- * Include file Image/Canvas.php
- */
-require_once 'Image/Canvas.php';
-
-/**
- * The ultimate ancestor of all Image_Graph classes.
- *
- * This class contains common functionality needed by all Image_Graph classes.
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Common
-{
-
- /**
- * The parent container of the current Image_Graph object
- *
- * @var Image_Graph_Common
- * @access private
- */
- var $_parent = null;
-
- /**
- * The sub-elements of the current Image_Graph container object
- *
- * @var array
- * @access private
- */
- var $_elements;
-
- /**
- * The canvas for output.
- *
- * Enables support for multiple output formats.
- *
- * @var Image_Canvas
- * @access private
- */
- var $_canvas = null;
-
- /**
- * Is the object visible?
- *
- * @var bool
- * @access private
- */
- var $_visible = true;
-
- /**
- * Constructor [Image_Graph_Common]
- */
- function Image_Graph_Common()
- {
- }
-
- /**
- * Resets the elements
- *
- * @access private
- */
- function _reset()
- {
- if (is_array($this->_elements)) {
- $keys = array_keys($this->_elements);
- foreach ($keys as $key) {
- if (is_object($this->_elements[$key])) {
- $this->_elements[$key]->_setParent($this);
- $result =& $this->_elements[$key]->_reset();
- if (PEAR::isError($result)) {
- return $result;
- }
- }
- }
- unset($keys);
- }
- return true;
- }
-
- /**
- * Sets the parent. The parent chain should ultimately be a GraPHP object
- *
- * @see Image_Graph_Common
- * @param Image_Graph_Common $parent The parent
- * @access private
- */
- function _setParent(& $parent)
- {
- $this->_parent =& $parent;
- $this->_canvas =& $this->_parent->_getCanvas();
-
- if (is_array($this->_elements)) {
- $keys = array_keys($this->_elements);
- foreach ($keys as $key) {
- if (is_object($this->_elements[$key])) {
- $this->_elements[$key]->_setParent($this);
- }
- }
- unset($keys);
- }
- }
-
- /**
- * Hide the element
- */
- function hide()
- {
- $this->_visible = false;
- }
-
- /**
- * Get the canvas
- *
- * @return Image_Canvas The canvas
- * @access private
- */
- function &_getCanvas()
- {
- if (($this->_canvas !== null) || ($this->_canvas !== false)) {
- return $this->_canvas;
- } elseif (is_a($this->_parent, 'Image_Graph_Common')) {
- $this->_canvas =& $this->_parent->_getCanvas();
- return $this->_canvas;
- } else {
- $this->_error('Invalid canvas');
- $result = null;
- return $result;
- }
- }
-
- /**
- * Adds an element to the objects element list.
- *
- * The new Image_Graph_elements parent is automatically set.
- *
- * @param Image_Graph_Common $element The new Image_Graph_element
- * @return Image_Graph_Common The new Image_Graph_element
- */
- function &add(& $element)
- {
- if (!is_a($element, 'Image_Graph_Font')) {
- $this->_elements[] = &$element;
- }
- $element->_setParent($this);
- return $element;
- }
-
- /**
- * Creates an object from the class and adds it to the objects element list.
- *
- * Creates an object from the class specified and adds it to the objects
- * element list. If only one parameter is required for the constructor of
- * the class simply pass this parameter as the $params parameter, unless the
- * parameter is an array or a reference to a value, in that case you must
- * 'enclose' the parameter in an array. Similar if the constructor takes
- * more than one parameter specify the parameters in an array.
- *
- * @see Image_Graph::factory()
- * @param string $class The class for the object
- * @param mixed $params The paramaters to pass to the constructor
- * @return Image_Graph_Common The new Image_Graph_element
- */
- function &addNew($class, $params = null, $additional = false)
- {
- include_once 'Image/Graph.php';
- $element =& Image_Graph::factory($class, $params);
- if ($additional === false) {
- $obj =& $this->add($element);
- } else {
- $obj =& $this->add($element, $additional);
- }
- return $obj;
- }
-
- /**
- * Shows an error message box on the canvas
- *
- * @param string $text The error text
- * @param array $params An array containing error specific details
- * @param int $error_code Error code
- * @access private
- */
- function _error($text, $params = false, $error_code = IMAGE_GRAPH_ERROR_GENERIC)
- {
- if ((is_array($params)) && (count($params) > 0)) {
- foreach ($params as $name => $key) {
- if (isset($parameters)) {
- $parameters .= ' ';
- }
- else {
- $parameters = '';
- }
- $parameters .= $name . '=' . $key;
- }
- }
- $error =& PEAR::raiseError(
- $text .
- ($error_code != IMAGE_GRAPH_ERROR_GENERIC ? ' error:' . IMAGE_GRAPH_ERROR_GENERIC : '') .
- (isset($parameters) ? ' parameters:[' . $parameters . ']' : '')
- );
- }
-
- /**
- * Causes the object to update all sub elements coordinates
- *
- * (Image_Graph_Common, does not itself have coordinates, this is basically
- * an abstract method)
- *
- * @access private
- */
- function _updateCoords()
- {
- if (is_array($this->_elements)) {
- $keys = array_keys($this->_elements);
- foreach ($keys as $key) {
- if (is_object($this->_elements[$key])) {
- $this->_elements[$key]->_updateCoords();
- }
- }
- unset($keys);
- }
- return true;
- }
-
- /**
- * Causes output to canvas
- *
- * The last method to call. Calling Done causes output to the canvas. All
- * sub elements done() method will be invoked
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (($this->_canvas == null) || (!is_a($this->_canvas, 'Image_Canvas'))) {
- return false;
- }
-
- if (is_array($this->_elements)) {
- $keys = array_keys($this->_elements);
- foreach ($keys as $key) {
- if (($this->_elements[$key]->_visible) && ($this->_elements[$key]->_done() === false)) {
- return false;
- }
- }
- unset($keys);
- }
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Config.php b/config/dspam/pear/Image/Graph/Config.php
deleted file mode 100644
index ece8a91b..00000000
--- a/config/dspam/pear/Image/Graph/Config.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Constants.php b/config/dspam/pear/Image/Graph/Constants.php
deleted file mode 100644
index f03674ba..00000000
--- a/config/dspam/pear/Image/Graph/Constants.php
+++ /dev/null
@@ -1,225 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Font.php
- */
-require_once 'Image/Graph/Font.php';
-
-// Constant declarations
-
-/**
- * Defines an X (horizontal) axis
- */
-define('IMAGE_GRAPH_AXIS_X', 1);
-
-/**
- * Defines an Y (vertical) axis
- */
-define('IMAGE_GRAPH_AXIS_Y', 2);
-
-/**
- * Defines an Y (vertical) axis
- */
-define('IMAGE_GRAPH_AXIS_Y_SECONDARY', 3);
-
-/**
- * Defines an horizontal (X) axis
- */
-define('IMAGE_GRAPH_AXIS_HORIZONTAL', 1);
-
-/**
- * Defines an vertical (Y) axis
- */
-define('IMAGE_GRAPH_AXIS_VERTICAL', 2);
-
-/**
- * Define if label should be shown for axis minimum value
- */
-define('IMAGE_GRAPH_LABEL_MINIMUM', 1);
-
-/**
- * Define if label should be shown for axis 0 (zero) value
- */
-define('IMAGE_GRAPH_LABEL_ZERO', 2);
-
-/**
- * Define if label should be shown for axis maximum value
- */
-define('IMAGE_GRAPH_LABEL_MAXIMUM', 4);
-
-/**
- * Defines a horizontal gradient fill
- */
-define('IMAGE_GRAPH_GRAD_HORIZONTAL', 1);
-
-/**
- * Defines a vertical gradient fill
- */
-define('IMAGE_GRAPH_GRAD_VERTICAL', 2);
-
-/**
- * Defines a horizontally mirrored gradient fill
- */
-define('IMAGE_GRAPH_GRAD_HORIZONTAL_MIRRORED', 3);
-
-/**
- * Defines a vertically mirrored gradient fill
- */
-define('IMAGE_GRAPH_GRAD_VERTICAL_MIRRORED', 4);
-
-/**
- * Defines a diagonal gradient fill from top-left to bottom-right
- */
-define('IMAGE_GRAPH_GRAD_DIAGONALLY_TL_BR', 5);
-
-/**
- * Defines a diagonal gradient fill from bottom-left to top-right
- */
-define('IMAGE_GRAPH_GRAD_DIAGONALLY_BL_TR', 6);
-
-/**
- * Defines a radial gradient fill
- */
-define('IMAGE_GRAPH_GRAD_RADIAL', 7);
-
-/**
- * Defines the default builtin font
- */
-define('IMAGE_GRAPH_FONT', 1);
-
-/**
- * Defines a X value should be used
- */
-define('IMAGE_GRAPH_VALUE_X', 0);
-
-/**
- * Defines a Y value should be used
- */
-define('IMAGE_GRAPH_VALUE_Y', 1);
-
-/**
- * Defines a min X% value should be used
- */
-define('IMAGE_GRAPH_PCT_X_MIN', 2);
-
-/**
- * Defines a max X% value should be used
- */
-define('IMAGE_GRAPH_PCT_X_MAX', 3);
-
-/**
- * Defines a min Y% value should be used
- */
-define('IMAGE_GRAPH_PCT_Y_MIN', 4);
-
-/**
- * Defines a max Y% value should be used
- */
-define('IMAGE_GRAPH_PCT_Y_MAX', 5);
-
-/**
- * Defines a total Y% value should be used
- */
-define('IMAGE_GRAPH_PCT_Y_TOTAL', 6);
-
-/**
- * Defines a ID value should be used
- */
-define('IMAGE_GRAPH_POINT_ID', 7);
-
-/**
- * Align text left
- */
-define('IMAGE_GRAPH_ALIGN_LEFT', 0x1);
-
-/**
- * Align text right
- */
-define('IMAGE_GRAPH_ALIGN_RIGHT', 0x2);
-
-/**
- * Align text center x (horizontal)
- */
-define('IMAGE_GRAPH_ALIGN_CENTER_X', 0x4);
-
-/**
- * Align text top
- */
-define('IMAGE_GRAPH_ALIGN_TOP', 0x8);
-
-/**
- * Align text bottom
- */
-define('IMAGE_GRAPH_ALIGN_BOTTOM', 0x10);
-
-/**
- * Align text center y (vertical)
- */
-define('IMAGE_GRAPH_ALIGN_CENTER_Y', 0x20);
-
-/**
- * Align text center (both x and y)
- */
-define('IMAGE_GRAPH_ALIGN_CENTER', IMAGE_GRAPH_ALIGN_CENTER_X + IMAGE_GRAPH_ALIGN_CENTER_Y);
-
-/**
- * Align text top left
- */
-define('IMAGE_GRAPH_ALIGN_TOP_LEFT', IMAGE_GRAPH_ALIGN_TOP + IMAGE_GRAPH_ALIGN_LEFT);
-
-/**
- * Align text top right
- */
-define('IMAGE_GRAPH_ALIGN_TOP_RIGHT', IMAGE_GRAPH_ALIGN_TOP + IMAGE_GRAPH_ALIGN_RIGHT);
-
-/**
- * Align text bottom left
- */
-define('IMAGE_GRAPH_ALIGN_BOTTOM_LEFT', IMAGE_GRAPH_ALIGN_BOTTOM + IMAGE_GRAPH_ALIGN_LEFT);
-
-/**
- * Align text bottom right
- */
-define('IMAGE_GRAPH_ALIGN_BOTTOM_RIGHT', IMAGE_GRAPH_ALIGN_BOTTOM + IMAGE_GRAPH_ALIGN_RIGHT);
-
-/**
- * Align vertical
- */
-define('IMAGE_GRAPH_ALIGN_VERTICAL', IMAGE_GRAPH_ALIGN_TOP);
-
-/**
- * Align horizontal
- */
-define('IMAGE_GRAPH_ALIGN_HORIZONTAL', IMAGE_GRAPH_ALIGN_LEFT);
-
-// Error codes
-define('IMAGE_GRAPH_ERROR_GENERIC', 0);
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor.php b/config/dspam/pear/Image/Graph/DataPreprocessor.php
deleted file mode 100644
index f135d539..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Data preprocessor used for preformatting a data.
- *
- * A data preprocessor is used in cases where a value from a dataset or label must be
- * displayed in another format or way than entered. This could for example be the need
- * to display X-values as a date instead of 1, 2, 3, .. or even worse unix-timestamps.
- * It could also be when a {@link Image_Graph_Marker_Value} needs to display values as percentages
- * with 1 decimal digit instead of the default formatting (fx. 12.01271 -> 12.0%).
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_DataPreprocessor
-{
-
- /**
- * Image_Graph_DataPreprocessor [Constructor].
- */
- function Image_Graph_DataPreprocessor()
- {
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- return $value;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/Array.php b/config/dspam/pear/Image/Graph/DataPreprocessor/Array.php
deleted file mode 100644
index 08e62378..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/Array.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor.php
- */
-require_once 'Image/Graph/DataPreprocessor.php';
-
-/**
- * Format data as looked up in an array.
- *
- * ArrayData is useful when a numercal value is to be translated to
- * something thats cannot directly be calculated from this value, this could for
- * example be a dataset meant to plot population of various countries. Since x-
- * values are numerical and they should really be country names, but there is no
- * linear correlation between the number and the name, we use an array to 'map'
- * the numbers to the name, i.e. $array[0] = 'Denmark'; $array[1] = 'Sweden';
- * ..., where the indexes are the numerical values from the dataset. This is NOT
- * usefull when the x-values are a large domain, i.e. to map unix timestamps to
- * date-strings for an x-axis. This is because the x-axis will selecte arbitrary
- * values for labels, which would in principle require the ArrayData to hold
- * values for every unix timestamp. However ArrayData can still be used to solve
- * such a situation, since one can use another value for X-data in the dataset
- * and then map this (smaller domain) value to a date. That is we for example
- * instead of using the unix-timestamp we use value 0 to represent the 1st date,
- * 1 to represent the next date, etc.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_Array extends Image_Graph_DataPreprocessor
-{
-
- /**
- * The data label array
- * @var array
- * @access private
- */
- var $_dataArray;
-
- /**
- * Image_Graph_ArrayData [Constructor].
- *
- * @param array $array The array to use as a lookup table
- */
- function Image_Graph_DataPreprocessor_Array($array)
- {
- parent::Image_Graph_DataPreprocessor();
- $this->_dataArray = $array;
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- if ((is_array($this->_dataArray)) && (isset ($this->_dataArray[$value]))) {
- return $this->_dataArray[$value];
- } else {
- return $value;
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/Currency.php b/config/dspam/pear/Image/Graph/DataPreprocessor/Currency.php
deleted file mode 100644
index 2d3b5e2f..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/Currency.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor/Formatted.php
- */
-require_once 'Image/Graph/DataPreprocessor/Formatted.php';
-
-/**
- * Format data as a currency.
- *
- * Uses the {@link Image_Graph_DataPreprocessor_Formatted} to represent the
- * values as a currency, i.e. 10 => € 10.00
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_Currency extends Image_Graph_DataPreprocessor_Formatted
-{
-
- /**
- * Image_Graph_CurrencyData [Constructor].
- *
- * @param string $currencySymbol The symbol representing the currency
- */
- function Image_Graph_DataPreprocessor_Currency($currencySymbol)
- {
- parent::Image_Graph_DataPreprocessor_Formatted("$currencySymbol %0.2f");
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/Date.php b/config/dspam/pear/Image/Graph/DataPreprocessor/Date.php
deleted file mode 100644
index 74695264..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/Date.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor.php
- */
-require_once 'Image/Graph/DataPreprocessor.php';
-
-/**
- * Formats Unix timestamp as a date using specified format.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_Date extends Image_Graph_DataPreprocessor
-{
-
- /**
- * The format of the Unix time stamp.
- * See <a href = 'http://www.php.net/manual/en/function.date.php'>PHP
- * Manual</a> for a description
- * @var string
- * @access private
- */
- var $_format;
-
- /**
- * Create a DateData preprocessor [Constructor]
- *
- * @param string $format See {@link http://www.php.net/manual/en/function.date.php
- * PHP Manual} for a description
- */
- function Image_Graph_DataPreprocessor_Date($format)
- {
- parent::Image_Graph_DataPreprocessor();
- $this->_format = $format;
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- if (!$value) {
- return false;
- } else {
- return date($this->_format, $value);
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/Formatted.php b/config/dspam/pear/Image/Graph/DataPreprocessor/Formatted.php
deleted file mode 100644
index ff7335a0..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/Formatted.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor.php
- */
-require_once 'Image/Graph/DataPreprocessor.php';
-
-/**
- * Format data using a (s)printf pattern.
- *
- * This method is useful when data must displayed using a simple (s) printf
- * pattern as described in the {@link http://www.php. net/manual/en/function.
- * sprintf.php PHP manual}
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_Formatted extends Image_Graph_DataPreprocessor
-{
-
- /**
- * A (s)printf format string.
- * See {@link http://www.php.net/manual/en/function.sprintf.php PHP Manual}
- * for a description
- * @var string
- * @access private
- */
- var $_format;
-
- /**
- * Create a (s)printf format data preprocessor
- *
- * @param string $format See {@link http://www.php.net/manual/en/function.sprintf.php
- * PHP Manual} for a description
- */
- function Image_Graph_DataPreprocessor_Formatted($format)
- {
- parent::Image_Graph_DataPreprocessor();
- $this->_format = $format;
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- return sprintf($this->_format, $value);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/Function.php b/config/dspam/pear/Image/Graph/DataPreprocessor/Function.php
deleted file mode 100644
index b23a718d..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/Function.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor.php
- */
-require_once 'Image/Graph/DataPreprocessor.php';
-
-/**
- * Formatting a value using a userdefined function.
- *
- * Use this method to convert/format a value to a 'displayable' lable using a (perhaps)
- * more complex function. An example could be (not very applicable though) if one would
- * need for values to be displayed on the reverse order, i.e. 1234 would be displayed as
- * 4321, then this method can solve this by creating the function that converts the value
- * and use the FunctionData datapreprocessor to make Image_Graph use this function.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_Function extends Image_Graph_DataPreprocessor
-{
-
- /**
- * The name of the PHP function
- * @var string
- * @access private
- */
- var $_dataFunction;
-
- /**
- * Create a FunctionData preprocessor
- *
- * @param string $function The name of the PHP function to use as
- * a preprocessor, this function must take a single parameter and return a
- * formatted version of this parameter
- */
- function Image_Graph_DataPreprocessor_Function($function)
- {
- parent::Image_Graph_DataPreprocessor();
- $this->_dataFunction = $function;
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- $function = $this->_dataFunction;
- return call_user_func($function, $value);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/NumberText.php b/config/dspam/pear/Image/Graph/DataPreprocessor/NumberText.php
deleted file mode 100644
index a7d6874e..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/NumberText.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor.php
- */
-require_once 'Image/Graph/DataPreprocessor.php';
-
-/**
- * Formatting a number as its written in languages supported by Numbers_Words.
- *
- * Used to display values as text, i.e. 123 is displayed as one hundred and twenty three.
- * Requires Numbers_Words
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_NumberText extends Image_Graph_DataPreprocessor
-{
-
- /**
- * The language identifier
- * @var string
- * @access private
- */
- var $_language;
-
- /**
- * Image_Graph_NumberText [Constructor].
- *
- * Supported languages see {@link http://pear.php.net/package/Numbers_Words Numbers_Words}
- *
- * @param string $langugage The language identifier for the language.
- */
- function Image_Graph_DataPreprocessor_NumberText($language = 'en_US')
- {
- parent::Image_Graph_DataPreprocessor();
- $this->_language = $language;
- require_once 'Numbers/Words.php';
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- return Numbers_Words::toWords($value, $this->_language);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/RomanNumerals.php b/config/dspam/pear/Image/Graph/DataPreprocessor/RomanNumerals.php
deleted file mode 100644
index 0bfcdb62..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/RomanNumerals.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor.php
- */
-require_once 'Image/Graph/DataPreprocessor.php';
-
-/**
- * Formatting a value as a roman numerals.
- *
- * Values are formatted as roman numeral, i.e. 1 = I, 2 = II, 9 = IX, 2004 = MMIV.
- * Requires Numbers_Roman
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_RomanNumerals extends Image_Graph_DataPreprocessor
-{
-
- /**
- * Create a RomanNumerals preprocessor
- *
- * See {@link http://pear.php.net/package/Numbers_Roman Numbers_Roman}
- */
- function Image_Graph_DataPreprocessor_RomanNumerals()
- {
- parent::Image_Graph_DataPreprocessor();
- include_once 'Numbers/Roman.php';
- }
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- return Numbers_Roman::toNumeral($value);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataPreprocessor/Sequential.php b/config/dspam/pear/Image/Graph/DataPreprocessor/Sequential.php
deleted file mode 100644
index 248f0be9..00000000
--- a/config/dspam/pear/Image/Graph/DataPreprocessor/Sequential.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataPreprocessor/Array.php
- */
-require_once 'Image/Graph/DataPreprocessor/Array.php';
-
-/**
- * Formatting values using a sequential data label array, ie. returning the
- * 'next label' when asked for any label.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataPreprocessor
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataPreprocessor_Sequential extends Image_Graph_DataPreprocessor_Array
-{
-
- /**
- * Process the value
- *
- * @param var $value The value to process/format
- * @return string The processed value
- * @access private
- */
- function _process($value)
- {
- list ($id, $value) = each($this->_dataArray);
- return $value;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataSelector.php b/config/dspam/pear/Image/Graph/DataSelector.php
deleted file mode 100644
index 0a81716c..00000000
--- a/config/dspam/pear/Image/Graph/DataSelector.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Filter used for selecting which data to show as markers
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataSelector
-{
-
- /**
- * Image_Graph_DataSelector [Constructor]
- */
- function Image_Graph_DataSelector()
- {
- }
-
- /**
- * Check if a specified value should be 'selected', ie shown as a marker
- *
- * @param array $values The values to check
- * @return bool True if the Values should cause a marker to be shown, false if not
- * @access private
- */
- function _select($values)
- {
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataSelector/EveryNthPoint.php b/config/dspam/pear/Image/Graph/DataSelector/EveryNthPoint.php
deleted file mode 100644
index 62581222..00000000
--- a/config/dspam/pear/Image/Graph/DataSelector/EveryNthPoint.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataSelector.php
- */
-require_once 'Image/Graph/DataSelector.php';
-
-/**
- * Filter out all points except every Nth point.
- *
- * Use this dataselector if you have a large number of datapoints, but only want to
- * show markers for a small number of them, say every 10th.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataSelector_EveryNthPoint extends Image_Graph_DataSelector
-{
-
- /**
- * The number of points checked
- * @var int
- * @access private
- */
- var $_pointNum = 0;
-
- /**
- * The number of points between every 'show', default: 10
- * @var int
- * @access private
- */
- var $_pointInterval = 10;
-
- /**
- * EvertNthPoint [Constructor]
- *
- * @param int $pointInterval The number of points between every 'show',
- * default: 10
- */
- function Image_Graph_DataSelector_EveryNthpoint($pointInterval = 10)
- {
- parent::Image_Graph_DataSelector();
- $this->_pointInterval = $pointInterval;
- }
-
- /**
- * Check if a specified value should be 'selected', ie shown as a marker
- *
- * @param array $values The values to check
- * @return bool True if the Values should cause a marker to be shown,
- * false if not
- * @access private
- */
- function _select($values)
- {
- $oldPointNum = $this->_pointNum;
- $this->_pointNum++;
- return (($oldPointNum % $this->_pointInterval) == 0);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataSelector/NoZeros.php b/config/dspam/pear/Image/Graph/DataSelector/NoZeros.php
deleted file mode 100644
index f32b918e..00000000
--- a/config/dspam/pear/Image/Graph/DataSelector/NoZeros.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataSelector.php
- */
-require_once 'Image/Graph/DataSelector.php';
-
-/**
- * Filter out all zero's.
- *
- * Display all Y-values as markers, except those with Y = 0
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataSelector_NoZeros extends Image_Graph_DataSelector
-{
-
- /**
- * Check if a specified value should be 'selected', ie shown as a marker
- *
- * @param array $values The values to check
- * @return bool True if the Values should cause a marker to be shown, false
- * if not
- * @access private
- */
- function _select($values)
- {
- return ($values['Y'] != 0);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/DataSelector/Values.php b/config/dspam/pear/Image/Graph/DataSelector/Values.php
deleted file mode 100644
index 412e6ea9..00000000
--- a/config/dspam/pear/Image/Graph/DataSelector/Values.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/DataSelector.php
- */
-require_once 'Image/Graph/DataSelector.php';
-
-/**
- * Filter out all but the specified values.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage DataSelector
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_DataSelector_Values extends Image_Graph_DataSelector {
-
- /**
- * The array with values that should be included
- * @var array
- * @access private
- */
- var $_values;
-
- /**
- * ValueArray [Constructor]
- *
- * @param array $valueArray The array to use as filter (default empty)
- */
- function &Image_Graph_DataSelector_Values($values)
- {
- parent::Image_Graph_DataSelector();
- $this->_values = $values;
- }
-
- /**
- * Sets the array to use
- */
- function setValueArray($values)
- {
- $this->_values = $values;
- }
-
- /**
- * Check if a specified value should be 'selected', ie shown as a marker
- *
- * @param array $values The values to check
- * @return bool True if the Values should cause a marker to be shown, false
- * if not
- * @access private
- */
- function _select($values)
- {
- return ( in_array($values['Y'], $this->_values) );
- }
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Dataset.php b/config/dspam/pear/Image/Graph/Dataset.php
deleted file mode 100644
index 4c349980..00000000
--- a/config/dspam/pear/Image/Graph/Dataset.php
+++ /dev/null
@@ -1,483 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-
-/**
- * Data set used to represent a data collection to plot in a chart
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Dataset
-{
-
- /**
- * The pointer of the data set
- * @var int
- * @access private
- */
- var $_posX = 0;
-
- /**
- * The minimum X value of the dataset
- * @var int
- * @access private
- */
- var $_minimumX = 0;
-
- /**
- * The maximum X value of the dataset
- * @var int
- * @access private
- */
- var $_maximumX = 0;
-
- /**
- * The minimum Y value of the dataset
- * @var int
- * @access private
- */
- var $_minimumY = 0;
-
- /**
- * The maximum Y value of the dataset
- * @var int
- * @access private
- */
- var $_maximumY = 0;
-
- /**
- * The number of points in the dataset
- * @var int
- * @access private
- */
- var $_count = 0;
-
- /**
- * The name of the dataset, used for legending
- * @var string
- * @access private
- */
- var $_name = '';
-
- /**
- * Image_Graph_Dataset [Constructor]
- */
- function Image_Graph_Dataset()
- {
- }
-
- /**
- * Sets the name of the data set, used for legending
- *
- * @param string $name The name of the dataset
- */
- function setName($name)
- {
- $this->_name = $name;
- }
-
- /**
- * Add a point to the dataset
- *
- * $ID can contain either the ID of the point, i.e. 'DK', 123, 'George', etc. or it can contain
- * values used for creation of the HTML image map. This is achieved using is an an associated array
- * with the following values:
- *
- * 'url' The URL to create the link to
- *
- * 'alt' [optional] The alt text on the link
- *
- * 'target' [optional] The target of the link
- *
- * 'htmltags' [optional] An associated array with html tags (tag as key), fx. 'onMouseOver' => 'history.go(-1);', 'id' => 'thelink'
- *
- * @param int $x The X value to add
- * @param int $y The Y value to add, can be omited
- * @param var $ID The ID of the point
- */
- function addPoint($x, $y = false, $ID = false)
- {
- if ($y !== null) {
- if (is_array($y)) {
- $maxY = max($y);
- $minY = min($y);
- } else {
- $maxY = $y;
- $minY = $y;
- }
- }
-
- if ($this->_count) {
- $this->_minimumX = min($x, $this->_minimumX);
- $this->_maximumX = max($x, $this->_maximumX);
- if ($y !== null) {
- $this->_minimumY = min($minY, $this->_minimumY);
- $this->_maximumY = max($maxY, $this->_maximumY);
- }
- } else {
- $this->_minimumX = $x;
- $this->_maximumX = $x;
- if ($y !== null) {
- $this->_minimumY = $minY;
- $this->_maximumY = $maxY;
- }
- }
-
- $this->_count++;
- }
-
- /**
- * The number of values in the dataset
- *
- * @return int The number of values in the dataset
- */
- function count()
- {
- return $this->_count;
- }
-
- /**
- * Gets a X point from the dataset
- *
- * @param var $x The variable to return an X value from, fx in a vector
- * function data set
- * @return var The X value of the variable
- * @access private
- */
- function _getPointX($x)
- {
- return $x;
- }
-
- /**
- * Gets a Y point from the dataset
- *
- * @param var $x The variable to return an Y value from, fx in a vector
- * function data set
- * @return var The Y value of the variable
- * @access private
- */
- function _getPointY($x)
- {
- return $x;
- }
-
- /**
- * Gets a ID from the dataset
- *
- * @param var $x The variable to return an Y value from, fx in a vector
- * function data set
- * @return var The ID value of the variable
- * @access private
- */
- function _getPointID($x)
- {
- return false;
- }
-
- /**
- * Gets point data from the dataset
- *
- * @param var $x The variable to return an Y value from, fx in a vector
- * function data set
- * @return array The data for the point
- * @access private
- */
- function _getPointData($x)
- {
- return false;
- }
-
- /**
- * The minimum X value
- *
- * @return var The minimum X value
- */
- function minimumX()
- {
- return $this->_minimumX;
- }
-
- /**
- * The maximum X value
- *
- * @return var The maximum X value
- */
- function maximumX()
- {
- return $this->_maximumX;
- }
-
- /**
- * The minimum Y value
- *
- * @return var The minimum Y value
- */
- function minimumY()
- {
- return $this->_minimumY;
- }
-
- /**
- * The maximum Y value
- *
- * @return var The maximum Y value
- */
- function maximumY()
- {
- return $this->_maximumY;
- }
-
- /**
- * The first point
- *
- * @return array The last point
- */
- function first()
- {
- return array('X' => $this->minimumX(), 'Y' => $this->minimumY());
- }
-
- /**
- * The last point
- *
- * @return array The first point
- */
- function last()
- {
- return array('X' => $this->maximumX(), 'Y' => $this->maximumY());
- }
-
- /**
- * The minimum X value
- *
- * @param var $value The minimum X value
- * @access private
- */
- function _setMinimumX($value)
- {
- $this->_minimumX = $value;
- }
-
- /**
- * The maximum X value
- *
- * @param var $value The maximum X value
- * @access private
- */
- function _setMaximumX($value)
- {
- $this->_maximumX = $value;
- }
-
- /**
- * The minimum Y value
- *
- * @param var $value The minimum X value
- * @access private
- */
- function _setMinimumY($value)
- {
- $this->_minimumY = $value;
- }
-
- /**
- * The maximum Y value
- *
- * @param var $value The maximum X value
- * @access private
- */
- function _setMaximumY($value)
- {
- $this->_maximumY = $value;
- }
-
- /**
- * The interval between 2 adjacent X values
- *
- * @return var The interval
- * @access private
- */
- function _stepX()
- {
- return 1;
- }
-
- /**
- * The interval between 2 adjacent Y values
- *
- * @return var The interval
- * @access private
- */
- function _stepY()
- {
- return 1;
- }
-
- /**
- * Reset the intertal dataset pointer
- *
- * @return var The first X value
- * @access private
- */
- function _reset()
- {
- $this->_posX = $this->_minimumX;
- return $this->_posX;
- }
-
- /**
- * Get a point close to the internal pointer
- *
- * @param int Step Number of points next to the internal pointer, negative
- * Step is towards lower X values, positive towards higher X values
- * @return array The point
- * @access private
- */
- function _nearby($step = 0)
- {
- $x = $this->_getPointX($this->_posX + $this->_stepX() * $step);
- $y = $this->_getPointY($this->_posX + $this->_stepX() * $step);
- $ID = $this->_getPointID($this->_posX + $this->_stepX() * $step);
- $data = $this->_getPointData($this->_posX + $this->_stepX() * $step);
- if (($x === false) || ($y === false)) {
- return false;
- } else {
- return array ('X' => $x, 'Y' => $y, 'ID' => $ID, 'data' => $data);
- }
- }
-
- /**
- * Get the next point the internal pointer refers to and advance the pointer
- *
- * @return array The next point
- * @access private
- */
- function _next()
- {
- if ($this->_posX > $this->_maximumX) {
- return false;
- }
-
- $x = $this->_getPointX($this->_posX);
- $y = $this->_getPointY($this->_posX);
- $ID = $this->_getPointID($this->_posX);
- $data = $this->_getPointData($this->_posX);
- $this->_posX += $this->_stepX();
-
- return array ('X' => $x, 'Y' => $y, 'ID' => $ID, 'data' => $data);
- }
-
- /**
- * Get the average of the dataset's Y points
- *
- * @return var The Y-average across the dataset
- * @access private
- */
- function _averageY()
- {
- $posX = $this->_minimumX;
- $count = 0;
- $total = 0;
- while ($posX < $this->_maximumX) {
- $count ++;
- $total += $this->_getPointY($posX);
- $posX += $this->_stepX();
- }
-
- if ($count != 0) {
- return $total / $count;
- } else {
- return false;
- }
- }
-
- /**
- * Get the median of the array passed Y points
- *
- * @param array $data The data-array to get the median from
- * @param int $quartile The quartile to return the median from
- * @return var The Y-median across the dataset from the specified quartile
- * @access private
- */
- function _median($data, $quartile = 'second')
- {
- sort($data);
- $point = (count($data) - 1) / 2;
-
- if ($quartile == 'first') {
- $lowPoint = 0;
- $highPoint = floor($point);
- } elseif ($quartile == 'third') {
- $lowPoint = round($point);
- $highPoint = count($data) - 1;
- } else {
- $lowPoint = 0;
- $highPoint = count($data) - 1;
- }
-
- $point = ($lowPoint + $highPoint) / 2;
-
- if (floor($point) != $point) {
- $point = floor($point);
- return ($data[$point] + $data[($point + 1)]) / 2;
- } else {
- return $data[$point];
- }
- }
-
- /**
- * Get the median of the datasets Y points
- *
- * @param int $quartile The quartile to return the median from
- * @return var The Y-median across the dataset from the specified quartile
- * @access private
- */
- function _medianY($quartile = 'second')
- {
- $pointsY = array();
- $posX = $this->_minimumX;
- while ($posX <= $this->_maximumX) {
- $pointsY[] = $this->_getPointY($posX);
- $posX += $this->_stepX();
- }
- return $this->_median($pointsY, $quartile);
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Dataset/Function.php b/config/dspam/pear/Image/Graph/Dataset/Function.php
deleted file mode 100644
index 08174b1d..00000000
--- a/config/dspam/pear/Image/Graph/Dataset/Function.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Dataset.php
- */
-require_once 'Image/Graph/Dataset.php';
-
-/**
- * Function data set, points are generated by calling an external function.
- *
- * The function must be a single variable function and return a the result,
- * builtin functions that are fx sin() or cos(). User defined function can be
- * used if they are such, i.e: function myFunction($variable)
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Dataset_Function extends Image_Graph_Dataset
-{
-
- /**
- * The name of the function
- * @var string
- * @access private
- */
- var $_dataFunction;
-
- /**
- * Image_Graph_FunctionDataset [Constructor]
- *
- * @param double $minimumX The minimum X value
- * @param double $maximumX The maximum X value
- * @param string $function The name of the function, if must be a single
- * parameter function like fx sin(x) or cos(x)
- * @param int $points The number of points to create
- */
- function Image_Graph_Dataset_Function($minimumX, $maximumX, $function, $points)
- {
- parent::Image_Graph_Dataset();
- $this->_minimumX = $minimumX;
- $this->_maximumX = $maximumX;
- $this->_dataFunction = $function;
- $this->_count = $points;
- $this->_calculateMaxima();
- }
-
- /**
- * Add a point to the dataset.
- *
- * You can't add points to a function dataset
- *
- * @param int $x The X value to add
- * @param int $y The Y value to add, can be omited
- * @param var $ID The ID of the point
- */
- function addPoint($x, $y = false, $ID = false)
- {
- }
-
- /**
- * Gets a Y point from the dataset
- *
- * @param var $x The variable to apply the function to
- * @return var The function applied to the X value
- * @access private
- */
- function _getPointY($x)
- {
- $function = $this->_dataFunction;
- return $function ($x);
- }
-
- /**
- * The number of values in the dataset
- *
- * @return int The number of values in the dataset
- * @access private
- */
- function _count()
- {
- return $this->_count;
- }
-
- /**
- * The interval between 2 adjacent Y values
- *
- * @return var The interval
- * @access private
- */
- function _stepX()
- {
- return ($this->_maximumX - $this->_minimumX) / $this->_count();
- }
-
- /**
- * Calculates the Y extrema of the function
- *
- * @access private
- */
- function _calculateMaxima()
- {
- $x = $this->_minimumX;
- while ($x <= $this->_maximumX) {
- $y = $this->_getPointY($x);
- $this->_minimumY = min($y, $this->_minimumY);
- $this->_maximumY = max($y, $this->_maximumY);
- $x += $this->_stepX();
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Dataset/Random.php b/config/dspam/pear/Image/Graph/Dataset/Random.php
deleted file mode 100644
index 0b2d7c68..00000000
--- a/config/dspam/pear/Image/Graph/Dataset/Random.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Dataset/Trivial.php
- */
-require_once 'Image/Graph/Dataset/Trivial.php';
-
-/**
- * Random data set, points are generated by random.
- *
- * This dataset is mostly (if not solely) used for demo-purposes.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Dataset_Random extends Image_Graph_Dataset_Trivial
-{
-
- /**
- * RandomDataset [Constructor]
- *
- * @param int $count The number of points to create
- * @param double $minimum The minimum value the random set can be
- * @param double $maximum The maximum value the random set can be
- * @param bool $includeZero Whether 0 should be included or not as an X
- * value, may be omitted, default: false</false>
- */
- function Image_Graph_Dataset_Random($count, $minimum, $maximum, $includeZero = false)
- {
- parent::Image_Graph_Dataset_Trivial();
- $i = 0;
- while ($i < $count) {
- $this->addPoint(
- $ixc = ($includeZero ? $i : $i +1),
- rand($minimum, $maximum)
- );
- $i ++;
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Dataset/Sequential.php b/config/dspam/pear/Image/Graph/Dataset/Sequential.php
deleted file mode 100644
index 2605c409..00000000
--- a/config/dspam/pear/Image/Graph/Dataset/Sequential.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Dataset/Trivial.php
- */
-require_once 'Image/Graph/Dataset/Trivial.php';
-
-/**
- * Sequential data set, simply add points (y) 1 by 1.
- *
- * This is a single point (1D) dataset, all points are of the type (0, y1), (1,
- * y2), (2, y3)... Where the X-value is implicitly incremented. This is useful
- * for example for barcharts, where you could fx. use an {@link
- * Image_Graph_Dataset_Array} datapreprocessor to make sence of the x-values.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Dataset_Sequential extends Image_Graph_Dataset_Trivial
-{
-
- /**
- * Image_Graph_SequentialDataset [Constructor]
- */
- function Image_Graph_Dataset_Sequential($dataArray = false)
- {
- parent::Image_Graph_Dataset_Trivial();
- if (is_array($dataArray)) {
- reset($dataArray);
- foreach ($dataArray as $value) {
- $this->addPoint($value);
- }
- }
- }
-
- /**
- * Add a point to the dataset
- *
- * @param int $y The Y value to add, can be omited
- * @param var $ID The ID of the point
- */
- function addPoint($y, $ID = false)
- {
- parent::addPoint($this->count(), $y);
- }
-
- /**
- * Gets a X point from the dataset
- *
- * @param var $x The variable to return an X value from, fx in a
- * vector function data set
- * @return var The X value of the variable
- * @access private
- */
- function _getPointX($x)
- {
- return ((int) $x);
- }
-
- /**
- * The minimum X value
- * @return var The minimum X value
- */
- function minimumX()
- {
- return 0;
- }
-
- /**
- * The maximum X value
- * @return var The maximum X value
- */
- function maximumX()
- {
- return $this->count();
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Dataset/Trivial.php b/config/dspam/pear/Image/Graph/Dataset/Trivial.php
deleted file mode 100644
index 84af1c4b..00000000
--- a/config/dspam/pear/Image/Graph/Dataset/Trivial.php
+++ /dev/null
@@ -1,260 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Dataset.php
- */
-require_once 'Image/Graph/Dataset.php';
-
-/**
- * Trivial data set, simply add points (x, y) 1 by 1
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Dataset_Trivial extends Image_Graph_Dataset
-{
-
- /**
- * Data storage
- * @var array
- * @access private
- */
- var $_data;
-
- /**
- * Image_Graph_Dataset_Trivial [Constructor]
- *
- * Pass an associated array ($data[$x] = $y) to the constructor for easy
- * data addition. Alternatively (if multiple entries with same x value is
- * required) pass an array with (x, y) values: $data[$id] = array('x' => $x,
- * 'y' => $y);
- *
- * NB! If passing the 1st type array at this point, the x-values will also
- * be used for ID tags, i.e. when using {@link Image_Graph_Fill_Array}. In
- * the 2nd type the key/index of the "outermost" array will be the id tag
- * (i.e. $id in the example)
- *
- * @param array $dataArray An associated array with values to the dataset
- */
- function Image_Graph_Dataset_Trivial($dataArray = false)
- {
- parent::Image_Graph_Dataset();
- $this->_data = array ();
- if (is_array($dataArray)) {
- reset($dataArray);
- $keys = array_keys($dataArray);
- foreach ($keys as $x) {
- $y =& $dataArray[$x];
- if ((is_array($y)) && (isset($y['x'])) && (isset($y['y']))) {
- $this->addPoint($y['x'], $y['y'], (isset($y['id']) ? $y['id'] : $x));
- } else {
- $this->addPoint($x, $y, $x);
- }
- }
- }
- }
-
- /**
- * Add a point to the dataset
- *
- * $ID can contain either the ID of the point, i.e. 'DK', 123, 'George', etc. or it can contain
- * values used for creation of the HTML image map. This is achieved using is an an associated array
- * with the following values:
- *
- * 'url' The URL to create the link to
- *
- * 'alt' [optional] The alt text on the link
- *
- * 'target' [optional] The target of the link
- *
- * 'htmltags' [optional] An associated array with html tags (tag as key), fx. 'onMouseOver' => 'history.go(-1);', 'id' => 'thelink'
- *
- * @param int $x The X value to add
- * @param int $y The Y value to add, can be omited
- * @param var $ID The ID of the point
- */
- function addPoint($x, $y = false, $ID = false)
- {
- parent::addPoint($x, $y, $ID);
-
- if (is_array($ID)) {
- $data = $ID;
- $ID = (isset($data['id']) ? $data['id'] : false);
- } else {
- $data = false;
- }
-
- $this->_data[] = array ('X' => $x, 'Y' => $y, 'ID' => $ID, 'data' => $data);
- if (!is_numeric($x)) {
- $this->_maximumX = count($this->_data);
- }
- }
-
- /**
- * The first point
- *
- * @return array The last point
- */
- function first()
- {
- reset($this->_data);
- return current($this->_data);
- }
-
- /**
- * The last point
- *
- * @return array The first point
- */
- function last()
- {
- return end($this->_data);
- }
-
- /**
- * Gets a X point from the dataset
- *
- * @param var $x The variable to return an X value from, fx in a
- * vector function data set
- * @return var The X value of the variable
- * @access private
- */
- function _getPointX($x)
- {
- if (isset($this->_data[$x])) {
- return $this->_data[$x]['X'];
- } else {
- return false;
- }
- }
-
- /**
- * Gets a Y point from the dataset
- *
- * @param var $x The variable to return an Y value from, fx in a
- * vector function data set
- * @return var The Y value of the variable
- * @access private
- */
- function _getPointY($x)
- {
- if (isset($this->_data[$x])) {
- return $this->_data[$x]['Y'];
- } else {
- return false;
- }
- }
-
- /**
- * Gets a ID from the dataset
- *
- * @param var $x The variable to return an Y value from, fx in a
- * vector function data set
- * @return var The ID value of the variable
- * @access private
- */
- function _getPointID($x)
- {
- if (isset($this->_data[$x])) {
- return $this->_data[$x]['ID'];
- } else {
- return false;
- }
- }
-
- /**
- * Gets point data from the dataset
- *
- * @param var $x The variable to return an Y value from, fx in a vector
- * function data set
- * @return array The data for the point
- * @access private
- */
- function _getPointData($x)
- {
- if (isset($this->_data[$x])) {
- return $this->_data[$x]['data'];
- } else {
- return false;
- }
- }
-
- /**
- * The number of values in the dataset
- *
- * @return int The number of values in the dataset
- */
- function count()
- {
- return count($this->_data);
- }
-
- /**
- * Reset the intertal dataset pointer
- *
- * @return var The first X value
- * @access private
- */
- function _reset()
- {
- $this->_posX = 0;
- return $this->_posX;
- }
-
- /**
- * Get the next point the internal pointer refers to and advance the pointer
- *
- * @return array The next point
- * @access private
- */
- function _next()
- {
- if ($this->_posX >= $this->count()) {
- return false;
- }
- $x = $this->_getPointX($this->_posX);
- $y = $this->_getPointY($this->_posX);
- $ID = $this->_getPointID($this->_posX);
- $data = $this->_getPointData($this->_posX);
- $this->_posX += $this->_stepX();
-
- return array('X' => $x, 'Y' => $y, 'ID' => $ID, 'data' => $data);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Dataset/VectorFunction.php b/config/dspam/pear/Image/Graph/Dataset/VectorFunction.php
deleted file mode 100644
index 4250bbc0..00000000
--- a/config/dspam/pear/Image/Graph/Dataset/VectorFunction.php
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Dataset.php
- */
-require_once 'Image/Graph/Dataset.php';
-
-/**
- * Vector Function data set.
- *
- * Points are generated by calling 2 external functions, fx. x = sin(t) and y =
- * cos(t)
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Dataset
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Dataset_VectorFunction extends Image_Graph_Dataset
-{
-
- /**
- * The name of the X function
- * @var string
- * @access private
- */
- var $_functionX;
-
- /**
- * The name of the Y function
- * @var string
- * @access private
- */
- var $_functionY;
-
- /**
- * The minimum of the vector function variable
- * @var double
- * @access private
- */
- var $_minimumT;
-
- /**
- * The maximum of the vector function variable
- * @var double
- * @access private
- */
- var $_maximumT;
-
- /**
- * Image_Graph_VectorFunctionDataset [Constructor]
- *
- * @param double $minimumT The minimum value of the vector function variable
- * @param double $maximumT The maximum value of the vector function variable
- * @param string $functionX The name of the X function, if must be a single
- * parameter function like fx sin(x) or cos(x)
- * @param string $functionY The name of the Y function, if must be a single
- * parameter function like fx sin(x) or cos(x)
- * @param int $points The number of points to create
- */
- function Image_Graph_Dataset_VectorFunction($minimumT, $maximumT, $functionX, $functionY, $points)
- {
- parent::Image_Graph_Dataset();
- $this->_minimumT = $minimumT;
- $this->_maximumT = $maximumT;
- $this->_functionX = $functionX;
- $this->_functionY = $functionY;
- $this->_count = $points;
- $this->_calculateMaxima();
- }
-
- /**
- * Add a point to the dataset
- *
- * @param int $x The X value to add
- * @param int $y The Y value to add, can be omited
- * @param var $ID The ID of the point
- */
- function addPoint($x, $y = false, $ID = false)
- {
- }
-
- /**
- * Gets a X point from the dataset
- *
- * @param var $x The variable to apply the X function to
- * @return var The X function applied to the X value
- * @access private
- */
- function _getPointX($x)
- {
- $functionX = $this->_functionX;
- return $functionX ($x);
- }
-
- /**
- * Gets a Y point from the dataset
- *
- * @param var $x The variable to apply the Y function to
- * @return var The Y function applied to the X value
- * @access private
- */
- function _getPointY($x)
- {
- $functionY = $this->_functionY;
- return $functionY ($x);
- }
-
- /**
- * Reset the intertal dataset pointer
- *
- * @return var The first T value
- * @access private
- */
- function _reset()
- {
- $this->_posX = $this->_minimumT;
- return $this->_posX;
- }
-
- /**
- * The interval between 2 adjacent T values
- *
- * @return var The interval
- * @access private
- */
- function _stepX()
- {
- return ($this->_maximumT - $this->_minimumT) / $this->count();
- }
-
- /**
- * Calculates the X and Y extrema of the functions
- *
- * @access private
- */
- function _calculateMaxima()
- {
- $t = $this->_minimumT;
- while ($t <= $this->_maximumT) {
- $x = $this->_getPointX($t);
- $y = $this->_getPointY($t);
- $this->_minimumX = min($x, $this->_minimumX);
- $this->_maximumX = max($x, $this->_maximumX);
- $this->_minimumY = min($y, $this->_minimumY);
- $this->_maximumY = max($y, $this->_maximumY);
- $t += $this->_stepX();
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Element.php b/config/dspam/pear/Image/Graph/Element.php
deleted file mode 100644
index 7c352ee5..00000000
--- a/config/dspam/pear/Image/Graph/Element.php
+++ /dev/null
@@ -1,763 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Common.php
- */
-require_once 'Image/Graph/Common.php';
-
-/**
- * Representation of a element.
- *
- * The Image_Graph_Element can be drawn on the canvas, ie it has coordinates,
- * {@link Image_Graph_Line}, {@link Image_Graph_Fill}, border and background -
- * although not all of these may apply to all children.
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Element extends Image_Graph_Common
-{
-
- /**
- * The leftmost pixel of the element on the canvas
- * @var int
- * @access private
- */
- var $_left = 0;
-
- /**
- * The topmost pixel of the element on the canvas
- * @var int
- * @access private
- */
- var $_top = 0;
-
- /**
- * The rightmost pixel of the element on the canvas
- * @var int
- * @access private
- */
- var $_right = 0;
-
- /**
- * The bottommost pixel of the element on the canvas
- * @var int
- * @access private
- */
- var $_bottom = 0;
-
- /**
- * Background of the element. Default: None
- * @var FillStyle
- * @access private
- */
- var $_background = null;
-
- /**
- * Borderstyle of the element. Default: None
- * @var LineStyle
- * @access private
- */
- var $_borderStyle = null;
-
- /**
- * Line style of the element. Default: None
- * @var LineStyle
- * @access private
- */
- var $_lineStyle = 'black';
-
- /**
- * Fill style of the element. Default: None
- * @var FillStyle
- * @access private
- */
- var $_fillStyle = 'white';
-
- /**
- * Font of the element. Default: Standard font - FONT
- * @var Font
- * @access private
- * @see $IMAGE_GRAPH_FONT
- */
- var $_font = null;
-
- /**
- * Font options
- * @var array
- * @access private
- */
- var $_fontOptions = array();
-
- /**
- * Default font options
- *
- * This option is included for performance reasons. The value is calculated
- * before output and reused in default cases to avoid unnecessary recursive
- * calls.
- *
- * @var array
- * @access private
- */
- var $_defaultFontOptions = false;
-
- /**
- * Shadows options of the element
- * @var mixed
- * @access private
- */
- var $_shadow = false;
-
- /**
- * The padding displayed on the element
- * @var int
- * @access private
- */
- var $_padding = array('left' => 0, 'top' => 0, 'right' => 0, 'bottom' => 0);
-
- /**
- * Sets the background fill style of the element
- *
- * @param Image_Graph_Fill $background The background
- * @see Image_Graph_Fill
- */
- function setBackground(& $background)
- {
- if (!is_a($background, 'Image_Graph_Fill')) {
- $this->_error(
- 'Could not set background for ' . get_class($this) . ': ' .
- get_class($background), array('background' => &$background)
- );
- } else {
- $this->_background =& $background;
- $this->add($background);
- }
- }
-
- /**
- * Shows shadow on the element
- */
- function showShadow($color = 'black@0.2', $size = 5)
- {
- $this->_shadow = array(
- 'color' => $color,
- 'size' => $size
- );
- }
-
- /**
- * Sets the background color of the element.
- *
- * See colors.txt in the docs/ folder for a list of available named colors.
- *
- * @param mixed $color The color
- */
- function setBackgroundColor($color)
- {
- $this->_background = $color;
- }
-
- /**
- * Gets the background fill style of the element
- *
- * @return int A GD fillstyle representing the background style
- * @see Image_Graph_Fill
- * @access private
- */
- function _getBackground()
- {
- if (is_object($this->_background)) {
- $this->_canvas->setFill($this->_background->_getFillStyle());
- } elseif ($this->_background != null) {
- $this->_canvas->setFill($this->_background);
- } else {
- return false;
- }
- return true;
- }
-
- /**
- * Sets the border line style of the element
- *
- * @param Image_Graph_Line $borderStyle The line style of the border
- * @see Image_Graph_Line
- */
- function setBorderStyle(& $borderStyle)
- {
- if (!is_a($borderStyle, 'Image_Graph_Line')) {
- $this->_error(
- 'Could not set border style for ' . get_class($this) . ': ' .
- get_class($borderStyle), array('borderstyle' => &$borderStyle)
- );
- } else {
- $this->_borderStyle =& $borderStyle;
- $this->add($borderStyle);
- }
- }
-
- /**
- * Sets the border color of the element.
- *
- * See colors.txt in the docs/ folder for a list of available named colors.
- * @param mixed $color The color
- */
- function setBorderColor($color)
- {
- $this->_borderStyle = $color;
- }
-
- /**
- * Gets the border line style of the element
- *
- * @return int A GD linestyle representing the borders line style
- * @see Image_Graph_Line
- * @access private
- */
- function _getBorderStyle()
- {
- if (is_object($this->_borderStyle)) {
- $result = $this->_borderStyle->_getLineStyle();
- $this->_canvas->setLineThickness($result['thickness']);
- $this->_canvas->setLineColor($result['color']);
- } elseif ($this->_borderStyle != null) {
- $this->_canvas->setLineThickness(1);
- $this->_canvas->setLineColor($this->_borderStyle);
- } else {
- return false;
- }
- return true;
- }
-
- /**
- * Sets the line style of the element
- *
- * @param Image_Graph_Line $lineStyle The line style of the element
- * @see Image_Graph_Line
- */
- function setLineStyle(& $lineStyle)
- {
- if (!is_object($lineStyle)) {
- $this->_error(
- 'Could not set line style for ' . get_class($this) . ': ' .
- get_class($lineStyle), array('linestyle' => &$lineStyle)
- );
- } else {
- $this->_lineStyle =& $lineStyle;
- $this->add($lineStyle);
- }
- }
-
- /**
- * Sets the line color of the element.
- *
- * See colors.txt in the docs/ folder for a list of available named colors.
- *
- * @param mixed $color The color
- */
- function setLineColor($color)
- {
- $this->_lineStyle = $color;
- }
-
- /**
- * Gets the line style of the element
- *
- * @return int A GD linestyle representing the line style
- * @see Image_Graph_Line
- * @access private
- */
- function _getLineStyle($ID = false)
- {
- if (is_object($this->_lineStyle)) {
- $result = $this->_lineStyle->_getLineStyle($ID);
- if (is_array($result)) {
- $this->_canvas->setLineThickness($result['thickness']);
- $this->_canvas->setLineColor($result['color']);
- } else {
- $this->_canvas->setLineThickness(1);
- $this->_canvas->setLineColor($result);
- }
- } elseif ($this->_lineStyle != null) {
- $this->_canvas->setLineThickness(1);
- $this->_canvas->setLineColor($this->_lineStyle);
- } else {
- return false;
- }
- return true;
- }
-
- /**
- * Sets the fill style of the element
- *
- * @param Image_Graph_Fill $fillStyle The fill style of the element
- * @see Image_Graph_Fill
- */
- function setFillStyle(& $fillStyle)
- {
- if (!is_a($fillStyle, 'Image_Graph_Fill')) {
- $this->_error(
- 'Could not set fill style for ' . get_class($this) . ': ' .
- get_class($fillStyle), array('fillstyle' => &$fillStyle)
- );
- } else {
- $this->_fillStyle =& $fillStyle;
- $this->add($fillStyle);
- }
- }
-
- /**
- * Sets the fill color of the element.
- *
- * See colors.txt in the docs/ folder for a list of available named colors.
- *
- * @param mixed $color The color
- */
- function setFillColor($color)
- {
- $this->_fillStyle = $color;
- }
-
-
- /**
- * Gets the fill style of the element
- *
- * @return int A GD filestyle representing the fill style
- * @see Image_Graph_Fill
- * @access private
- */
- function _getFillStyle($ID = false)
- {
- if (is_object($this->_fillStyle)) {
- $this->_canvas->setFill($this->_fillStyle->_getFillStyle($ID));
- } elseif ($this->_fillStyle != null) {
- $this->_canvas->setFill($this->_fillStyle);
- } else {
- return false;
- }
- return true;
- }
-
- /**
- * Gets the font of the element.
- *
- * If not font has been set, the parent font is propagated through it's
- * children.
- *
- * @return array An associated array used for canvas
- * @access private
- */
- function _getFont($options = false)
- {
- if (($options === false) && ($this->_defaultFontOptions !== false)) {
- return $this->_defaultFontOptions;
- }
-
- if ($options === false) {
- $saveDefault = true;
- } else {
- $saveDefault = false;
- }
-
- if ($options === false) {
- $options = $this->_fontOptions;
- } else {
- $options = array_merge($this->_fontOptions, $options);
- }
-
- if ($this->_font == null) {
- $result = $this->_parent->_getFont($options);
- } else {
- $result = $this->_font->_getFont($options);
- }
-
- if ((isset($result['size'])) && (isset($result['size_rel']))) {
- $result['size'] += $result['size_rel'];
- unset($result['size_rel']);
- }
-
- if ($saveDefault) {
- $this->_defaultFontOptions = $result;
- }
-
- return $result;
- }
-
- /**
- * Sets the font of the element
- *
- * @param Image_Graph_Font $font The font of the element
- * @see Image_Graph_Font
- */
- function setFont(& $font)
- {
- if (!is_a($font, 'Image_Graph_Font')) {
- $this->_error('Invalid font set on ' . get_class($this));
- } else {
- $this->_font =& $font;
- $this->add($font);
- }
- }
-
- /**
- * Sets the font size
- *
- * @param int $size The size of the font
- */
- function setFontSize($size)
- {
- $this->_fontOptions['size'] = $size;
- }
-
- /**
- * Sets the font angle
- *
- * @param int $angle The angle of the font
- */
- function setFontAngle($angle)
- {
- if ($angle == 'vertical') {
- $this->_fontOptions['vertical'] = true;
- $this->_fontOptions['angle'] = 90;
- } else {
- $this->_fontOptions['angle'] = $angle;
- }
- }
-
- /**
- * Sets the font color
- *
- * @param mixed $color The color of the font
- */
- function setFontColor($color)
- {
- $this->_fontOptions['color'] = $color;
- }
-
- /**
- * Clip the canvas to the coordinates of the element
- *
- * @param $enable bool Whether clipping should be enabled or disabled
- * @access protected
- */
- function _clip($enable)
- {
- $this->_canvas->setClipping(
- ($enable ?
- array(
- 'x0' => min($this->_left, $this->_right),
- 'y0' => min($this->_top, $this->_bottom),
- 'x1' => max($this->_left, $this->_right),
- 'y1' => max($this->_top, $this->_bottom)
- )
- : false
- )
- );
- }
-
- /**
- * Sets the coordinates of the element
- *
- * @param int $left The leftmost pixel of the element on the canvas
- * @param int $top The topmost pixel of the element on the canvas
- * @param int $right The rightmost pixel of the element on the canvas
- * @param int $bottom The bottommost pixel of the element on the canvas
- * @access private
- */
- function _setCoords($left, $top, $right, $bottom)
- {
- if ($left === false) {
- $left = $this->_left;
- }
-
- if ($top === false) {
- $top = $this->_top;
- }
-
- if ($right === false) {
- $right = $this->_right;
- }
-
- if ($bottom === false) {
- $bottom = $this->_bottom;
- }
-
- $this->_left = min($left, $right);
- $this->_top = min($top, $bottom);
- $this->_right = max($left, $right);
- $this->_bottom = max($top, $bottom);
- }
-
- /**
- * Moves the element
- *
- * @param int $deltaX Number of pixels to move the element to the right
- * (negative values move to the left)
- * @param int $deltaY Number of pixels to move the element downwards
- * (negative values move upwards)
- * @access private
- */
- function _move($deltaX, $deltaY)
- {
- $this->_left += $deltaX;
- $this->_right += $deltaX;
- $this->_top += $deltaY;
- $this->_bottom += $deltaY;
- }
-
- /**
- * Sets the width of the element relative to the left side
- *
- * @param int $width Number of pixels the element should be in width
- * @access private
- */
- function _setWidth($width)
- {
- $this->_right = $this->_left + $width;
- }
-
- /**
- * Sets the height of the element relative to the top
- *
- * @param int $width Number of pixels the element should be in height
- * @access private
- */
- function _setHeight($height)
- {
- $this->_bottom = $this->_top + $height;
- }
-
- /**
- * Sets padding of the element
- *
- * @param mixed $padding Number of pixels the element should be padded with
- * or an array of paddings (left, top, right and bottom as index)
- */
- function setPadding($padding)
- {
- if (is_array($padding)) {
- $this->_padding = array();
- $this->_padding['left'] = (isset($padding['left']) ? $padding['left'] : 0);
- $this->_padding['top'] = (isset($padding['top']) ? $padding['top'] : 0);
- $this->_padding['right'] = (isset($padding['right']) ? $padding['right'] : 0);
- $this->_padding['bottom'] = (isset($padding['bottom']) ? $padding['bottom'] : 0);
- }
- else {
- $this->_padding = array(
- 'left' => $padding,
- 'top' => $padding,
- 'right' => $padding,
- 'bottom' => $padding
- );
- }
- }
-
- /**
- * The width of the element on the canvas
- *
- * @return int Number of pixels representing the width of the element
- */
- function width()
- {
- return abs($this->_right - $this->_left) + 1;
- }
-
- /**
- * The height of the element on the canvas
- *
- * @return int Number of pixels representing the height of the element
- */
- function height()
- {
- return abs($this->_bottom - $this->_top) + 1;
- }
-
- /**
- * Left boundary of the background fill area
- *
- * @return int Leftmost position on the canvas
- * @access private
- */
- function _fillLeft()
- {
- return $this->_left + $this->_padding['left'];
- }
-
- /**
- * Top boundary of the background fill area
- *
- * @return int Topmost position on the canvas
- * @access private
- */
- function _fillTop()
- {
- return $this->_top + $this->_padding['top'];
- }
-
- /**
- * Right boundary of the background fill area
- *
- * @return int Rightmost position on the canvas
- * @access private
- */
- function _fillRight()
- {
- return $this->_right - $this->_padding['right'];
- }
-
- /**
- * Bottom boundary of the background fill area
- *
- * @return int Bottommost position on the canvas
- * @access private
- */
- function _fillBottom()
- {
- return $this->_bottom - $this->_padding['bottom'];
- }
-
- /**
- * Returns the filling width of the element on the canvas
- *
- * @return int Filling width
- * @access private
- */
- function _fillWidth()
- {
- return $this->_fillRight() - $this->_fillLeft() + 1;
- }
-
- /**
- * Returns the filling height of the element on the canvas
- *
- * @return int Filling height
- * @access private
- */
- function _fillHeight()
- {
- return $this->_fillBottom() - $this->_fillTop() + 1;
- }
-
- /**
- * Draws a shadow 'around' the element
- *
- * Not implemented yet.
- *
- * @access private
- */
- function _displayShadow()
- {
- if (is_array($this->_shadow)) {
- $this->_canvas->startGroup(get_class($this) . '_shadow');
- $this->_canvas->setFillColor($this->_shadow['color']);
- $this->_canvas->addVertex(array('x' => $this->_right + 1, 'y' => $this->_top + $this->_shadow['size']));
- $this->_canvas->addVertex(array('x' => $this->_right + $this->_shadow['size'], 'y' => $this->_top + $this->_shadow['size']));
- $this->_canvas->addVertex(array('x' => $this->_right + $this->_shadow['size'], 'y' => $this->_bottom + $this->_shadow['size']));
- $this->_canvas->addVertex(array('x' => $this->_left + $this->_shadow['size'], 'y' => $this->_bottom + $this->_shadow['size']));
- $this->_canvas->addVertex(array('x' => $this->_left + $this->_shadow['size'], 'y' => $this->_bottom + 1));
- $this->_canvas->addVertex(array('x' => $this->_right + 1, 'y' => $this->_bottom + 1));
- $this->_canvas->polygon(array('connect' => true));
- $this->_canvas->endGroup();
- }
- }
-
- /**
- * Writes text to the canvas.
- *
- * @param int $x The x position relative to alignment
- * @param int $y The y position relative to alignment
- * @param string $text The text
- * @param int $alignmen The text alignment (both vertically and horizontally)
- */
- function write($x, $y, $text, $alignment = false, $font = false)
- {
- if (($font === false) && ($this->_defaultFontOptions !== false)) {
- $font = $this->_defaultFontOptions;
- } else {
- $font = $this->_getFont($font);
- }
-
- if ($alignment === false) {
- $alignment = IMAGE_GRAPH_ALIGN_LEFT + IMAGE_GRAPH_ALIGN_TOP;
- }
-
- $align = array();
-
- if (($alignment & IMAGE_GRAPH_ALIGN_TOP) != 0) {
- $align['vertical'] = 'top';
- } else if (($alignment & IMAGE_GRAPH_ALIGN_BOTTOM) != 0) {
- $align['vertical'] = 'bottom';
- } else {
- $align['vertical'] = 'center';
- }
-
- if (($alignment & IMAGE_GRAPH_ALIGN_LEFT) != 0) {
- $align['horizontal'] = 'left';
- } else if (($alignment & IMAGE_GRAPH_ALIGN_RIGHT) != 0) {
- $align['horizontal'] = 'right';
- } else {
- $align['horizontal'] = 'center';
- }
-
- $this->_canvas->setFont($font);
- $this->_canvas->addText(array('x' => $x, 'y' => $y, 'text' => $text, 'alignment' => $align));
- }
-
- /**
- * Output the element to the canvas
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @see Image_Graph_Common
- * @access private
- */
- function _done()
- {
- $background = $this->_getBackground();
- $border = $this->_getBorderStyle();
- if (($background) || ($border)) {
- $this->_canvas->rectangle(array('x0' => $this->_left, 'y0' => $this->_top, 'x1' => $this->_right, 'y1' => $this->_bottom));
- }
-
- $result = parent::_done();
-
- if ($this->_shadow !== false) {
- $this->_displayShadow();
- }
-
- return $result;
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Figure/Circle.php b/config/dspam/pear/Image/Graph/Figure/Circle.php
deleted file mode 100644
index a3f1652e..00000000
--- a/config/dspam/pear/Image/Graph/Figure/Circle.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Figure/Ellipse.php
- */
-require_once 'Image/Graph/Figure/Ellipse.php';
-
-/**
- * Circle to draw on the canvas
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Figure_Circle extends Image_Graph_Figure_Ellipse
-{
-
- /**
- * Image_Graph_Circle [Constructor]
- *
- * @param int $x The center pixel of the circle on the canvas
- * @param int $y The center pixel of the circle on the canvas
- * @param int $radius The radius in pixels of the circle
- */
- function Image_Graph_Figure_Circle($x, $y, $radius)
- {
- parent::Image_Graph_Ellipse($x, $y, $radius, $radius);
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Figure/Ellipse.php b/config/dspam/pear/Image/Graph/Figure/Ellipse.php
deleted file mode 100644
index 8e42f2b1..00000000
--- a/config/dspam/pear/Image/Graph/Figure/Ellipse.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * Ellipse to draw on the canvas
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Figure_Ellipse extends Image_Graph_Element
-{
-
- /**
- * Ellipse [Constructor]
- *
- * @param int $x The center pixel of the ellipse on the canvas
- * @param int $y The center pixel of the ellipse on the canvas
- * @param int $radiusX The width in pixels of the box on the canvas
- * @param int $radiusY The height in pixels of the box on the canvas
- */
- function Image_Graph_Figure_Ellipse($x, $y, $radiusX, $radiusY)
- {
- parent::Image_Graph_Element();
- $this->_setCoords($x - $radiusX, $y - $radiusY, $x + $radiusX, $y + $radiusY);
- }
-
- /**
- * Output the ellipse
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->ellipse(
- array(
- 'x' => ($this->_left + $this->_right) / 2,
- 'y' => ($this->_top + $this->_bottom) / 2,
- 'rx' => $this->width(),
- 'ry' => $this->height()
- )
- );
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Figure/Polygon.php b/config/dspam/pear/Image/Graph/Figure/Polygon.php
deleted file mode 100644
index 5b78f635..00000000
--- a/config/dspam/pear/Image/Graph/Figure/Polygon.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * Polygon to draw on the canvas
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Figure_Polygon extends Image_Graph_Element
-{
-
- /**
- * Polygon vertices
- *
- * @var array
- * @access private
- */
- var $_polygon = array ();
-
- /**
- * Add a vertex to the polygon
- *
- * @param int $x X-coordinate
- * @param int $y Y-coordinate
- */
- function addVertex($x, $y)
- {
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
- }
-
- /**
- * Output the polygon
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->polygon(array('connect' => true));
-
- $this->_canvas->endGroup();
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Figure/Rectangle.php b/config/dspam/pear/Image/Graph/Figure/Rectangle.php
deleted file mode 100644
index dbca58e0..00000000
--- a/config/dspam/pear/Image/Graph/Figure/Rectangle.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * Rectangle to draw on the canvas
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Figure
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Figure_Rectangle extends Image_Graph_Element
-{
-
- /**
- * Rectangle [Construcor]
- *
- * @param int $x The leftmost pixel of the box on the canvas
- * @param int $y The topmost pixel of the box on the canvas
- * @param int $width The width in pixels of the box on the canvas
- * @param int $height The height in pixels of the box on the canvas
- */
- function Image_Graph_Figure_Rectangle($x, $y, $width, $height)
- {
- parent::Image_Graph_Element();
- $this->_setCoords($x, $y, $x + $width, $y + $height);
- }
-
- /**
- * Output the box
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->rectangle(
- array(
- 'x0' => $this->_left,
- 'y0' => $this->_top,
- 'x1' => $this->_right,
- 'y1' => $this->_bottom
- )
- );
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Fill.php b/config/dspam/pear/Image/Graph/Fill.php
deleted file mode 100644
index f1cd36d7..00000000
--- a/config/dspam/pear/Image/Graph/Fill.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * Style used for filling elements.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Fill extends Image_Graph_Common
-{
-
- /**
- * Resets the fillstyle
- *
- * @access private
- */
- function _reset()
- {
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Fill/Array.php b/config/dspam/pear/Image/Graph/Fill/Array.php
deleted file mode 100644
index 8d0b2dfa..00000000
--- a/config/dspam/pear/Image/Graph/Fill/Array.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Fill.php
- */
-require_once 'Image/Graph/Fill.php';
-
-/**
- * A sequential array of fillstyles.
- *
- * This is used for filling multiple objects within the same element with
- * different styles. This is done by adding multiple fillstyles to a FillArrray
- * structure. The fillarray will then when requested return the 'next' fillstyle
- * in sequential order. It is possible to specify ID tags to each fillstyle,
- * which is used to make sure some data uses a specific fillstyle (i.e. in a
- * multiple-/stackedbarchart you name the {@link Image_Graph_Dataset}s and uses
- * this name as ID tag when adding the dataset's associated fillstyle to the
- * fillarray.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Fill_Array extends Image_Graph_Fill
-{
-
- /**
- * The fill array
- * @var array
- * @access private
- */
- var $_fillStyles = array ();
-
- /**
- * Resets the fillstyle
- *
- * @access private
- */
- function _reset()
- {
- reset($this->_fillStyles);
- }
-
- /**
- * Add a fill style to the array
- *
- * @param Image_Graph_Fill $style The style to add
- * @param string $id The id or name of the style
- */
- function &add(& $style, $id = '')
- {
- if ($id == '') {
- $this->_fillStyles[] =& $style;
- } else {
- $this->_fillStyles[$id] =& $style;
- }
- reset($this->_fillStyles);
- return $style;
- }
-
- /**
- * Add a color to the array
- *
- * @param int $color The color
- * @param string $id The id or name of the color
- */
- function addColor($color, $id = false)
- {
- if ($id !== false) {
- $this->_fillStyles[$id] = $color;
- } else {
- $this->_fillStyles[] = $color;
- }
- reset($this->_fillStyles);
- }
-
- /**
- * Return the fillstyle
- *
- * @return int A GD fillstyle
- * @access private
- */
- function _getFillStyle($ID = false)
- {
- if (($ID === false) || (!isset($this->_fillStyles[$ID]))) {
- $ID = key($this->_fillStyles);
- if (!next($this->_fillStyles)) {
- reset($this->_fillStyles);
- }
- }
- $fillStyle =& $this->_fillStyles[$ID];
-
- if (is_object($fillStyle)) {
- return $fillStyle->_getFillStyle($ID);
- } elseif ($fillStyle !== null) {
- return $fillStyle;
- } else {
- return parent::_getFillStyle($ID);
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Fill/Gradient.php b/config/dspam/pear/Image/Graph/Fill/Gradient.php
deleted file mode 100644
index 9cf23a6b..00000000
--- a/config/dspam/pear/Image/Graph/Fill/Gradient.php
+++ /dev/null
@@ -1,149 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Fill/Image.php
- */
-require_once 'Image/Graph/Fill/Image.php';
-
-/**
- * Fill using a gradient color.
- * This creates a scaled fillstyle with colors flowing gradiently between 2
- * specified RGB values. Several directions are supported:
- *
- * 1 Vertically (IMAGE_GRAPH_GRAD_VERTICAL)
- *
- * 2 Horizontally (IMAGE_GRAPH_GRAD_HORIZONTAL)
- *
- * 3 Mirrored vertically (the color grades from a- b-a vertically)
- * (IMAGE_GRAPH_GRAD_VERTICAL_MIRRORED)
- *
- * 4 Mirrored horizontally (the color grades from a-b-a horizontally)
- * IMAGE_GRAPH_GRAD_HORIZONTAL_MIRRORED
- *
- * 5 Diagonally from top-left to right-bottom
- * (IMAGE_GRAPH_GRAD_DIAGONALLY_TL_BR)
- *
- * 6 Diagonally from bottom-left to top-right
- * (IMAGE_GRAPH_GRAD_DIAGONALLY_BL_TR)
- *
- * 7 Radially (concentric circles in the center) (IMAGE_GRAPH_GRAD_RADIAL)
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Fill_Gradient extends Image_Graph_Fill //Image_Graph_Fill_Image
-{
-
- /**
- * The direction of the gradient
- * @var int
- * @access private
- */
- var $_direction;
-
- /**
- * The first color to gradient
- * @var mixed
- * @access private
- */
- var $_startColor;
-
- /**
- * The last color to gradient
- * @var mixed
- * @access private
- */
- var $_endColor;
-
- /**
- * Image_Graph_GradientFill [Constructor]
- *
- * @param int $direction The direction of the gradient
- * @param mixed $startColor The value of the starting color
- * @param mixed $endColor The value of the ending color
- */
- function Image_Graph_Fill_Gradient($direction, $startColor, $endColor)
- {
- parent::Image_Graph_Fill();
- $this->_direction = $direction;
- $this->_startColor = $startColor;
- $this->_endColor = $endColor;
- }
-
- /**
- * Return the fillstyle
- *
- * @return int A GD fillstyle
- * @access private
- */
- function _getFillStyle($ID = false)
- {
- switch ($this->_direction) {
- case IMAGE_GRAPH_GRAD_HORIZONTAL:
- $direction = 'horizontal';
- break;
- case IMAGE_GRAPH_GRAD_VERTICAL:
- $direction = 'vertical';
- break;
- case IMAGE_GRAPH_GRAD_HORIZONTAL_MIRRORED:
- $direction = 'horizontal_mirror';
- break;
- case IMAGE_GRAPH_GRAD_VERTICAL_MIRRORED:
- $direction = 'vertical_mirror';
- break;
- case IMAGE_GRAPH_GRAD_DIAGONALLY_TL_BR:
- $direction = 'diagonal_tl_br';
- break;
- case IMAGE_GRAPH_GRAD_DIAGONALLY_BL_TR:
- $direction = 'diagonal_bl_tr';
- break;
- case IMAGE_GRAPH_GRAD_RADIAL:
- $direction = 'radial';
- break;
- }
-
- return array(
- 'type' => 'gradient',
- 'start' => $this->_startColor,
- 'end' => $this->_endColor,
- 'direction' => $direction
- );
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Fill/Image.php b/config/dspam/pear/Image/Graph/Fill/Image.php
deleted file mode 100644
index 9b1fb142..00000000
--- a/config/dspam/pear/Image/Graph/Fill/Image.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Fill.php
- */
-require_once 'Image/Graph/Fill.php';
-
-/**
- * Fill using an image.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Fill
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Fill_Image extends Image_Graph_Fill
-{
-
- /**
- * The file name
- * @var stirng
- * @access private
- */
- var $_filename;
-
- /**
- * The GD Image resource
- * @var resource
- * @access private
- */
- var $_image;
-
- /**
- * Resize the image to the bounding box of the area to fill
- * @var bool
- * @access private
- */
- var $_resize = true;
-
- /**
- * Image_Graph_ImageFill [Constructor]
- *
- * @param string $filename The filename and path of the image to use for filling
- */
- function Image_Graph_Fill_Image($filename)
- {
- parent::Image_Graph_Fill();
- $this->_filename = $filename;
- }
-
- /**
- * Return the fillstyle
- *
- * @param (something) $ID (Add description)
- * @return int A GD fillstyle
- * @access private
- */
- function _getFillStyle($ID = false)
- {
- return $this->_filename;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Font.php b/config/dspam/pear/Image/Graph/Font.php
deleted file mode 100644
index ad018a27..00000000
--- a/config/dspam/pear/Image/Graph/Font.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Text
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Common.php
- */
-require_once 'Image/Graph/Common.php';
-
-/**
- * A font.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Text
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Font extends Image_Graph_Common
-{
-
- /**
- * The name of the font
- * @var string
- * @access private
- */
- var $_name = false;
-
- /**
- * The angle of the output
- * @var int
- * @access private
- */
- var $_angle = false;
-
- /**
- * The size of the font
- * @var int
- * @access private
- */
- var $_size = 11;
-
- /**
- * The color of the font
- * @var Color
- * @access private
- */
- var $_color = 'black';
-
- /**
- * Image_Graph_Font [Constructor]
- */
- function Image_Graph_Font($name = false, $size = false)
- {
- parent::Image_Graph_Common();
- if ($name !== false) {
- $this->_name = $name;
- }
- if ($size !== false) {
- $this->_size = $size;
- }
- }
-
- /**
- * Set the color of the font
- *
- * @param mixed $color The color object of the Font
- */
- function setColor($color)
- {
- $this->_color = $color;
- }
-
- /**
- * Set the angle slope of the output font.
- *
- * 0 = normal, 90 = bottom and up, 180 = upside down, 270 = top and down
- *
- * @param int $angle The angle in degrees to slope the text
- */
- function setAngle($angle)
- {
- $this->_angle = $angle;
- }
-
- /**
- * Set the size of the font
- *
- * @param int $size The size in pixels of the font
- */
- function setSize($size)
- {
- $this->_size = $size;
- }
-
- /**
- * Get the font 'array'
- *
- * @return array The font 'summary' to pass to the canvas
- * @access private
- */
- function _getFont($options = false)
- {
- if ($options === false) {
- $options = array();
- }
-
- if ($this->_name !== false) {
- $options['name'] = $this->_name;
- }
-
- if (!isset($options['color'])) {
- $options['color'] = $this->_color;
- }
-
- if (!isset($options['size'])) {
- $options['size'] = $this->_size;
- }
-
- if ((!isset($options['angle'])) && ($this->_angle !== false)) {
- $options['angle'] = $this->_angle;
- }
- return $options;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Grid.php b/config/dspam/pear/Image/Graph/Grid.php
deleted file mode 100644
index 4406dbdd..00000000
--- a/config/dspam/pear/Image/Graph/Grid.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * A grid displayed on the plotarea.
- *
- * A grid is associated with a primary and a secondary axis. The grid is
- * displayed in context of the primary axis' label interval - meaning that a
- * grid for an Y-axis displays a grid for every label on the y-axis (fx. a {@link
- * Image_Graph_Grid_Lines}, which displays horizontal lines for every label on
- * the y-axis from the x-axis minimum to the x-axis maximum). You should always
- * add the grid as one of the first elements to the plotarea. This is due to the
- * fact that elements are 'outputted' in the order they are added, i.e. if an
- * grid is added *after* a chart, the grid will be displayed on top of the chart
- * which is (probably) not desired.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Grid extends Image_Graph_Plotarea_Element
-{
-
- /**
- * The primary axis: the grid 'refers' to
- * @var Axis
- * @access private
- */
- var $_primaryAxis = null;
-
- /**
- * The secondary axis
- * @var Axis
- * @access private
- */
- var $_secondaryAxis = null;
-
- /**
- * Set the primary axis: the grid should 'refer' to
- *
- * @param Image_Graph_Axis $axis The axis
- * @access private
- */
- function _setPrimaryAxis(& $axis)
- {
- $this->_primaryAxis =& $axis;
- }
-
- /**
- * Set the secondary axis
- *
- * @param Image_Graph_Axis $axis The axis
- * @access private
- */
- function _setSecondaryAxis(& $axis)
- {
- $this->_secondaryAxis =& $axis;
- }
-
- /**
- * Get the points on the secondary axis that the grid should 'connect'
- *
- * @return array The secondary data values that should mark the grid 'end points'
- * @access private
- */
- function _getSecondaryAxisPoints()
- {
- if (is_a($this->_secondaryAxis, 'Image_Graph_Axis_Radar')) {
- $secondaryValue = false;
- $firstValue = $secondaryValue;
- while (($secondaryValue = $this->_secondaryAxis->_getNextLabel($secondaryValue)) !== false) {
- $secondaryAxisPoints[] = $secondaryValue;
- }
- $secondaryAxisPoints[] = $firstValue;
- } else {
- $secondaryAxisPoints = array ('#min#', '#max#');
- }
- return $secondaryAxisPoints;
- }
-
- /**
- * Get the X pixel position represented by a value
- *
- * @param double $point the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointX($point)
- {
- if (($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) ||
- ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY))
- {
- $point['AXIS_Y'] = $this->_primaryAxis->_type;
- } else {
- $point['AXIS_Y'] = $this->_secondaryAxis->_type;
- }
- return parent::_pointX($point);
- }
-
- /**
- * Get the Y pixel position represented by a value
- *
- * @param double $point the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointY($point)
- {
- if (($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) ||
- ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y_SECONDARY))
- {
- $point['AXIS_Y'] = $this->_primaryAxis->_type;
- } else {
- $point['AXIS_Y'] = $this->_secondaryAxis->_type;
- }
- return parent::_pointY($point);
- }
-
- /**
- * Causes the object to update all sub elements coordinates.
- *
- * @access private
- */
- function _updateCoords()
- {
- $this->_setCoords(
- $this->_parent->_plotLeft,
- $this->_parent->_plotTop,
- $this->_parent->_plotRight,
- $this->_parent->_plotBottom
- );
- parent::_updateCoords();
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Grid/Bars.php b/config/dspam/pear/Image/Graph/Grid/Bars.php
deleted file mode 100644
index a75782f2..00000000
--- a/config/dspam/pear/Image/Graph/Grid/Bars.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Grid.php
- */
-require_once 'Image/Graph/Grid.php';
-
-/**
- * Display alternating bars on the plotarea.
- *
- * {@link Image_Graph_Grid}
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Grid_Bars extends Image_Graph_Grid
-{
-
- /**
- * Output the grid
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!$this->_primaryAxis) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $i = 0;
- $value = false;
-
- $previousValue = 0;
-
- $secondaryPoints = $this->_getSecondaryAxisPoints();
-
- while (($value = $this->_primaryAxis->_getNextLabel($value)) !== false) {
- if ($i == 1) {
- reset($secondaryPoints);
- list ($id, $previousSecondaryValue) = each($secondaryPoints);
- while (list ($id, $secondaryValue) = each($secondaryPoints)) {
- if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_X) {
- $p1 = array ('Y' => $secondaryValue, 'X' => $value);
- $p2 = array ('Y' => $previousSecondaryValue, 'X' => $value);
- $p3 = array ('Y' => $previousSecondaryValue, 'X' => $previousValue);
- $p4 = array ('Y' => $secondaryValue, 'X' => $previousValue);
- } else {
- $p1 = array ('X' => $secondaryValue, 'Y' => $value);
- $p2 = array ('X' => $previousSecondaryValue, 'Y' => $value);
- $p3 = array ('X' => $previousSecondaryValue, 'Y' => $previousValue);
- $p4 = array ('X' => $secondaryValue, 'Y' => $previousValue);
- }
-
- $this->_canvas->addVertex(array('x' => $this->_pointX($p1), 'y' => $this->_pointY($p1)));
- $this->_canvas->addVertex(array('x' => $this->_pointX($p2), 'y' => $this->_pointY($p2)));
- $this->_canvas->addVertex(array('x' => $this->_pointX($p3), 'y' => $this->_pointY($p3)));
- $this->_canvas->addVertex(array('x' => $this->_pointX($p4), 'y' => $this->_pointY($p4)));
-
- $this->_getFillStyle();
- $this->_canvas->polygon(array('connect' => true));
-
- $previousSecondaryValue = $secondaryValue;
- }
- }
- $i = 1 - $i;
- $previousValue = $value;
- }
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Grid/Lines.php b/config/dspam/pear/Image/Graph/Grid/Lines.php
deleted file mode 100644
index 805778ee..00000000
--- a/config/dspam/pear/Image/Graph/Grid/Lines.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Grid.php
- */
-require_once 'Image/Graph/Grid.php';
-
-/**
- * Display a line grid on the plotarea.
- *
- * {@link Image_Graph_Grid}
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Grid_Lines extends Image_Graph_Grid
-{
-
- /**
- * GridLines [Constructor]
- */
- function Image_Graph_Grid_Lines()
- {
- parent::Image_Graph_Grid();
- $this->_lineStyle = 'lightgrey';
- }
-
- /**
- * Output the grid
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!$this->_primaryAxis) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $value = false;
-
- $secondaryPoints = $this->_getSecondaryAxisPoints();
-
- while (($value = $this->_primaryAxis->_getNextLabel($value)) !== false) {
- reset($secondaryPoints);
- list ($id, $previousSecondaryValue) = each($secondaryPoints);
- while (list ($id, $secondaryValue) = each($secondaryPoints)) {
- if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) {
- $p1 = array ('X' => $secondaryValue, 'Y' => $value);
- $p2 = array ('X' => $previousSecondaryValue, 'Y' => $value);
- } else {
- $p1 = array ('X' => $value, 'Y' => $secondaryValue);
- $p2 = array ('X' => $value, 'Y' => $previousSecondaryValue);
- }
-
- $x1 = $this->_pointX($p1);
- $y1 = $this->_pointY($p1);
- $x2 = $this->_pointX($p2);
- $y2 = $this->_pointY($p2);
-
- $previousSecondaryValue = $secondaryValue;
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x1, 'y0' => $y1, 'x1' => $x2, 'y1' => $y2));
- }
- }
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Grid/Polar.php b/config/dspam/pear/Image/Graph/Grid/Polar.php
deleted file mode 100644
index 03b1b916..00000000
--- a/config/dspam/pear/Image/Graph/Grid/Polar.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- * @since File available since Release 0.3.0dev2
- */
-
-/**
- * Include file Image/Graph/Grid.php
- */
-require_once 'Image/Graph/Grid.php';
-
-/**
- * Display a line grid on the plotarea.
- *
- * {@link Image_Graph_Grid}
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Grid
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @since Class available since Release 0.3.0dev2
- */
-class Image_Graph_Grid_Polar extends Image_Graph_Grid
-{
-
- /**
- * GridLines [Constructor]
- */
- function Image_Graph_Grid_Polar()
- {
- parent::Image_Graph_Grid();
- $this->_lineStyle = 'lightgrey';
- }
-
- /**
- * Output the grid
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!$this->_primaryAxis) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $value = false;
-
- $p0 = array ('X' => '#min#', 'Y' => '#min#');
- if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) {
- $p1 = array ('X' => '#min#', 'Y' => '#max#');
- $r0 = abs($this->_pointY($p1) - $this->_pointY($p0));
- } else {
- $p1 = array ('X' => '#max#', 'Y' => '#min#');
- $r0 = abs($this->_pointX($p1) - $this->_pointX($p0));
- }
-
- $cx = $this->_pointX($p0);
- $cy = $this->_pointY($p0);
-
- $span = $this->_primaryAxis->_axisSpan;
-
- while (($value = $this->_primaryAxis->_getNextLabel($value)) !== false) {
- $r = $r0 * ($value - $this->_primaryAxis->_getMinimum()) / $span;
-
- $this->_getLineStyle();
- $this->_canvas->ellipse(array('x' => $cx, 'y' => $cy, 'rx' => $r, 'ry' => $r));
- }
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Images/Icons/pinpoint.png b/config/dspam/pear/Image/Graph/Images/Icons/pinpoint.png
deleted file mode 100644
index d23f0b7d..00000000
--- a/config/dspam/pear/Image/Graph/Images/Icons/pinpoint.png
+++ /dev/null
Binary files differ
diff --git a/config/dspam/pear/Image/Graph/Images/Icons/pinpointr.png b/config/dspam/pear/Image/Graph/Images/Icons/pinpointr.png
deleted file mode 100644
index 2455e09b..00000000
--- a/config/dspam/pear/Image/Graph/Images/Icons/pinpointr.png
+++ /dev/null
Binary files differ
diff --git a/config/dspam/pear/Image/Graph/Images/Maps/README b/config/dspam/pear/Image/Graph/Images/Maps/README
deleted file mode 100644
index 1b984bbb..00000000
--- a/config/dspam/pear/Image/Graph/Images/Maps/README
+++ /dev/null
@@ -1,17 +0,0 @@
-In this folder the files for the Image_Graph_Plot_Map are located. They should be the
-following format:
-
-[map name].png
-[map name].txt
-
-The [map name].png (fx. europe.png) is the actual image presenting the map. The
-[map name].txt file is the location -> (x,y) conversion table. In this file the
-named locations is written on every line with the x and y coordinates after the
-name (with a TAB), i.e.:
-
-Denmark 10 30
-England 4 30
-
-Where Denmark will be 'located' on (10, 30) on the map, and England at (4, 30).
-
-No maps are released by default due to we want to avoid possible copyright issues. \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Layout.php b/config/dspam/pear/Image/Graph/Layout.php
deleted file mode 100644
index 1561aafa..00000000
--- a/config/dspam/pear/Image/Graph/Layout.php
+++ /dev/null
@@ -1,219 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plotarea/Element.php
- */
-require_once 'Image/Graph/Plotarea/Element.php';
-
-/**
- * Defines an area of the graph that can be layout'ed.
- *
- * Any class that extends this abstract class can be used within a layout on the canvas.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Layout extends Image_Graph_Plotarea_Element
-{
-
- /**
- * Has the coordinates already been updated?
- * @var bool
- * @access private
- */
- var $_updated = false;
-
- /**
- * Alignment of the area for each vertice (left, top, right, bottom)
- * @var array
- * @access private
- */
- var $_alignSize = array ('left' => 0, 'top' => 0, 'right' => 0, 'bottom' => 0);
-
- /**
- * Image_Graph_Layout [Constructor]
- */
- function Image_Graph_Layout()
- {
- parent::Image_Graph_Element();
- $this->_padding = array('left' => 2, 'top' => 2, 'right' => 2, 'bottom' => 2);
- }
-
- /**
- * Resets the elements
- *
- * @access private
- */
- function _reset()
- {
- parent::_reset();
- $this->_updated = false;
- }
-
- /**
- * Calculate the edge offset for a specific edge
- * @param array $alignSize The alignment of the edge
- * @param int $offset The offset/posision of the at 0% edge
- * @param int $total The total size (width or height) of the element
- * @param int $multiplier +/- 1 if the edge should pushed either toward more
- * negative or positive values
- * @since 0.3.0dev2
- * @access private
- */
- function _calcEdgeOffset($alignSize, $offset, $total, $multiplier)
- {
- if ($alignSize['unit'] == 'percentage') {
- return $offset + $multiplier * ($total * $alignSize['value'] / 100);
- } elseif ($alignSize['unit'] == 'pixels') {
- if (($alignSize['value'] == 'auto_part1') || ($alignSize['value'] == 'auto_part2')) {
- $alignSize['value'] = $multiplier * $this->_parent->_getAbsolute($alignSize['value']);
- }
- if ($alignSize['value'] < 0) {
- return $offset + $multiplier * ($total + $alignSize['value']);
- } else {
- return $offset + $multiplier * $alignSize['value'];
- }
- }
- return $offset;
- }
-
- /**
- * Calculate the edges
- *
- * @access private
- */
- function _calcEdges()
- {
- if ((is_array($this->_alignSize)) && (!$this->_updated)) {
- $left = $this->_calcEdgeOffset(
- $this->_alignSize['left'],
- $this->_parent->_fillLeft(),
- $this->_parent->_fillWidth(),
- +1
- );
- $top = $this->_calcEdgeOffset(
- $this->_alignSize['top'],
- $this->_parent->_fillTop(),
- $this->_parent->_fillHeight(),
- +1
- );
- $right = $this->_calcEdgeOffset(
- $this->_alignSize['right'],
- $this->_parent->_fillRight(),
- $this->_parent->_fillWidth(),
- -1
- );
- $bottom = $this->_calcEdgeOffset(
- $this->_alignSize['bottom'],
- $this->_parent->_fillBottom(),
- $this->_parent->_fillHeight(),
- -1
- );
-
- $this->_setCoords(
- $left + $this->_padding['left'],
- $top + $this->_padding['top'],
- $right - $this->_padding['right'],
- $bottom - $this->_padding['bottom']
- );
- }
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- $this->_calcEdges();
- parent::_updateCoords();
- }
-
- /**
- * Pushes an edge of area a specific distance 'into' the canvas
- *
- * @param int $edge The edge of the canvas to align relative to
- * @param int $size The number of pixels or the percentage of the canvas total size to occupy relative to the selected alignment edge
- * @access private
- */
- function _push($edge, $size = '100%')
- {
- $result = array();
- if (ereg("([0-9]*)\%", $size, $result)) {
- $this->_alignSize[$edge] = array(
- 'value' => min(100, max(0, $result[1])),
- 'unit' => 'percentage'
- );
- } else {
- $this->_alignSize[$edge] = array(
- 'value' => $size,
- 'unit' => 'pixels'
- );
- }
- }
-
- /**
- * Sets the coordinates of the element
- *
- * @param int $left The leftmost pixel of the element on the canvas
- * @param int $top The topmost pixel of the element on the canvas
- * @param int $right The rightmost pixel of the element on the canvas
- * @param int $bottom The bottommost pixel of the element on the canvas
- * @access private
- */
- function _setCoords($left, $top, $right, $bottom)
- {
- parent::_setCoords($left, $top, $right, $bottom);
- $this->_updated = true;
- }
-
- /**
- * Returns the calculated "auto" size
- *
- * @return int The calculated auto size
- * @access private
- */
- function _getAutoSize()
- {
- return false;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Layout/Horizontal.php b/config/dspam/pear/Image/Graph/Layout/Horizontal.php
deleted file mode 100644
index 414a168c..00000000
--- a/config/dspam/pear/Image/Graph/Layout/Horizontal.php
+++ /dev/null
@@ -1,186 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Layout.php
- */
-require_once 'Image/Graph/Layout.php';
-
-/**
- * Layout for displaying two elements side by side.
- *
- * This splits the area contained by this element in two, side by side by
- * a specified percentage (relative to the left side). A layout can be nested.
- * Fx. a HorizontalLayout can layout two {@link Image_Graph_Layout_Vertical}s to
- * make a 2 by 2 matrix of 'element-areas'.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Layout_Horizontal extends Image_Graph_Layout
-{
-
- /**
- * Part1 of the layout
- * @var GraPHPElemnt
- * @access private
- */
- var $_part1 = false;
-
- /**
- * Part2 of the layout
- * @var GraPHPElemnt
- * @access private
- */
- var $_part2 = false;
-
- /**
- * The percentage of the graph where the split occurs
- * @var int
- * @access private
- */
- var $_percentage;
-
- /**
- * An absolute position where the split occurs
- * @var int
- * @access private
- */
- var $_absolute;
-
- /**
- * HorizontalLayout [Constructor]
- *
- * @param Image_Graph_Element $part1 The 1st part of the layout
- * @param Image_Graph_Element $part2 The 2nd part of the layout
- * @param int $percentage The percentage of the layout to split at
- */
- function Image_Graph_Layout_Horizontal(& $part1, & $part2, $percentage = 50)
- {
- parent::Image_Graph_Layout();
- if (!is_a($part1, 'Image_Graph_Layout')) {
- $this->_error(
- 'Cannot create layout on non-layouable parts: ' . get_class($part1),
- array('part1' => &$part1, 'part2' => &$part2)
- );
- } elseif (!is_a($part2, 'Image_Graph_Layout')) {
- $this->_error(
- 'Cannot create layout on non-layouable parts: ' . get_class($part2),
- array('part1' => &$part1, 'part2' => &$part2)
- );
- } else {
- $this->_part1 =& $part1;
- $this->_part2 =& $part2;
- $this->add($this->_part1);
- $this->add($this->_part2);
- };
- if ($percentage === 'auto') {
- $this->_percentage = false;
- $this->_absolute = 'runtime';
- } else {
- $this->_absolute = false;
- $this->_percentage = max(0, min(100, $percentage));
- }
- $this->_split();
- $this->_padding = array('left' => 0, 'top' => 0, 'right' => 0, 'bottom' => 0);
- }
-
- /**
- * Gets the absolute size of one of the parts.
- *
- * @param string $part The name of the part - auto_part(1|2)
- * @return int The number of pixels the edge should be pushed
- * @since 0.3.0dev2
- * @access private
- */
- function _getAbsolute(&$part)
- {
- $part1Size = $this->_part1->_getAutoSize();
- $part2Size = $this->_part2->_getAutoSize();
- $this->_percentage = false;
- if (($part1Size !== false) and ($part2Size !== false)) {
- $width = $this->_fillWidth() * $part1Size / ($part1Size + $part2Size);
- } elseif ($part1Size !== false) {
- $width = $part1Size;
- } elseif ($part2Size !== false) {
- $width = -$part2Size;
- } else {
- $width = $this->_fillWidth() / 2;
- }
- if ($part == 'auto_part2') {
- $width = -$width;
- }
-
- return $width;
- }
-
- /**
- * Splits the layout between the parts, by the specified percentage
- *
- * @access private
- */
- function _split()
- {
- if (($this->_part1) && ($this->_part2)) {
- if ($this->_percentage !== false) {
- $split1 = 100 - $this->_percentage;
- $split2 = $this->_percentage;
- $this->_part1->_push('right', "$split1%");
- $this->_part2->_push('left', "$split2%");
- } else {
- $this->_part1->_push('right', 'auto_part1');
- $this->_part2->_push('left', 'auto_part2');
- }
- }
- }
-
- /**
- * Output the layout to the canvas
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (($this->_part1) && ($this->_part2)) {
- return (($this->_part1->_done()) && ($this->_part2->_done()));
- }
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Layout/Matrix.php b/config/dspam/pear/Image/Graph/Layout/Matrix.php
deleted file mode 100644
index 8acec871..00000000
--- a/config/dspam/pear/Image/Graph/Layout/Matrix.php
+++ /dev/null
@@ -1,201 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Layout.php
- */
-require_once 'Image/Graph/Layout.php';
-
-/**
- * Layout for displaying elements in a matix.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Layout_Matrix extends Image_Graph_Layout
-{
-
- /**
- * Layout matrix
- * @var array
- * @access private
- */
- var $_matrix = false;
-
- /**
- * The number of rows
- * @var int
- * @access private
- */
- var $_rows = false;
-
- /**
- * The number of columns
- * @var int
- * @access private
- */
- var $_cols = false;
-
- /**
- * Image_Graph_Layout_Matrix [Constructor]
- *
- * @param int $rows The number of rows
- * @param int $cols The number of cols
- * @param bool $autoCreate Specifies whether the matrix should automatically
- * be filled with newly created Image_Graph_Plotares objects, or they will
- * be added manually
- */
- function Image_Graph_Layout_Matrix($rows, $cols, $autoCreate = true)
- {
- parent::Image_Graph_Layout();
-
- $this->_rows = $rows;
- $this->_cols = $cols;
- if (($this->_rows > 0) && ($this->_cols > 0)) {
- $this->_matrix = array(array());
- for ($i = 0; $i < $this->_rows; $i++) {
- for ($j = 0; $j < $this->_cols; $j++) {
- if ($autoCreate) {
- $this->_matrix[$i][$j] =& $this->addNew('plotarea');
- $this->_pushEdges($i, $j);
- } else {
- $this->_matrix[$i][$j] = false;
- }
- }
- }
- }
- }
-
- /**
- * Pushes the edges on the specified position in the matrix
- *
- * @param int $row The row
- * @param int $col The column
- * @access private
- */
- function _pushEdges($row, $col)
- {
- if ((isset($this->_matrix[$row])) && (isset($this->_matrix[$row][$col]))) {
- $height = 100/$this->_rows;
- $width = 100/$this->_cols;
- if ($col > 0) {
- $this->_matrix[$row][$col]->_push('left', round($col*$width) . '%');
- }
- if ($col+1 < $this->_cols) {
- $this->_matrix[$row][$col]->_push('right', round(100-($col+1)*$width) . '%');
- }
- if ($row > 0) {
- $this->_matrix[$row][$col]->_push('top', round($row*$height) . '%');
- }
- if ($row+1 < $this->_rows) {
- $this->_matrix[$row][$col]->_push('bottom', round(100-($row+1)*$height) . '%');
- }
- }
- }
-
- /**
- * Get the area on the specified position in the matrix
- *
- * @param int $row The row
- * @param int $col The column
- * @return Image_Graph_Layout The element of position ($row, $col) in the
- * matrix
- */
- function &getEntry($row, $col)
- {
- if ((isset($this->_matrix[$row])) && (isset($this->_matrix[$row][$col]))) {
- return $this->_matrix[$row][$col];
- } else {
- $result = null;
- return $result;
- }
- }
-
- /**
- * Get the area on the specified position in the matrix
- *
- * @param int $row The row
- * @param int $col The column
- * @param Image_Graph_Layout $element The element to set in the position
- * ($row, $col) in the matrix
- */
- function setEntry($row, $col, &$element)
- {
- $this->_matrix[$row][$col] =& $element;
- $this->_pushEdges($row, $col);
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- for ($i = 0; $i < $this->_rows; $i++) {
- for ($j = 0; $j < $this->_cols; $j++) {
- $element =& $this->getEntry($i, $j);
- $this->add($element);
- }
- }
- parent::_updateCoords();
- }
-
- /**
- * Output the layout to the canvas
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- $result = true;
- for ($i = 0; $i < $this->_rows; $i++) {
- for ($j = 0; $j < $this->_cols; $j++) {
- $element =& $this->getEntry($i, $j);
- if ($element) {
- if (!$element->_done()) {
- $result = false;
- }
- }
- }
- }
- return $result;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Layout/Vertical.php b/config/dspam/pear/Image/Graph/Layout/Vertical.php
deleted file mode 100644
index 2dc6f945..00000000
--- a/config/dspam/pear/Image/Graph/Layout/Vertical.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Layout/Horizontal.php
- */
-require_once 'Image/Graph/Layout/Horizontal.php';
-
-/**
- * Layout for displaying two elements on top of each other.
- *
- * This splits the area contained by this element in two on top of each other
- * by a specified percentage (relative to the top). A layout can be nested.
- * Fx. a {@link Image_Graph_Layout_Horizontal} can layout two VerticalLayout's to
- * make a 2 by 2 matrix of 'element-areas'.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Layout
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Layout_Vertical extends Image_Graph_Layout_Horizontal
-{
-
- /**
- * Gets the absolute size of one of the parts.
- *
- * @param string $part The name of the part - auto_part(1|2)
- * @return int The number of pixels the edge should be pushed
- * @since 0.3.0dev2
- * @access private
- */
- function _getAbsolute(&$part)
- {
- $part1Size = $this->_part1->_getAutoSize();
- $part2Size = $this->_part2->_getAutoSize();
- $this->_percentage = false;
- if (($part1Size !== false) and ($part2Size !== false)) {
- $height = $this->_fillHeight() * $part1Size / ($part1Size + $part2Size);
- } elseif ($part1Size !== false) {
- $height = $part1Size;
- } elseif ($part2Size !== false) {
- $height = -$part2Size;
- } else {
- $height = $this->_fillHeight() / 2;
- }
-
- if ($part == 'auto_part2') {
-// $height = $this->_fillHeight() - $height;
- }
-
- return $height;
- }
-
- /**
- * Splits the layout between the parts, by the specified percentage
- *
- * @access private
- */
- function _split()
- {
- if (($this->_part1) && ($this->_part2)) {
- if ($this->_percentage !== false) {
- $split1 = 100 - $this->_percentage;
- $split2 = $this->_percentage;
- $this->_part1->_push('bottom', "$split1%");
- $this->_part2->_push('top', "$split2%");
- } else {
- $this->_part1->_push('bottom', 'auto_part1');
- $this->_part2->_push('top', 'auto_part2');
- }
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Legend.php b/config/dspam/pear/Image/Graph/Legend.php
deleted file mode 100644
index d853dad5..00000000
--- a/config/dspam/pear/Image/Graph/Legend.php
+++ /dev/null
@@ -1,385 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Legend
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Layout.php
- */
-require_once 'Image/Graph/Layout.php';
-
-/**
- * Displays a legend for a plotarea.
- *
- * A legend can be displayed in two ways:
- *
- * 1 As an overlayed box within the plotarea
- *
- * 2 Layout'ed on the canvas smewhere next to the plotarea.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Legend
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Legend extends Image_Graph_Layout
-{
-
- /**
- * Alignment of the text
- * @var int
- * @access private
- */
- var $_alignment = false;
-
- /**
- * The plotarea(s) to show the legend for
- * @var array
- * @access private
- */
- var $_plotareas = array();
-
- /**
- * Should markers be shown or not on this legend
- * @var bool
- * @access private
- */
- var $_showMarker = false;
-
- /**
- * Image_Graph_Legend [Constructor]
- */
- function Image_Graph_Legend()
- {
- parent::Image_Graph_Layout();
- $this->_padding = array('left' => 5, 'top' => 5, 'right' => 5, 'bottom' => 5);
- }
-
- /**
- * The number of actual plots in the plot area
- *
- * @return int The number of plotes
- * @access private
- */
- function _plotCount()
- {
- $count = 0;
- $keys = array_keys($this->_plotareas);
- foreach($keys as $key) {
- $plotarea =& $this->_plotareas[$key];
- if (is_a($plotarea, 'Image_Graph_Plotarea')) {
- $keys2 = array_keys($plotarea->_elements);
- foreach ($keys2 as $key) {
- $element =& $plotarea->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $count ++;
- }
- }
- unset($keys2);
- }
- }
- unset($keys);
- return $count;
- }
-
- /**
- * Get a default parameter array for legendSamples
- * @param bool $simulate Whether the array should be used for simulation or
- * not
- * @return array Default parameter array
- * @access private
- */
- function _parameterArray($simulate = false)
- {
- $param['left'] = $this->_left + $this->_padding['left'];
- $param['top'] = $this->_top + $this->_padding['top'];
- $param['right'] = $this->_right - $this->_padding['right'];
- $param['bottom'] = $this->_bottom - $this->_padding['bottom'];
- $param['align'] = $this->_alignment;
- $param['x'] = $this->_left + $this->_padding['left'];
- $param['y'] = $this->_top + $this->_padding['top'];
- $param['width'] = 16;
- $param['height'] = 16;
- $param['show_marker'] = $this->_showMarker;
- $param['maxwidth'] = 0;
- $param['font'] = $this->_getFont();
- if ($simulate) {
- $param['simulate'] = true;
- }
-
- return $param;
- }
-
- /**
- * The height of the element on the canvas
- *
- * @return int Number of pixels representing the height of the element
- * @access private
- */
- function _height()
- {
- $parent = (is_object($this->_parent) ? get_class($this->_parent) : $this->_parent);
-
- if (strtolower($parent) == 'image_graph_plotarea') {
- $param = $this->_parameterArray(true);
- $param['align'] = IMAGE_GRAPH_ALIGN_VERTICAL;
- $param0 = $param;
- $keys = array_keys($this->_plotareas);
- foreach($keys as $key) {
- $plotarea =& $this->_plotareas[$key];
- $keys2 = array_keys($plotarea->_elements);
- foreach($keys2 as $key) {
- $element =& $plotarea->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $element->_legendSample($param);
- }
- }
- unset($keys2);
- }
- unset($keys);
- return abs($param['y'] - $param0['y']) + $this->_padding['top'] + $this->_padding['bottom'];
- } else {
- return parent::height();
- }
- }
-
- /**
- * The width of the element on the canvas
- *
- * @return int Number of pixels representing the width of the element
- * @access private
- */
- function _width()
- {
- $parent = (is_object($this->_parent) ? get_class($this->_parent) : $this->_parent);
-
- if (strtolower($parent) == 'image_graph_plotarea') {
- $param = $this->_parameterArray(true);
- $param['align'] = IMAGE_GRAPH_ALIGN_VERTICAL;
- $keys = array_keys($this->_plotareas);
- foreach($keys as $key) {
- $plotarea =& $this->_plotareas[$key];
- $keys2 = array_keys($plotarea->_elements);
- foreach($keys2 as $key) {
- $element =& $plotarea->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $element->_legendSample($param);
- }
- }
- unset($keys2);
- }
- unset($keys);
- return $param['maxwidth'];
- } else {
- return parent::width();
- }
- }
-
- /**
- * Set the alignment of the legend
- *
- * @param int $alignment The alignment
- */
- function setAlignment($alignment)
- {
- $this->_alignment = $alignment;
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- parent::_updateCoords();
-
- $parent = (is_object($this->_parent) ? get_class($this->_parent) : $this->_parent);
-
- if (strtolower($parent) == 'image_graph_plotarea') {
- $w = $this->_width();
- $h = $this->_height();
-
- if ($this->_alignment === false) {
- $this->_alignment = IMAGE_GRAPH_ALIGN_TOP + IMAGE_GRAPH_ALIGN_RIGHT;
- }
-
- if (($this->_alignment & IMAGE_GRAPH_ALIGN_BOTTOM) != 0) {
- $y = $this->_parent->_fillBottom() - $h - $this->_padding['bottom'];
- } else {
- $y = $this->_parent->_fillTop() + $this->_padding['top'];
- }
-
- if (($this->_alignment & IMAGE_GRAPH_ALIGN_LEFT) != 0) {
- $x = $this->_parent->_fillLeft() + $this->_padding['left'];
- } else {
- $x = $this->_parent->_fillRight() - $w - $this->_padding['right'];
- }
-
- $this->_setCoords($x, $y, $x + $w, $y + $h);
- }
- }
-
- /**
- * Sets Plotarea
- *
- * @param Image_Graph_Plotarea $plotarea The plotarea
- */
- function setPlotarea(& $plotarea)
- {
- if (is_a($plotarea, 'Image_Graph_Plotarea')) {
- $this->_plotareas[] =& $plotarea;
- }
- }
-
- /**
- * Sets the parent. The parent chain should ultimately be a GraPHP object
- *
- * @see Image_Graph
- * @param Image_Graph_Common $parent The parent
- * @access private
- */
- function _setParent(& $parent)
- {
- parent::_setParent($parent);
- if (count($this->_plotareas) == 0) {
- $this->setPlotarea($parent);
- }
- }
-
- /**
- * Set if this legends should show markers
- *
- * @param bool $showMarker True if markers are to be shown, false is not
- */
- function setShowMarker($showMarker)
- {
- $this->_showMarker = $showMarker;
- }
-
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
-
- if (Image_Graph_Element::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this));
-
- $param = $this->_parameterArray();
-
- $parent = (is_object($this->_parent) ?
- get_class($this->_parent) :
- $this->_parent
- );
-
- if (strtolower($parent) == 'image_graph_plotarea') {
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->rectangle(
- array(
- 'x0' => $this->_left,
- 'y0' => $this->_top,
- 'x1' => $this->_right,
- 'y1' => $this->_bottom
- )
- );
-
- $param = $this->_parameterArray();
-
- $keys = array_keys($this->_plotareas);
- foreach($keys as $key) {
- $plotarea =& $this->_plotareas[$key];
- $keys2 = array_keys($plotarea->_elements);
- foreach($keys2 as $key) {
- $element =& $plotarea->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $element->_legendSample($param);
- }
- }
- unset($keys2);
- }
- unset($keys);
- } else {
- $param0 = $param;
- $param0['simulate'] = true;
- $keys = array_keys($this->_plotareas);
- foreach($keys as $key) {
- $plotarea =& $this->_plotareas[$key];
- $keys2 = array_keys($plotarea->_elements);
- foreach($keys2 as $key) {
- $element =& $plotarea->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $element->_legendSample($param0);
- }
- }
- unset($keys2);
- }
- unset($keys);
- if (($this->_alignment & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) {
- if ($param0['x'] == $param['x']) {
- $param['y'] = $param['y'] + ($this->_height() - ($param0['y'] - $param['y']))/2;
- }
- } else {
- if ($param0['y'] == $param['y']) {
- $param['x'] = $param['x'] + ($this->_width() - ($param0['x'] - $param['x']))/2;
- }
- }
-
- $keys = array_keys($this->_plotareas);
- foreach($keys as $key) {
- $plotarea =& $this->_plotareas[$key];
- $keys2 = array_keys($plotarea->_elements);
- foreach($keys2 as $key) {
- $element =& $plotarea->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $element->_legendSample($param);
- }
- }
- unset($keys2);
- }
- unset($keys);
- }
-
- $this->_canvas->endGroup();
-
- return true;
- }
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Line/Array.php b/config/dspam/pear/Image/Graph/Line/Array.php
deleted file mode 100644
index 5d542141..00000000
--- a/config/dspam/pear/Image/Graph/Line/Array.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Common.php
- */
-require_once 'Image/Graph/Common.php';
-
-/**
- * A sequential array of linestyles.
- *
- * This is used for multiple objects within the same element with different line
- * styles. This is done by adding multiple line styles to a LineArrray
- * structure. The linearray will then when requested return the 'next' linestyle
- * in sequential order. It is possible to specify ID tags to each linestyle,
- * which is used to make sure some data uses a specific linestyle (i.e. in a
- * multiple-/stackedbarchart you name the {@link Image_Graph_Dataset}s and uses
- * this name as ID tag when adding the dataset's associated linestyle to the
- * linearray.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Line_Array extends Image_Graph_Common
-{
-
- /**
- * The fill array
- * @var array
- * @access private
- */
- var $_lineStyles = array ();
-
- /**
- * Add a line style to the array
- *
- * @param Image_Graph_Line $style The style to add
- */
- function add(& $style, $id = false)
- {
- if (is_a($style, 'Image_Graph_Element')) {
- parent::add($style);
- }
- if ($id === false) {
- $this->_lineStyles[] =& $style;
- } else {
- $this->_lineStyles[$id] =& $style;
- }
- reset($this->_lineStyles);
-
- }
-
- /**
- * Add a color to the array
- *
- * @param int $color The color
- * @param string $id The id or name of the color
- */
- function addColor($color, $id = false)
- {
- if ($id !== false) {
- $this->_lineStyles[$id] = $color;
- } else {
- $this->_lineStyles[] = $color;
- }
- reset($this->_lineStyles);
- }
-
- /**
- * Return the linestyle
- *
- * @return int A GD Linestyle
- * @access private
- */
- function _getLineStyle($ID = false)
- {
- if (($ID === false) || (!isset($this->_lineStyles[$ID]))) {
- $ID = key($this->_lineStyles);
- if (!next($this->_lineStyles)) {
- reset($this->_lineStyles);
- }
- }
- $lineStyle =& $this->_lineStyles[$ID];
-
- if (is_object($lineStyle)) {
- return $lineStyle->_getLineStyle($ID);
- } elseif ($lineStyle !== null) {
- return $lineStyle;
- } else {
- return parent::_getLineStyle($ID);
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Line/Dashed.php b/config/dspam/pear/Image/Graph/Line/Dashed.php
deleted file mode 100644
index 448fb218..00000000
--- a/config/dspam/pear/Image/Graph/Line/Dashed.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Line/Formatted.php
- */
-require_once 'Image/Graph/Line/Formatted.php';
-
-/**
- * Dashed line style.
- *
- * This style displays as a short line with a shorter space afterwards, i.e
- * 4px color1, 2px color2, 4px color1, etc.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Line_Dashed extends Image_Graph_Line_Formatted
-{
-
- /**
- * Image_Graph_DashedLine [Constructor]
- *
- * @param mixed $color1 The color for the 'dashes'
- * @param mixed $color2 The color for the 'spaces'
- */
- function Image_Graph_Line_Dashed($color1, $color2)
- {
- parent::Image_Graph_Line_Formatted(
- array(
- $color1,
- $color1,
- $color1,
- $color1,
- $color2,
- $color2
- )
- );
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Line/Dotted.php b/config/dspam/pear/Image/Graph/Line/Dotted.php
deleted file mode 100644
index 8574f8da..00000000
--- a/config/dspam/pear/Image/Graph/Line/Dotted.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Line/Formatted.php
- */
-require_once 'Image/Graph/Line/Formatted.php';
-
-/**
- * Dotted line style.
- *
- * This style displays as a short line with a shorter space afterwards, i.e
- * 1px color1, 1px color2, 1px color1, etc.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Line_Dotted extends Image_Graph_Line_Formatted
-{
-
- /**
- * DottedLine [Constructor]
- *
- * @param mixed $color1 The color representing the dots
- * @param mixed $color2 The color representing the spaces
- */
- function Image_Graph_Line_Dotted($color1, $color2)
- {
- parent::Image_Graph_Line_Formatted(array ($color1, $color2));
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Line/Formatted.php b/config/dspam/pear/Image/Graph/Line/Formatted.php
deleted file mode 100644
index e6d0181b..00000000
--- a/config/dspam/pear/Image/Graph/Line/Formatted.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Line/Solid.php
- */
-require_once 'Image/Graph/Line/Solid.php';
-
-/**
- * Formatted user defined line style.
- *
- * Use this to create a user defined line style. Specify an array of colors that are to
- * be used for displaying the line.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Line_Formatted extends Image_Graph_Line_Solid
-{
-
- /**
- * The style of the line
- *
- * @var array
- * @access private
- */
- var $_style;
-
- /**
- * Image_Graph_FormattedLine [Constructor]
- *
- * @param array $style The style of the line
- */
- function Image_Graph_Line_Formatted($style)
- {
- parent::Image_Graph_Line_Solid(reset($style));
- $this->_style = $style;
- }
-
- /**
- * Gets the line style of the element
- *
- * @return int A GD linestyle representing the line style
- * @see Image_Graph_Line
- * @access private
- */
- function _getLineStyle()
- {
- return array(
- 'color' => $this->_style,
- 'thickness' => $this->_thickness
- );
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Line/Solid.php b/config/dspam/pear/Image/Graph/Line/Solid.php
deleted file mode 100644
index e77e62f1..00000000
--- a/config/dspam/pear/Image/Graph/Line/Solid.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Common.php
- */
-require_once 'Image/Graph/Common.php';
-
-/**
- * Simple colored line style.
- *
- * Use a color for line style.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Line
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Line_Solid extends Image_Graph_Common
-{
-
- /**
- * The thickness of the line (requires GD 2)
- * @var int
- * @access private
- */
- var $_thickness = 1;
-
- /**
- * The color of the line
- * @var mixed
- * @access private
- */
- var $_color;
-
- /**
- * Image_Graph_SolidLine [Constructor]
- *
- * @param mixed $color The color of the line
- */
- function Image_Graph_Line_Solid($color)
- {
- parent::Image_Graph_Common();
- $this->_color = $color;
- }
-
- /**
- * Set the thickness of the linestyle
- *
- * @param int $thickness The line width in pixels
- */
- function setThickness($thickness)
- {
- $this->_thickness = $thickness;
- }
-
- /**
- * Gets the line style of the element
- *
- * @return int A GD linestyle representing the line style
- * @see Image_Graph_Line
- * @access private
- */
- function _getLineStyle()
- {
- return array(
- 'color' => $this->_color,
- 'thickness' => $this->_thickness
- );
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Logo.php b/config/dspam/pear/Image/Graph/Logo.php
deleted file mode 100644
index df5fe7e4..00000000
--- a/config/dspam/pear/Image/Graph/Logo.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Logo
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * Displays a logo on the canvas.
- *
- * By default the logo is displayed in the top-right corner of the canvas.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Logo
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Logo extends Image_Graph_Element
-{
-
- /**
- * The file name
- * @var stirng
- * @access private
- */
- var $_filename;
-
- /**
- * The GD Image resource
- * @var resource
- * @access private
- */
- var $_image;
-
- /**
- * Alignment of the logo
- * @var int
- * @access private
- */
- var $_alignment;
-
- /**
- * Logo [Constructor]
- *
- * @param string $filename The filename and path of the image to use for logo
- */
- function Image_Graph_Logo($filename, $alignment = IMAGE_GRAPH_ALIGN_TOP_RIGHT)
- {
- parent::Image_Graph_Element();
- $this->_filename = $filename;
- $this->_alignment = $alignment;
- }
-
- /**
- * Sets the parent. The parent chain should ultimately be a GraPHP object
- *
- * @see Image_Graph
- * @param Image_Graph_Common $parent The parent
- * @access private
- */
- function _setParent(& $parent)
- {
- parent::_setParent($parent);
- $this->_setCoords(
- $this->_parent->_left,
- $this->_parent->_top,
- $this->_parent->_right,
- $this->_parent->_bottom
- );
- }
-
- /**
- * Output the logo
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $align = array();
-
- if ($this->_alignment & IMAGE_GRAPH_ALIGN_LEFT) {
- $x = $this->_parent->_left + 2;
- $align['horizontal'] = 'left';
- } elseif ($this->_alignment & IMAGE_GRAPH_ALIGN_RIGHT) {
- $x = $this->_parent->_right - 2;
- $align['horizontal'] = 'right';
- } else {
- $x = ($this->_parent->_left + $this->_parent->_right) / 2;
- $align['horizontal'] = 'center';
- }
-
- if ($this->_alignment & IMAGE_GRAPH_ALIGN_TOP) {
- $y = $this->_parent->_top + 2;
- $align['vertical'] = 'top';
- } elseif ($this->_alignment & IMAGE_GRAPH_ALIGN_BOTTOM) {
- $y = $this->_parent->_bottom - 2;
- $align['vertical'] = 'bottom';
- } else {
- $y = ($this->_parent->_top + $this->_parent->_bottom) / 2;
- $align['vertical'] = 'center';
- }
-
- $this->_canvas->image(
- array(
- 'x' => $x,
- 'y' => $y,
- 'filename' => $this->_filename,
- 'alignment' => $align
- )
- );
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker.php b/config/dspam/pear/Image/Graph/Marker.php
deleted file mode 100644
index 1c1926fe..00000000
--- a/config/dspam/pear/Image/Graph/Marker.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plotarea/Element.php
- */
-require_once 'Image/Graph/Plotarea/Element.php';
-
-/**
- * Data point marker.
- *
- * The data point marker is used for marking the datapoints on a graph with some
- * visual label, fx. a cross, a text box with the value or an icon.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Marker extends Image_Graph_Plotarea_Element
-{
-
- /**
- * Secondary marker
- * @var Marker
- * @access private
- */
- var $_secondaryMarker = false;
-
- /**
- * The 'size' of the marker, the meaning depends on the specific Marker
- * implementation
- * @var int
- * @access private
- */
- var $_size = 6;
-
- /**
- * Set the 'size' of the marker
- *
- * @param int $size The 'size' of the marker, the meaning depends on the
- * specific Marker implementation
- */
- function setSize($size)
- {
- $this->_size = $size;
- }
-
- /**
- * Set the secondary marker
- *
- * @param Marker $secondaryMarker The secondary marker
- */
- function setSecondaryMarker(& $secondaryMarker)
- {
- $this->_secondaryMarker =& $secondaryMarker;
- $this->_secondaryMarker->_setParent($this);
- }
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- if (is_a($this->_secondaryMarker, 'Image_Graph_Marker')) {
- $this->_secondaryMarker->_drawMarker($x, $y, $values);
- }
- }
-
- /**
- * Output to the canvas
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Array.php b/config/dspam/pear/Image/Graph/Marker/Array.php
deleted file mode 100644
index 12fed66c..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Array.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * A sequential array of markers.
- *
- * This is used for displaying different markers for datapoints on a chart.
- * This is done by adding multiple markers to a MarkerArrray structure.
- * The marker array will then when requested return the 'next' marker in
- * sequential order. It is possible to specify ID tags to each marker, which is
- * used to make sure some data uses a specific marker.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Array extends Image_Graph_Marker
-{
-
- /**
- * The marker array
- * @var array
- * @access private
- */
- var $_markers = array ();
-
- /**
- * Add a marker style to the array
- *
- * @param Marker $marker The marker to add
- */
- function add(& $marker)
- {
- if (is_a($marker, 'Image_Graph_Element')) {
- parent::add($marker);
- }
- $this->_markers[] =& $marker;
- reset($this->_markers);
- }
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $ID = key($this->_markers);
- if (!next($this->_markers)) {
- reset($this->_markers);
- }
- $marker =& $this->_markers[$ID];
-
- if ($marker != null) {
- $marker->_drawMarker($x, $y, $values);
- }
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Asterisk.php b/config/dspam/pear/Image/Graph/Marker/Asterisk.php
deleted file mode 100644
index effde5a5..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Asterisk.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as an asterisk (*)
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Asterisk extends Image_Graph_Marker
-{
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x - $this->_size,
- 'y0' => $y - $this->_size,
- 'x1' => $x + $this->_size,
- 'y1' => $y + $this->_size
- )
- );
-
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x + $this->_size,
- 'y0' => $y - $this->_size,
- 'x1' => $x - $this->_size,
- 'y1' => $y + $this->_size
- )
- );
-
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x - $this->_size,
- 'y0' => $y,
- 'x1' => $x + $this->_size,
- 'y1' => $y
- )
- );
-
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x,
- 'y0' => $y - $this->_size,
- 'x1' => $x,
- 'y1' => $y + $this->_size
- )
- );
-
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Average.php b/config/dspam/pear/Image/Graph/Marker/Average.php
deleted file mode 100644
index c4e3e7a4..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Average.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * A marker displaying the 'distance' to the datasets average value.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Average extends Image_Graph_Marker
-{
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- if ((isset($values['AVERAGE_Y'])) &&
- (is_a($this->_parent, 'Image_Graph_Plot')))
- {
- $point = $this->_pointXY(
- array(
- 'X' => $values['APX'],
- 'Y' => $values['AVERAGE_Y']
- )
- );
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x, 'y0' => $y, 'x1' => $point['X'], 'y1' => $point['Y']));
-
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $point['X'] - 2,
- 'y0' => $point['Y'],
- 'x1' => $point['X'] + 2,
- 'y1' => $point['Y']
- )
- );
- }
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Box.php b/config/dspam/pear/Image/Graph/Marker/Box.php
deleted file mode 100644
index 5602c33d..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Box.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a box
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Box extends Image_Graph_Marker
-{
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the canvas
- * @param array $values The values representing the data the marker 'points' to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->rectangle(
- array(
- 'x0' => $x - $this->_size,
- 'y0' => $y - $this->_size,
- 'x1' => $x + $this->_size,
- 'y1' => $y + $this->_size
- )
- );
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Bubble.php b/config/dspam/pear/Image/Graph/Marker/Bubble.php
deleted file mode 100644
index 180ab4e3..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Bubble.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker/Circle.php
- */
-require_once 'Image/Graph/Marker/Circle.php';
-
-/**
- * Display a circle with y-value percentage as radius (require GD2).
- *
- * This will display a circle centered on the datapoint with a radius calculated
- * as a percentage of the maximum value. I.e. the radius depends on the y-value
- * of the datapoint
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Bubble extends Image_Graph_Marker_Circle
-{
-
- /**
- * The radius of the marker when 100%
- * @var int
- * @access private
- */
- var $_size100Pct = 40;
-
- /**
- * Sets the maximum radius the marker can occupy
- *
- * @param int $radius The new Image_Graph_max radius
- */
- function setMaxRadius($radius)
- {
- $this->_size100Pct = $radius;
- }
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_size = $this->_size100Pct*$values['PCT_MAX_Y']/100;
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Circle.php b/config/dspam/pear/Image/Graph/Marker/Circle.php
deleted file mode 100644
index 7eeb5cb6..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Circle.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as circle (require GD2)
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Circle extends Image_Graph_Marker
-{
-
- /**
- * The 'size' of the marker, the meaning depends on the specific Marker
- * implementation
- * @var int
- * @access private
- */
- var $_size = 10;
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points' to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_getFillStyle();
- $this->_getLineStyle();
-
- $dA = 2*pi()/($this->_size*2);
- $angle = 0;
- while ($angle < 2*pi()) {
- $this->_canvas->addVertex(array('x' =>
- $x + $this->_size*cos($angle), 'y' =>
- $y - $this->_size*sin($angle)
- ));
- $angle += $dA;
- }
-
- $this->_canvas->addVertex(array('x' =>
- $x + $this->_size*cos(0), 'y' =>
- $y - $this->_size*sin(0)
- ));
-
- $this->_canvas->polygon(array('connect' => true));
-
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Cross.php b/config/dspam/pear/Image/Graph/Marker/Cross.php
deleted file mode 100644
index 720f3bb4..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Cross.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a cross.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Cross extends Image_Graph_Marker
-{
-
- /**
- * The thickness of the plus in pixels (thickness is actually double this)
- * @var int
- * @access private
- */
- var $_thickness = 2;
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the canvas
- * @param array $values The values representing the data the marker 'points' to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- if ($this->_thickness > 0) {
- $this->_getLineStyle();
- $this->_getFillStyle();
-
- $d1 = round(0.7071067 * $this->_size); // cos/sin(45 de>)
- $d2 = round(0.7071067 * $this->_thickness); // cos/sin(45 deg)
-
- $this->_canvas->addVertex(array('x' => $x - $d1 - $d2, 'y' => $y - $d1 + $d2));
- $this->_canvas->addVertex(array('x' => $x - $d1 + $d2, 'y' => $y - $d1 - $d2));
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y - 2 * $d2));
- $this->_canvas->addVertex(array('x' => $x + $d1 - $d2, 'y' => $y - $d1 - $d2));
- $this->_canvas->addVertex(array('x' => $x + $d1 + $d2, 'y' => $y - $d1 + $d2));
- $this->_canvas->addVertex(array('x' => $x + 2 * $d2, 'y' => $y));
- $this->_canvas->addVertex(array('x' => $x + $d1 + $d2, 'y' => $y + $d1 - $d2));
- $this->_canvas->addVertex(array('x' => $x + $d1 - $d2, 'y' => $y + $d1 + $d2));
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y + 2 * $d2));
- $this->_canvas->addVertex(array('x' => $x - $d1 + $d2, 'y' => $y + $d1 + $d2));
- $this->_canvas->addVertex(array('x' => $x - $d1 - $d2, 'y' => $y + $d1 - $d2));
- $this->_canvas->addVertex(array('x' => $x - 2 * $d2, 'y' => $y));
- $this->_canvas->polygon(array('connect' => true));
- } else {
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x - $this->_size,
- 'y0' => $y - $this->_size,
- 'x1' => $x + $this->_size,
- 'y1' => $y + $this->_size
- )
- );
-
- $this->_getLineStyle();
- $this->_canvas->line(
- array(
- 'x0' => $x + $this->_size,
- 'y0' => $y - $this->_size,
- 'x1' => $x - $this->_size,
- 'y1' => $y + $this->_size
- )
- );
- }
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Diamond.php b/config/dspam/pear/Image/Graph/Marker/Diamond.php
deleted file mode 100644
index 2a3d68c8..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Diamond.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a diamond.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Diamond extends Image_Graph_Marker
-{
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the canvas
- * @param array $values The values representing the data the marker 'points' to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->addVertex(array('x' => $x - $this->_size, 'y' => $y));
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y - $this->_size));
- $this->_canvas->addVertex(array('x' => $x + $this->_size, 'y' => $y));
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y + $this->_size));
- $this->_canvas->polygon(array('connect' => true));
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Icon.php b/config/dspam/pear/Image/Graph/Marker/Icon.php
deleted file mode 100644
index d9b9456f..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Icon.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker using an image as icon.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Icon extends Image_Graph_Marker
-{
-
- /**
- * Filename of the image icon
- * @var string
- * @access private
- */
- var $_filename;
-
- /**
- * X Point of the icon to use as data 'center'
- * @var int
- * @access private
- */
- var $_pointX = 0;
-
- /**
- * Y Point of the icon to use as data 'center'
- * @var int
- * @access private
- */
- var $_pointY = 0;
-
- /**
- * Create an icon marker
- *
- * @param string $filename The filename of the icon
- * @param int $width The 'new' width of the icon if it is to be resized
- * @param int $height The 'new' height of the icon if it is to be resized
- */
- function Image_Graph_Marker_Icon($filename, $width = 0, $height = 0)
- {
- parent::Image_Graph_Marker();
- $this->_filename = $filename;
- }
-
- /**
- * Set the X 'center' point of the marker
- *
- * @param int $x The X 'center' point of the marker
- */
- function setPointX($x)
- {
- $this->_pointX = $x;
- }
-
- /**
- * Set the Y 'center' point of the marker
- *
- * @param int $y The Y 'center' point of the marker
- */
- function setPointY($y)
- {
- $this->_pointY = $y;
- }
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- parent::_drawMarker($x, $y, $values);
- if ($this->_filename) {
- $this->_canvas->image(
- array(
- 'x' => $x,
- 'y' => $y,
- 'filename' => $this->_filename,
- 'alignment' => array('horizontal' => 'center', 'vertical' => 'center')
- )
- );
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Pinpoint.php b/config/dspam/pear/Image/Graph/Marker/Pinpoint.php
deleted file mode 100644
index 7b87f153..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Pinpoint.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker/Icon.php
- */
-require_once 'Image/Graph/Marker/Icon.php';
-
-/**
- * Data marker using a pinpoint as marker.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Pinpoint extends Image_Graph_Marker_Icon
-{
-
- /**
- * Create the marker as a pin point
- */
- function Image_Graph_Marker_Pinpoint()
- {
- parent::Image_Graph_Marker_Icon(
- dirname(__FILE__).'/../Images/Icons/pinpoint.png'
- );
- $this->setPointX(0);
- $this->setPointY(13);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Plus.php b/config/dspam/pear/Image/Graph/Marker/Plus.php
deleted file mode 100644
index 0a817cfc..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Plus.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a plus.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Plus extends Image_Graph_Marker
-{
-
- /**
- * The thickness of the plus in pixels (thickness is actually double this)
- * @var int
- * @access private
- */
- var $_thickness = 2;
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- if ($this->_thickness > 0) {
- $this->_getLineStyle();
- $this->_getFillStyle();
- $this->_canvas->addVertex(array('x' => $x - $this->_size, 'y' => $y - $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x - $this->_thickness, 'y' => $y - $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x - $this->_thickness, 'y' => $y - $this->_size));
- $this->_canvas->addVertex(array('x' => $x + $this->_thickness, 'y' => $y - $this->_size));
- $this->_canvas->addVertex(array('x' => $x + $this->_thickness, 'y' => $y - $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x + $this->_size, 'y' => $y - $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x + $this->_size, 'y' => $y + $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x + $this->_thickness, 'y' => $y + $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x + $this->_thickness, 'y' => $y + $this->_size));
- $this->_canvas->addVertex(array('x' => $x - $this->_thickness, 'y' => $y + $this->_size));
- $this->_canvas->addVertex(array('x' => $x - $this->_thickness, 'y' => $y + $this->_thickness));
- $this->_canvas->addVertex(array('x' => $x - $this->_size, 'y' => $y + $this->_thickness));
- $this->_canvas->polygon(array('connect' => true));
- } else {
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x - $this->_size, 'y0' => $y, 'x1' => $x + $this->_size, 'y1' => $y));
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x, 'y0' => $y - $this->_size, 'x1' => $x, 'y1' => $y + $this->_size));
- }
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Pointing.php b/config/dspam/pear/Image/Graph/Marker/Pointing.php
deleted file mode 100644
index 05ab94e4..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Pointing.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a 'pointing marker'.
- *
- * Points to the data using another marker (as start and/or end)
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Pointing extends Image_Graph_Marker
-{
-
- /**
- * The starting marker
- * @var Marker
- * @access private
- */
- var $_markerStart;
-
- /**
- * The ending marker
- * @var Marker
- * @access private
- */
- var $_markerEnd;
-
- /**
- * The X offset from the 'data'
- * @var int
- * @access private
- */
- var $_deltaX = -1;
-
- /**
- * The Y offset from the 'data'
- * @var int
- * @access private
- */
- var $_deltaY = -1;
-
- /**
- * Create an pointing marker, ie a pin on a board
- *
- * @param int $deltaX The the X offset from the real 'data' point
- * @param int $deltaY The the Y offset from the real 'data' point
- * @param Marker $markerEnd The ending marker that represents 'the head of
- * the pin'
- */
- function Image_Graph_Marker_Pointing($deltaX, $deltaY, & $markerEnd)
- {
- parent::Image_Graph_Marker();
- $this->_deltaX = $deltaX;
- $this->_deltaY = $deltaY;
- $this->_markerStart = null;
- $this->_markerEnd =& $markerEnd;
- }
-
- /**
- * Sets the starting marker, ie the tip of the pin on a board
- *
- * @param Marker $markerStart The starting marker that represents 'the tip
- * of the pin'
- */
- function setMarkerStart(& $markerStart)
- {
- $this->_markerStart =& $markerStart;
- $this->_markerStart->_setParent($this);
- }
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- parent::_drawMarker($x, $y, $values);
- if ($this->_markerStart) {
- $this->_markerStart->_setParent($this);
- $this->_markerStart->_drawMarker($x, $y, $values);
- }
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x, 'y0' => $y, 'x1' => $x + $this->_deltaX, 'y1' => $y + $this->_deltaY));
- $this->_markerEnd->_setParent($this);
- $this->_markerEnd->_drawMarker(
- $x + $this->_deltaX,
- $y + $this->_deltaY,
- $values
- );
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Pointing/Angular.php b/config/dspam/pear/Image/Graph/Marker/Pointing/Angular.php
deleted file mode 100644
index 93b8b7cf..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Pointing/Angular.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker/Pointing.php
- */
-require_once 'Image/Graph/Marker/Pointing.php';
-
-/**
- * Marker that points 'away' from the graph.
- *
- * Use this as a marker for displaying another marker pointing to the original
- * point on the graph - where the 'pointer' is calculated as line orthogonal to
- * a line drawn between the points neighbours to both sides (an approximate
- * tangent). This should make an the pointer appear to point 'straight' out from
- * the graph. The 'head' of the pointer is then another marker of any choice.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Pointing_Angular extends Image_Graph_Marker_Pointing
-{
-
- /**
- * The length of the angular marker
- * @var int
- * @access private
- */
- var $_radius;
-
- /**
- * Image_Graph_AngularPointingMarker [Constructor]
- * @param int $radius The 'length' of the pointer
- * @param Marker $markerEnd The ending marker that represents 'the head of
- * the pin'
- */
- function Image_Graph_Marker_Pointing_Angular($radius, & $markerEnd)
- {
- parent::Image_Graph_Marker_Pointing(0, 0, $markerEnd);
- $this->_radius = $radius;
- }
-
- /**
- * Draw the marker on the canvas
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- if ((isset($values['LENGTH'])) && ($values['LENGTH'] != 0)) {
- $this->_deltaX = - $values['AX'] * $this->_radius / $values['LENGTH'];
- $this->_deltaY = - $values['AY'] * $this->_radius / $values['LENGTH'];
- }
-
- if ((isset($values['NPY'])) && (isset($values['APY'])) &&
- (isset($values['PPY'])) && ($values['NPY'] > $values['APY']) &&
- ($values['PPY'] > $values['APY']))
- {
- $this->_deltaX = - $this->_deltaX;
- $this->_deltaY = - $this->_deltaY;
- }
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Pointing/Radial.php b/config/dspam/pear/Image/Graph/Marker/Pointing/Radial.php
deleted file mode 100644
index ce1a0aac..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Pointing/Radial.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker/Pointing.php
- */
-require_once 'Image/Graph/Marker/Pointing.php';
-
-/**
- * A pointing marker in a random angle from the data
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Pointing_Radial extends Image_Graph_Marker_Pointing
-{
-
- /**
- * The radius of the radial marker
- * @var int
- * @access private
- */
- var $_radius;
-
- /**
- * Create an radial pointing marker, ie a marker on a defined distance from
- * the data
- * @param int $radius The 'length' of the pointer
- * @param Marker $markerEnd The ending marker that represents 'the head of
- * the pin'
- */
- function Image_Graph_Marker_Pointing_Radial($radius, & $markerEnd)
- {
- parent::Image_Graph_Marker_Pointing(0, 0, $markerEnd);
- $this->_radius = $radius;
- }
-
- /**
- * Draw the marker on the canvas
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $angle = pi() * rand(0, 360) / 180;
- $this->_deltaX = $this->_radius * cos($angle);
- $this->_deltaY = $this->_radius * sin($angle);
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/ReversePinpoint.php b/config/dspam/pear/Image/Graph/Marker/ReversePinpoint.php
deleted file mode 100644
index 57e945ab..00000000
--- a/config/dspam/pear/Image/Graph/Marker/ReversePinpoint.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker/Icon.php
- */
-require_once 'Image/Graph/Marker/Icon.php';
-
-/**
- * Data marker using a (reverse) pinpoint as marker.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_ReversePinpoint extends Image_Graph_Marker_Icon
-{
-
- /**
- * Create the marker as a reverse pin point
- */
- function Image_Graph_Marker_ReversePinpoint()
- {
- parent::Image_Graph_Marker_Icon(
- dirname(__FILE__).'/../Images/Icons/pinpointr.png'
- );
- $this->setPointX(10);
- $this->setPointY(13);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Star.php b/config/dspam/pear/Image/Graph/Marker/Star.php
deleted file mode 100644
index 67b2b9b3..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Star.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a triangle.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Star extends Image_Graph_Marker
-{
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_getFillStyle();
- $this->_getLineStyle();
-
- $d = $this->_size / 5;
- $x = round($x);
- $y = round($y);
-
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y - $this->_size));
- $this->_canvas->addVertex(array('x' => $x + round($d), 'y' => $y - round($d)));
- $this->_canvas->addVertex(array('x' => $x + $this->_size, 'y' => $y - round($d)));
- $this->_canvas->addVertex(array('x' => $x + round(2 * $d), 'y' => $y + round($d)));
- $this->_canvas->addVertex(array('x' => $x + round(3 * $d), 'y' => $y + $this->_size));
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y + round(3 * $d)));
- $this->_canvas->addVertex(array('x' => $x - round(3 * $d), 'y' => $y + $this->_size));
- $this->_canvas->addVertex(array('x' => $x - round(2 * $d), 'y' => $y + round($d)));
- $this->_canvas->addVertex(array('x' => $x - $this->_size, 'y' => $y - round($d)));
- $this->_canvas->addVertex(array('x' => $x - round($d), 'y' => $y - round($d)));
- $this->_canvas->polygon(array('connect' => true));
-
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Triangle.php b/config/dspam/pear/Image/Graph/Marker/Triangle.php
deleted file mode 100644
index 626f2589..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Triangle.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * Data marker as a triangle.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Triangle extends Image_Graph_Marker
-{
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- $this->_getFillStyle();
- $this->_getLineStyle();
- $this->_canvas->addVertex(array('x' => $x - $this->_size, 'y' => $y + $this->_size));
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y - $this->_size));
- $this->_canvas->addVertex(array('x' => $x + $this->_size, 'y' => $y + $this->_size));
- $this->_canvas->polygon(array('connect' => true));
- parent::_drawMarker($x, $y, $values);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Marker/Value.php b/config/dspam/pear/Image/Graph/Marker/Value.php
deleted file mode 100644
index 24f142f3..00000000
--- a/config/dspam/pear/Image/Graph/Marker/Value.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Marker.php
- */
-require_once 'Image/Graph/Marker.php';
-
-/**
- * A marker showing the data value.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Marker
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Marker_Value extends Image_Graph_Marker
-{
-
- /**
- * Datapreproccesor to format the value
- * @var DataPreprocessor
- * @access private
- */
- var $_dataPreprocessor = null;
-
- /**
- * Which value to use from the data set, ie the X or Y value
- * @var int
- * @access private
- */
- var $_useValue;
-
- /**
- * Create a value marker, ie a box containing the value of the 'pointing
- * data'
- *
- * @param int $useValue Defines which value to use from the dataset, i.e. the
- * X or Y value
- */
- function Image_Graph_Marker_Value($useValue = IMAGE_GRAPH_VALUE_X)
- {
- parent::Image_Graph_Marker();
- $this->_padding = array('left' => 2, 'top' => 2, 'right' => 2, 'bottom' => 2);
- $this->_useValue = $useValue;
- $this->_fillStyle = 'white';
- $this->_borderStyle = 'black';
- }
-
- /**
- * Sets the background fill style of the element
- *
- * @param Image_Graph_Fill $background The background
- * @see Image_Graph_Fill
- */
- function setBackground(& $background)
- {
- $this->setFillStyle($background);
- }
-
- /**
- * Sets the background color of the element
- *
- * @param mixed $color The color
- */
- function setBackgroundColor($color)
- {
- $this->setFillColor($color);
- }
-
- /**
- * Sets a data preprocessor for formatting the values
- *
- * @param DataPreprocessor $dataPreprocessor The data preprocessor
- * @return Image_Graph_DataPreprocessor The data preprocessor
- */
- function &setDataPreprocessor(& $dataPreprocessor)
- {
- $this->_dataPreprocessor =& $dataPreprocessor;
- return $dataPreprocessor;
- }
-
- /**
- * Get the value to display
- *
- * @param array $values The values representing the data the marker 'points'
- * to
- * @return string The display value, this is the pre-preprocessor value, to
- * support for customized with multiple values. i.e show 'x = y' or '(x, y)'
- * @access private
- */
- function _getDisplayValue($values)
- {
- switch ($this->_useValue) {
- case IMAGE_GRAPH_VALUE_X:
- $value = $values['X'];
- break;
-
- case IMAGE_GRAPH_PCT_X_MIN:
- $value = $values['PCT_MIN_X'];
- break;
-
- case IMAGE_GRAPH_PCT_X_MAX:
- $value = $values['PCT_MAX_X'];
- break;
-
- case IMAGE_GRAPH_PCT_Y_MIN:
- $value = $values['PCT_MIN_Y'];
- break;
-
- case IMAGE_GRAPH_PCT_Y_MAX:
- $value = $values['PCT_MAX_Y'];
- break;
-
- case IMAGE_GRAPH_PCT_Y_TOTAL:
- if (isset($values['SUM_Y'])) {
- $value = 100 * $values['Y'] / $values['SUM_Y'];
- }
- else {
- $value = 0;
- }
- break;
-
- case IMAGE_GRAPH_POINT_ID:
- $value = $values['ID'];
- break;
-
- default:
- $value = $values['Y'];
- break;
- }
- return $value;
- }
-
- /**
- * Draw the marker on the canvas
- *
- * @param int $x The X (horizontal) position (in pixels) of the marker on
- * the canvas
- * @param int $y The Y (vertical) position (in pixels) of the marker on the
- * canvas
- * @param array $values The values representing the data the marker 'points'
- * to
- * @access private
- */
- function _drawMarker($x, $y, $values = false)
- {
- parent::_drawMarker($x, $y, $values);
-
- $value = $this->_getDisplayValue($values);
-
- if ($this->_dataPreprocessor) {
- $value = $this->_dataPreprocessor->_process($value);
- }
-
- if ($this->_defaultFontOptions !== false) {
- $this->_canvas->setFont($this->_defaultFontOptions);
- } else {
- $this->_canvas->setFont($this->_getFont());
- }
-
- $width = $this->_canvas->textWidth($value);
- $height = $this->_canvas->textHeight($value);
- $offsetX = $width/2 + $this->_padding['left'];
- $offsetY = $height/2 + $this->_padding['top'];
-
- $this->_getFillStyle();
- $this->_getBorderStyle();
- $this->_canvas->rectangle(
- array(
- 'x0' => $x - $offsetX,
- 'y0' => $y - $offsetY,
- 'x1' => $x + $offsetX,
- 'y1' => $y + $offsetY
- )
- );
-
- $this->write($x, $y, $value, IMAGE_GRAPH_ALIGN_CENTER);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot.php b/config/dspam/pear/Image/Graph/Plot.php
deleted file mode 100644
index 4a6c16d3..00000000
--- a/config/dspam/pear/Image/Graph/Plot.php
+++ /dev/null
@@ -1,824 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plotarea/Element.php
- */
-require_once 'Image/Graph/Plotarea/Element.php';
-
-/**
- * Framework for a chart
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Plot extends Image_Graph_Plotarea_Element
-{
-
- /**
- * The dataset to plot
- * @var Dataset
- * @access private
- */
- var $_dataset;
-
- /**
- * The marker to plot the data set as
- * @var Marker
- * @access private
- */
- var $_marker = null;
-
- /**
- * The dataselector to use for data marking
- * @var DataSelector
- * @access private
- */
- var $_dataSelector = null;
-
- /**
- * The Y axis to associate the plot with
- * @var int
- * @access private
- */
- var $_axisY = IMAGE_GRAPH_AXIS_Y;
-
- /**
- * The type of the plot if multiple datasets are used
- * @var string
- * @access private
- */
- var $_multiType = 'normal';
-
- /**
- * The title of the plot, used for legending in case of simple plots
- * @var string
- * @access private
- */
- var $_title = 'plot';
-
- /**
- * PlotType [Constructor]
- *
- * Valid values for multiType are:
- *
- * 'normal' Plot is normal, multiple datasets are displayes next to one
- * another
- *
- * 'stacked' Datasets are stacked on top of each other
- *
- * 'stacked100pct' Datasets are stacked and displayed as percentages of the
- * total sum
- *
- * I no title is specified a default is used, which is basically the plot
- * type (fx. for a 'Image_Graph_Plot_Smoothed_Area' default title is
- * 'Smoothed Area')
- *
- * @param Image_Graph_Dataset $dataset The data set (value containter) to
- * plot or an array of datasets
- * @param string $multiType The type of the plot
- * @param string $title The title of the plot (used for legends,
- * {@link Image_Graph_Legend})
- */
- function Image_Graph_Plot(& $dataset, $multiType = 'normal', $title = '')
- {
- if (!is_a($dataset, 'Image_Graph_Dataset')) {
- if (is_array($dataset)) {
- $keys = array_keys($dataset);
- foreach ($keys as $key) {
- if (!is_a($dataset[$key], 'Image_Graph_Dataset')) {
- $this->_error('Invalid dataset passed to ' . get_class($this));
- }
- }
- unset($keys);
- } else {
- $this->_error('Invalid dataset passed to ' . get_class($this));
- }
- }
-
- parent::Image_Graph_Common();
- if ($dataset) {
- if (is_array($dataset)) {
- $this->_dataset =& $dataset;
- } else {
- $this->_dataset = array(&$dataset);
- }
- }
- if ($title) {
- $this->_title = $title;
- } else {
- $this->_title = str_replace('_', ' ', substr(get_class($this), 17));
- }
-
- $multiType = strtolower($multiType);
- if (($multiType == 'normal') ||
- ($multiType == 'stacked') ||
- ($multiType == 'stacked100pct'))
- {
- $this->_multiType = $multiType;
- } else {
- $this->_error(
- 'Invalid multitype: ' . $multiType .
- ' expected (normal|stacked|stacked100pct)'
- );
- $this->_multiType = 'normal';
- }
- }
-
- /**
- * Sets the title of the plot, used for legend
- *
- * @param string $title The title of the plot
- */
- function setTitle($title)
- {
- $this->_title = $title;
- }
-
- /**
- * Parses the URL mapping data in the point and adds it to the parameter array used by
- * Image_Canvas
- *
- * @param array $point The data point (from the dataset)
- * @param array $canvasData The The for the canvas method
- * @return array The union of the canvas data points and the appropriate points for the dataset
- * @access private
- */
- function _mergeData($point, $canvasData)
- {
- if (isset($point['data'])) {
- if (isset($point['data']['url'])) {
- $canvasData['url'] = $point['data']['url'];
- }
- if (isset($point['data']['target'])) {
- $canvasData['target'] = $point['data']['target'];
- }
- if (isset($point['data']['alt'])) {
- $canvasData['alt'] = $point['data']['alt'];
- }
- if (isset($point['data']['htmltags'])) {
- $canvasData['htmltags'] = $point['data']['htmltags'];
- }
- }
-
- return $canvasData;
- }
-
- /**
- * Sets the Y axis to plot the data
- *
- * @param int $axisY The Y axis (either IMAGE_GRAPH_AXIS_Y / 'y' or
- * IMAGE_GRAPH_AXIS_Y_SECONDARY / 'ysec' (defaults to IMAGE_GRAPH_AXIS_Y))
- * @access private
- */
- function _setAxisY($axisY)
- {
- if ($axisY == 'y') {
- $this->_axisY = IMAGE_GRAPH_AXIS_Y;
- } elseif ($axisY == 'ysec') {
- $this->_axisY = IMAGE_GRAPH_AXIS_Y_SECONDARY;
- } else {
- $this->_axisY = $axisY;
- }
- }
-
- /**
- * Sets the marker to 'display' data points on the graph
- *
- * @param Marker $marker The marker
- */
- function &setMarker(& $marker)
- {
- $this->add($marker);
- $this->_marker =& $marker;
- return $marker;
- }
-
- /**
- * Sets the dataselector to specify which data should be displayed on the
- * plot as markers and which are not
- *
- * @param DataSelector $dataSelector The dataselector
- */
- function setDataSelector(& $dataSelector)
- {
- $this->_dataSelector =& $dataSelector;
- }
-
- /**
- * Calculate marker point data
- *
- * @param array Point The point to calculate data for
- * @param array NextPoint The next point
- * @param array PrevPoint The previous point
- * @param array Totals The pre-calculated totals, if needed
- * @return array An array containing marker point data
- * @access private
- */
- function _getMarkerData($point, $nextPoint, $prevPoint, & $totals)
- {
- if (is_array($this->_dataset)) {
- if ($this->_multiType == 'stacked') {
- if (!isset($totals['SUM_Y'])) {
- $totals['SUM_Y'] = array();
- }
- $x = $point['X'];
- if (!isset($totals['SUM_Y'][$x])) {
- $totals['SUM_Y'][$x] = 0;
- }
- } elseif ($this->_multiType == 'stacked100pct') {
- $x = $point['X'];
- if ($totals['TOTAL_Y'][$x] != 0) {
- if (!isset($totals['SUM_Y'])) {
- $totals['SUM_Y'] = array();
- }
- if (!isset($totals['SUM_Y'][$x])) {
- $totals['SUM_Y'][$x] = 0;
- }
- }
- }
-
- if (isset($totals['ALL_SUM_Y'])) {
- $point['SUM_Y'] = $totals['ALL_SUM_Y'];
- }
-
- if (!$prevPoint) {
- $point['AX'] = -5;
- $point['AY'] = 5;
- $point['PPX'] = 0;
- $point['PPY'] = 0;
- $point['NPX'] = $nextPoint['X'];
- $point['NPY'] = $nextPoint['Y'];
- } elseif (!$nextPoint) {
- $point['AX'] = 5;
- $point['AY'] = 5;
- $point['PPX'] = $prevPoint['X'];
- $point['PPY'] = $prevPoint['Y'];
- $point['NPX'] = 0;
- $point['NPY'] = 0;
- } else {
- $point['AX'] = $this->_pointY($prevPoint) - $this->_pointY($nextPoint);
- $point['AY'] = $this->_pointX($nextPoint) - $this->_pointX($prevPoint);
- $point['PPX'] = $prevPoint['X'];
- $point['PPY'] = $prevPoint['Y'];
- $point['NPX'] = $nextPoint['X'];
- $point['NPY'] = $nextPoint['Y'];
- }
-
- $point['APX'] = $point['X'];
- $point['APY'] = $point['Y'];
-
- if ((isset($totals['MINIMUM_X'])) && ($totals['MINIMUM_X'] != 0)) {
- $point['PCT_MIN_X'] = 100 * $point['X'] / $totals['MINIMUM_X'];
- }
- if ((isset($totals['MAXIMUM_X'])) && ($totals['MAXIMUM_X'] != 0)) {
- $point['PCT_MAX_X'] = 100 * $point['X'] / $totals['MAXIMUM_X'];
- }
-
- if ((isset($totals['MINIMUM_Y'])) && ($totals['MINIMUM_Y'] != 0)) {
- $point['PCT_MIN_Y'] = 100 * $point['Y'] / $totals['MINIMUM_Y'];
- }
- if ((isset($totals['MAXIMUM_Y'])) && ($totals['MAXIMUM_Y'] != 0)) {
- $point['PCT_MAX_Y'] = 100 * $point['Y'] / $totals['MAXIMUM_Y'];
- }
-
- $point['LENGTH'] = sqrt($point['AX'] * $point['AX'] +
- $point['AY'] * $point['AY']);
-
- if ((isset($point['LENGTH'])) && ($point['LENGTH'] != 0)) {
- $point['ANGLE'] = asin($point['AY'] / $point['LENGTH']);
- }
-
- if ((isset($point['AX'])) && ($point['AX'] > 0)) {
- $point['ANGLE'] = pi() - $point['ANGLE'];
- }
-
- if ($this->_parent->_horizontal) {
- $point['MARKER_Y1'] = $this->_pointY($point) -
- (isset($totals['WIDTH']) ? $totals['WIDTH'] : 0);
-
- $point['MARKER_Y2'] = $this->_pointY($point) +
- (isset($totals['WIDTH']) ? $totals['WIDTH'] : 0);
-
- $point['COLUMN_WIDTH'] = abs($point['MARKER_Y2'] -
- $point['MARKER_Y1']) / count($this->_dataset);
-
- $point['MARKER_Y'] = $point['MARKER_Y1'] +
- ((isset($totals['NUMBER']) ? $totals['NUMBER'] : 0) + 0.5) *
- $point['COLUMN_WIDTH'];
-
- $point['MARKER_X'] = $this->_pointX($point);
-
- if ($this->_multiType == 'stacked') {
- $point['MARKER_Y'] =
- ($point['MARKER_Y1'] + $point['MARKER_Y2']) / 2;
-
- $P1 = array('Y' => $totals['SUM_Y'][$x]);
- $P2 = array('Y' => $totals['SUM_Y'][$x] + $point['Y']);
-
- $point['MARKER_X'] =
- ($this->_pointX($P1) + $this->_pointX($P2)) / 2;
- } elseif ($this->_multiType == 'stacked100pct') {
- $x = $point['X'];
- if ($totals['TOTAL_Y'][$x] != 0) {
- $point['MARKER_Y'] =
- ($point['MARKER_Y1'] + $point['MARKER_Y2']) / 2;
-
- $P1 = array(
- 'Y' => 100 * $totals['SUM_Y'][$x] / $totals['TOTAL_Y'][$x]
- );
-
- $P2 = array(
- 'Y' => 100 * ($totals['SUM_Y'][$x] + $point['Y']) / $totals['TOTAL_Y'][$x]
- );
-
- $point['MARKER_X'] =
- ($this->_pointX($P1) + $this->_pointX($P2)) / 2;
- } else {
- $point = false;
- }
- }
- }
- else {
- $point['MARKER_X1'] = $this->_pointX($point) -
- (isset($totals['WIDTH']) ? $totals['WIDTH'] : 0);
-
- $point['MARKER_X2'] = $this->_pointX($point) +
- (isset($totals['WIDTH']) ? $totals['WIDTH'] : 0);
-
- $point['COLUMN_WIDTH'] = abs($point['MARKER_X2'] -
- $point['MARKER_X1']) / count($this->_dataset);
-
- $point['MARKER_X'] = $point['MARKER_X1'] +
- ((isset($totals['NUMBER']) ? $totals['NUMBER'] : 0) + 0.5) *
- $point['COLUMN_WIDTH'];
-
- $point['MARKER_Y'] = $this->_pointY($point);
-
- if ($this->_multiType == 'stacked') {
- $point['MARKER_X'] =
- ($point['MARKER_X1'] + $point['MARKER_X2']) / 2;
-
- $P1 = array('Y' => $totals['SUM_Y'][$x]);
- $P2 = array('Y' => $totals['SUM_Y'][$x] + $point['Y']);
-
- $point['MARKER_Y'] =
- ($this->_pointY($P1) + $this->_pointY($P2)) / 2;
- } elseif ($this->_multiType == 'stacked100pct') {
- $x = $point['X'];
- if ($totals['TOTAL_Y'][$x] != 0) {
- $point['MARKER_X'] =
- ($point['MARKER_X1'] + $point['MARKER_X2']) / 2;
-
- $P1 = array(
- 'Y' => 100 * $totals['SUM_Y'][$x] / $totals['TOTAL_Y'][$x]
- );
-
- $P2 = array(
- 'Y' => 100 * ($totals['SUM_Y'][$x] + $point['Y']) / $totals['TOTAL_Y'][$x]
- );
-
- $point['MARKER_Y'] =
- ($this->_pointY($P1) + $this->_pointY($P2)) / 2;
- } else {
- $point = false;
- }
- }
- }
- return $point;
- }
- }
-
- /**
- * Draws markers on the canvas
- *
- * @access private
- */
- function _drawMarker()
- {
- if (($this->_marker) && (is_array($this->_dataset))) {
- $this->_canvas->startGroup(get_class($this) . '_marker');
-
- $totals = $this->_getTotals();
- $totals['WIDTH'] = $this->width() / ($this->_maximumX() + 2) / 2;
-
- $number = 0;
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $totals['MINIMUM_X'] = $dataset->minimumX();
- $totals['MAXIMUM_X'] = $dataset->maximumX();
- $totals['MINIMUM_Y'] = $dataset->minimumY();
- $totals['MAXIMUM_Y'] = $dataset->maximumY();
- $totals['NUMBER'] = $number ++;
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $prevPoint = $dataset->_nearby(-2);
- $nextPoint = $dataset->_nearby();
-
- $x = $point['X'];
- $y = $point['Y'];
- if (((!is_object($this->_dataSelector)) ||
- ($this->_dataSelector->_select($point))) && ($point['Y'] !== null))
- {
-
- $point = $this->_getMarkerData(
- $point,
- $nextPoint,
- $prevPoint,
- $totals
- );
-
- if (is_array($point)) {
- $this->_marker->_drawMarker(
- $point['MARKER_X'],
- $point['MARKER_Y'],
- $point
- );
- }
- }
- if (!isset($totals['SUM_Y'])) {
- $totals['SUM_Y'] = array();
- }
- if (isset($totals['SUM_Y'][$x])) {
- $totals['SUM_Y'][$x] += $y;
- } else {
- $totals['SUM_Y'][$x] = $y;
- }
- }
- }
- unset($keys);
- $this->_canvas->endGroup();
- }
- }
-
- /**
- * Get the minimum X value from the dataset
- *
- * @return double The minimum X value
- * @access private
- */
- function _minimumX()
- {
- if (!is_array($this->_dataset)) {
- return 0;
- }
-
- $min = false;
- if (is_array($this->_dataset)) {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- if ($min === false) {
- $min = $this->_dataset[$key]->minimumX();
- } else {
- $min = min($min, $this->_dataset[$key]->minimumX());
- }
- }
- unset($keys);
- }
- return $min;
- }
-
- /**
- * Get the maximum X value from the dataset
- *
- * @return double The maximum X value
- * @access private
- */
- function _maximumX()
- {
- if (!is_array($this->_dataset)) {
- return 0;
- }
-
- $max = 0;
- if (is_array($this->_dataset)) {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $max = max($max, $this->_dataset[$key]->maximumX());
- }
- unset($keys);
- }
- return $max;
- }
-
- /**
- * Get the minimum Y value from the dataset
- *
- * @return double The minimum Y value
- * @access private
- */
- function _minimumY()
- {
- if (!is_array($this->_dataset)) {
- return 0;
- }
-
- $min = false;
- if (is_array($this->_dataset)) {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- if ($this->_multiType == 'normal') {
- if ($min === false) {
- $min = $this->_dataset[$key]->minimumY();
- } else {
- $min = min($min, $this->_dataset[$key]->minimumY());
- }
- } else {
- if ($min === false) {
- $min = 0;
- }
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- if ($point['Y'] < 0) {
- $x = $point['X'];
- if ((!isset($total)) || (!isset($total[$x]))) {
- $total[$x] = $point['Y'];
- } else {
- $total[$x] += $point['Y'];
- }
- if (isset($min)) {
- $min = min($min, $total[$x]);
- } else {
- $min = $total[$x];
- }
- }
- }
- }
- }
- unset($keys);
- }
- return $min;
- }
-
- /**
- * Get the maximum Y value from the dataset
- *
- * @return double The maximum Y value
- * @access private
- */
- function _maximumY()
- {
- if ($this->_multiType == 'stacked100pct') {
- return 100;
- }
-
- $maxY = 0;
- if (is_array($this->_dataset)) {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
-
- if ($this->_multiType == 'normal') {
- if (isset($maxY)) {
- $maxY = max($maxY, $dataset->maximumY());
- } else {
- $maxY = $dataset->maximumY();
- }
- } else {
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- if ($point['Y'] > 0) {
- $x = $point['X'];
- if ((!isset($total)) || (!isset($total[$x]))) {
- $total[$x] = $point['Y'];
- } else {
- $total[$x] += $point['Y'];
- }
- if (isset($maxY)) {
- $maxY = max($maxY, $total[$x]);
- } else {
- $maxY = $total[$x];
- }
- }
- }
- }
- }
- unset($keys);
- }
- return $maxY;
- }
-
- /**
- * Get the X pixel position represented by a value
- *
- * @param double $point The value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointX($point)
- {
- $point['AXIS_Y'] = $this->_axisY;
- return parent::_pointX($point);
- }
-
- /**
- * Get the Y pixel position represented by a value
- *
- * @param double $point the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointY($point)
- {
- $point['AXIS_Y'] = $this->_axisY;
- return parent::_pointY($point);
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- $this->_setCoords($this->_parent->_plotLeft, $this->_parent->_plotTop, $this->_parent->_plotRight, $this->_parent->_plotBottom);
- parent::_updateCoords();
- }
-
- /**
- * Get the dataset
- *
- * @return Image_Graph_Dataset The dataset(s)
- */
- function &dataset()
- {
- return $this->_dataset;
- }
-
- /**
- * Calulate totals
- *
- * @return array An associated array with the totals
- * @access private
- */
- function _getTotals()
- {
- $total = array(
- 'MINIMUM_X' => $this->_minimumX(),
- 'MAXIMUM_X' => $this->_maximumX(),
- 'MINIMUM_Y' => $this->_minimumY(),
- 'MAXIMUM_Y' => $this->_maximumY()
- );
- $total['ALL_SUM_Y'] = 0;
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
-
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $x = $point['X'];
-
- if (is_numeric($point['Y'])) {
- $total['ALL_SUM_Y'] += $point['Y'];
- if (isset($total['TOTAL_Y'][$x])) {
- $total['TOTAL_Y'][$x] += $point['Y'];
- } else {
- $total['TOTAL_Y'][$x] = $point['Y'];
- }
- }
-
- if (is_numeric($point['X'])) {
- if (isset($total['TOTAL_X'][$x])) {
- $total['TOTAL_X'][$x] += $point['X'];
- } else {
- $total['TOTAL_X'][$x] = $point['X'];
- }
- }
- }
- }
- unset($keys);
- return $total;
- }
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $this->_canvas->rectangle(array('x0' => $x0, 'y0' => $y0, 'x1' => $x1, 'y1' => $y1));
- }
-
- /**
- * Draw a sample for use with legend
- *
- * @param array $param The parameters for the legend
- * @access private
- */
- function _legendSample(&$param)
- {
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- if (is_a($this->_fillStyle, 'Image_Graph_Fill')) {
- $this->_fillStyle->_reset();
- }
-
- $count = 0;
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $count++;
-
- $caption = ($dataset->_name ? $dataset->_name : $this->_title);
-
- $this->_canvas->setFont($param['font']);
- $width = 20 + $param['width'] + $this->_canvas->textWidth($caption);
- $param['maxwidth'] = max($param['maxwidth'], $width);
- $x2 = $param['x'] + $width;
- $y2 = $param['y'] + $param['height'] + 5;
-
- if ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) && ($y2 > $param['bottom'])) {
- $param['y'] = $param['top'];
- $param['x'] = $x2;
- $y2 = $param['y'] + $param['height'];
- } elseif ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) == 0) && ($x2 > $param['right'])) {
- $param['x'] = $param['left'];
- $param['y'] = $y2;
- $x2 = $param['x'] + 20 + $param['width'] + $this->_canvas->textWidth($caption);
- }
-
- $x = $x0 = $param['x'];
- $y = $param['y'];
- $y0 = $param['y'];
- $x1 = $param['x'] + $param['width'];
- $y1 = $param['y'] + $param['height'];
-
- if (!isset($param['simulate'])) {
- $this->_getFillStyle($key);
- $this->_getLineStyle();
- $this->_drawLegendSample($x0, $y0, $x1, $y1);
-
- if (($this->_marker) && ($dataset) && ($param['show_marker'])) {
- $dataset->_reset();
- $point = $dataset->_next();
- $prevPoint = $dataset->_nearby(-2);
- $nextPoint = $dataset->_nearby();
-
- $tmp = array();
- $point = $this->_getMarkerData($point, $nextPoint, $prevPoint, $tmp);
- if (is_array($point)) {
- $point['MARKER_X'] = $x+$param['width']/2;
- $point['MARKER_Y'] = $y;
- unset ($point['AVERAGE_Y']);
- $this->_marker->_drawMarker($point['MARKER_X'], $point['MARKER_Y'], $point);
- }
- }
- $this->write($x + $param['width'] + 10, $y + $param['height'] / 2, $caption, IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT, $param['font']);
- }
-
- if (($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) {
- $param['y'] = $y2;
- } else {
- $param['x'] = $x2;
- }
- }
- unset($keys);
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Area.php b/config/dspam/pear/Image/Graph/Plot/Area.php
deleted file mode 100644
index a5288e1a..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Area.php
+++ /dev/null
@@ -1,194 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Area Chart plot.
- *
- * An area chart plots all data points similar to a {@link
- * Image_Graph_Plot_Line}, but the area beneath the line is filled and the whole
- * area 'the-line', 'the right edge', 'the x-axis' and 'the left edge' is
- * bounded. Smoothed charts are only supported with non-stacked types
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Area extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $dx = abs($x1 - $x0) / 3;
- $dy = abs($y1 - $y0) / 3;
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y1));
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y0 + $dy));
- $this->_canvas->addVertex(array('x' => $x0 + $dx, 'y' => $y0));
- $this->_canvas->addVertex(array('x' => $x0 + 2*$dx, 'y' => $y0 + 2*$dy));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y0 + $dy));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y1));
- $this->_canvas->polygon(array('connect' => true));
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
-
- $this->_clip(true);
-
- $base = array();
- if ($this->_multiType == 'stacked') {
- reset($this->_dataset);
- $key = key($this->_dataset);
- $dataset =& $this->_dataset[$key];
-
- $first = $dataset->first();
- $point = array ('X' => $first['X'], 'Y' => '#min_pos#');
- $base[] = array();
- $base[] = $this->_pointY($point);
- $first = $this->_pointX($point);
- $base[] = $first;
-
- $last = $dataset->last();
- $point = array ('X' => $last['X'], 'Y' => '#min_pos#');
- $base[] = array();
- $base[] = $this->_pointY($point);
- $base[] = $this->_pointX($point);
-
- $current = array();
- }
-
- $minYaxis = $this->_parent->_getMinimum($this->_axisY);
- $maxYaxis = $this->_parent->_getMaximum($this->_axisY);
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- if ($this->_multiType == 'stacked') {
- $plotarea = array_reverse($base);
- $base = array();
- while ($point = $dataset->_next()) {
- $x = $point['X'];
- $p = $point;
- if (isset($current[$x])) {
- $p['Y'] += $current[$x];
- } else {
- $current[$x] = 0;
- }
- $x1 = $this->_pointX($p);
- $y1 = $this->_pointY($p);
- $plotarea[] = $x1;
- $plotarea[] = $y1;
- $plotarea[] = $point;
- $base[] = array();
- $base[] = $y1;
- $base[] = $x1;
- $current[$x] += $point['Y'];
- }
- } else {
- $first = true;
- $plotarea = array();
- while ($point = $dataset->_next()) {
- if ($first) {
- $firstPoint = array ('X' => $point['X'], 'Y' => '#min_pos#');
- $plotarea[] = $this->_pointX($firstPoint);
- $plotarea[] = $this->_pointY($firstPoint);
- $plotarea[] = array();
- }
- $plotarea[] = $this->_pointX($point);
- $plotarea[] = $this->_pointY($point);
- $plotarea[] = $point;
- $lastPoint = $point;
- $first = false;
- }
- $endPoint['X'] = $lastPoint['X'];
- $endPoint['Y'] = '#min_pos#';
- $plotarea[] = $this->_pointX($endPoint);
- $plotarea[] = $this->_pointY($endPoint);
- $plotarea[] = array();
- }
-
- reset($plotarea);
- while (list(, $x) = each($plotarea)) {
- list(, $y) = each($plotarea);
- list(, $data) = each($plotarea);
- $this->_canvas->addVertex(
- $this->_mergeData(
- $data,
- array('x' => $x, 'y' => $y)
- )
- );
- }
-
- $this->_getFillStyle($key);
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => true, 'map_vertices' => true));
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Band.php b/config/dspam/pear/Image/Graph/Plot/Band.php
deleted file mode 100644
index 3d5b629a..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Band.php
+++ /dev/null
@@ -1,205 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- * @since File available since Release 0.3.0dev2
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * "Band" (area chart with min AND max) chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @since Class available since Release 0.3.0dev2
- */
-class Image_Graph_Plot_Band extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $h = abs($y1 - $y0) / 6;
- $w = round(abs($x1 - $x0) / 5);
- $y = ($y0 + $y1) / 2;
-
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y - $h * 3));
- $this->_canvas->addVertex(array('x' => $x0 + $w, 'y' => $y - 4 * $h));
- $this->_canvas->addVertex(array('x' => $x0 + 2 * $w, 'y' => $y - $h * 2));
- $this->_canvas->addVertex(array('x' => $x0 + 3 * $w, 'y' => $y - $h * 4));
- $this->_canvas->addVertex(array('x' => $x0 + 4 * $w, 'y' => $y - $h * 3));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y - $h * 2));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y + $h * 3));
- $this->_canvas->addVertex(array('x' => $x0 + 4 * $w, 'y' => $y + $h));
- $this->_canvas->addVertex(array('x' => $x0 + 3 * $w, 'y' => $y + 2 * $h));
- $this->_canvas->addVertex(array('x' => $x0 + 2 * $w, 'y' => $y + 1 * $h));
- $this->_canvas->addVertex(array('x' => $x0 + 1 * $w, 'y' => $y));
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y + $h));
-
- $this->_getLineStyle();
- $this->_getFillStyle();
- $this->_canvas->polygon(array('connect' => true));
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- $current = array();
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
-
- $this->_clip(true);
-
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $upperBand = array();
- $lowerBand = array();
- while ($data = $dataset->_next()) {
- if ($this->_parent->_horizontal) {
- $point['X'] = $data['X'];
-
- $point['Y'] = $data['Y']['high'];
- $y = $this->_pointY($point);
- $x_high = $this->_pointX($point);
-
- $point['Y'] = $data['Y']['low'];
- $x_low = $this->_pointX($point);
-
- $data = array('X' => $x_high, 'Y' => $y);
- if (isset($point['data'])) {
- $data['data'] = $point['data'];
- } else {
- $data['data'] = array();
- }
- $upperBand[] = $data;
-
- $data = array('X' => $x_low, 'Y' => $y);
- if (isset($point['data'])) {
- $data['data'] = $point['data'];
- } else {
- $data['data'] = array();
- }
- $lowerBand[] = $data;
- }
- else {
- $point['X'] = $data['X'];
- $y = $data['Y'];
-
- $point['Y'] = $data['Y']['high'];
- $x = $this->_pointX($point);
- $y_high = $this->_pointY($point);
-
- $point['Y'] = $data['Y']['low'];
- $y_low = $this->_pointY($point);
-
- $data = array('X' => $x, 'Y' => $y_high);
- if (isset($point['data'])) {
- $data['data'] = $point['data'];
- } else {
- $data['data'] = array();
- }
- $upperBand[] = $data;
-
- $data = array('X' => $x, 'Y' => $y_low);
- if (isset($point['data'])) {
- $data['data'] = $point['data'];
- } else {
- $data['data'] = array();
- }
- $lowerBand[] = $data;
- }
- }
- $lowerBand = array_reverse($lowerBand);
- foreach ($lowerBand as $point) {
- $this->_canvas->addVertex(
- $this->_mergeData(
- $point['data'],
- array('x' => $point['X'], 'y' => $point['Y'])
- )
- );
- }
- foreach ($upperBand as $point) {
- $this->_canvas->addVertex(
- $this->_mergeData(
- $point['data'],
- array('x' => $point['X'], 'y' => $point['Y'])
- )
- );
- }
- unset($upperBand);
- unset($lowerBand);
-
- $this->_getLineStyle($key);
- $this->_getFillStyle($key);
- $this->_canvas->polygon(array('connect' => true, 'map_vertices' => true));
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
-
- $this->_canvas->endGroup();
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Bar.php b/config/dspam/pear/Image/Graph/Plot/Bar.php
deleted file mode 100644
index 3e35f92c..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Bar.php
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * A bar chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Bar extends Image_Graph_Plot
-{
-
- /**
- * The space between 2 bars (should be a multipla of 2)
- * @var int
- * @access private
- */
- var $_space = 4;
-
- /**
- * The width of the bars
- * @var array
- * @access private
- */
- var $_width = 'auto';
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $dx = abs($x1 - $x0) / 7;
- $this->_canvas->rectangle(array('x0' => $x0 + $dx, 'y0' => $y0, 'x1' => $x1 - $dx, 'y1' => $y1));
- }
-
- /**
- * Set the spacing between 2 neighbouring bars
- *
- * @param int $space The number of pixels between 2 bars, should be a
- * multipla of 2 (ie an even number)
- */
- function setSpacing($space)
- {
- $this->_space = (int) ($space / 2);
- }
-
- /**
- * Set the width of a bars.
- *
- * Specify 'auto' to auto calculate the width based on the positions on the
- * x-axis.
- *
- * Supported units are:
- *
- * '%' The width is specified in percentage of the total plot width
- *
- * 'px' The width specified in pixels
- *
- * @param string $width The width of any bar
- * @param string $unit The unit of the width
- */
- function setBarWidth($width, $unit = false)
- {
- if ($width == 'auto') {
- $this->_width = $width;
- } else {
- $this->_width = array(
- 'width' => $width,
- 'unit' => $unit
- );
- }
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
-
- $this->_clip(true);
-
- if ($this->_width == 'auto') {
- $width = $this->_parent->_labelDistance(IMAGE_GRAPH_AXIS_X) / 2;
- } elseif ($this->_width['unit'] == '%') {
- $width = $this->_width['width'] * $this->width() / 200;
- } elseif ($this->_width['unit'] == 'px') {
- $width = $this->_width['width'] / 2;
- }
-
- if ($this->_multiType == 'stacked100pct') {
- $total = $this->_getTotals();
- }
-
- $minYaxis = $this->_parent->_getMinimum($this->_axisY);
- $maxYaxis = $this->_parent->_getMaximum($this->_axisY);
-
- $number = 0;
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- while ($point = $dataset->_next()) {
-
- if ($this->_parent->_horizontal) {
- $y1 = $this->_pointY($point) - $width;
- $y2 = $this->_pointY($point) + $width;
-
- if ($y2 - $this->_space > $y1 + $this->_space) {
- /*
- * Take bar spacing into account _only_ if the space doesn't
- * turn the bar "inside-out", i.e. if the actual bar width
- * is smaller than the space between the bars
- */
- $y2 -= $this->_space;
- $y1 += $this->_space;
- }
- }
- else {
- $x1 = $this->_pointX($point) - $width;
- $x2 = $this->_pointX($point) + $width;
-
- if ($x2 - $this->_space > $x1 + $this->_space) {
- /*
- * Take bar spacing into account _only_ if the space doesn't
- * turn the bar "inside-out", i.e. if the actual bar width
- * is smaller than the space between the bars
- */
- $x2 -= $this->_space;
- $x1 += $this->_space;
- }
- }
-
-
- if (($this->_multiType == 'stacked') ||
- ($this->_multiType == 'stacked100pct'))
- {
- $x = $point['X'];
-
- if ($point['Y'] >= 0) {
- if (!isset($current[$x])) {
- $current[$x] = 0;
- }
-
- if ($this->_multiType == 'stacked') {
- $p0 = array(
- 'X' => $point['X'],
- 'Y' => $current[$x]
- );
- $p1 = array(
- 'X' => $point['X'],
- 'Y' => $current[$x] + $point['Y']
- );
- } else {
- $p0 = array(
- 'X' => $point['X'],
- 'Y' => 100 * $current[$x] / $total['TOTAL_Y'][$x]
- );
- $p1 = array(
- 'X' => $point['X'],
- 'Y' => 100 * ($current[$x] + $point['Y']) / $total['TOTAL_Y'][$x]
- );
- }
- $current[$x] += $point['Y'];
- } else {
- if (!isset($currentNegative[$x])) {
- $currentNegative[$x] = 0;
- }
-
- $p0 = array(
- 'X' => $point['X'],
- 'Y' => $currentNegative[$x]
- );
- $p1 = array(
- 'X' => $point['X'],
- 'Y' => $currentNegative[$x] + $point['Y']
- );
- $currentNegative[$x] += $point['Y'];
- }
- } else {
- if (count($this->_dataset) > 1) {
- $w = 2 * ($width - $this->_space) / count($this->_dataset);
- if ($this->_parent->_horizontal) {
- $y2 = ($y1 = ($y1 + $y2) / 2 - ($width - $this->_space) + $number * $w) + $w;
- }
- else {
- $x2 = ($x1 = ($x1 + $x2) / 2 - ($width - $this->_space) + $number * $w) + $w;
- }
- }
- $p0 = array('X' => $point['X'], 'Y' => 0);
- $p1 = $point;
- }
-
- if ((($minY = min($p0['Y'], $p1['Y'])) < $maxYaxis) &&
- (($maxY = max($p0['Y'], $p1['Y'])) > $minYaxis)
- ) {
- $p0['Y'] = $minY;
- $p1['Y'] = $maxY;
-
- if ($p0['Y'] < $minYaxis) {
- $p0['Y'] = '#min_pos#';
- }
- if ($p1['Y'] > $maxYaxis) {
- $p1['Y'] = '#max_neg#';
- }
-
- if ($this->_parent->_horizontal) {
- $x1 = $this->_pointX($p0);
- $x2 = $this->_pointX($p1);
- }
- else {
- $y1 = $this->_pointY($p0);
- $y2 = $this->_pointY($p1);
- }
-
- $ID = $point['ID'];
- if (($ID === false) && (count($this->_dataset) > 1)) {
- $ID = $key;
- }
- $this->_getFillStyle($ID);
- $this->_getLineStyle($ID);
-
- if (($y1 != $y2) && ($x1 != $x2)) {
- $this->_canvas->rectangle(
- $this->_mergeData(
- $point,
- array(
- 'x0' => min($x1, $x2),
- 'y0' => min($y1, $y2),
- 'x1' => max($x1, $x2),
- 'y1' => max($y1, $y2)
- )
- )
- );
- }
- }
- }
- $number ++;
- }
- unset($keys);
-
- $this->_drawMarker();
-
- $this->_clip(false);
-
- $this->_canvas->endGroup();
-
- return true;
- }
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/BoxWhisker.php b/config/dspam/pear/Image/Graph/Plot/BoxWhisker.php
deleted file mode 100644
index 59c1ee44..00000000
--- a/config/dspam/pear/Image/Graph/Plot/BoxWhisker.php
+++ /dev/null
@@ -1,298 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- * @since File available since Release 0.3.0dev2
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Box & Whisker chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @since Class available since Release 0.3.0dev2
- */
-class Image_Graph_Plot_BoxWhisker extends Image_Graph_Plot
-{
- /**
- * Whisker circle size
- * @var int
- * @access private
- */
- var $_whiskerSize = false;
-
- /**
- * Draws a box & whisker
- *
- * @param int $x The x position
- * @param int $w The width of the box
- * @param int $r The radius of the circle markers
- * @param int $y_min The Y position of the minimum value
- * @param int $y_q1 The Y position of the median of the first quartile
- * @param int $y_med The Y position of the median
- * @param int $y_q3 The Y position of the median of the third quartile
- * @param int $y_max The Y position of the maximum value
- * @param int $key The ID tag
- * @access private
- */
- function _drawBoxWhiskerV($x, $w, $r, $y_min, $y_q1, $y_med, $y_q3, $y_max, $key = false)
- {
- // draw circles
- $this->_getLineStyle();
- $this->_getFillStyle('min');
- $this->_canvas->ellipse(array('x' => $x, 'y' => $y_min, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('quartile1');
- $this->_canvas->ellipse(array('x' => $x, 'y' => $y_q1, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('median');
- $this->_canvas->ellipse(array('x' => $x, 'y' => $y_med, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('quartile3');
- $this->_canvas->ellipse(array('x' => $x, 'y' => $y_q3, $r, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('max');
- $this->_canvas->ellipse(array('x' => $x, 'y' => $y_max, $r, 'rx' => $r, 'ry' => $r));
-
- // draw box and lines
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x, 'y0' => $y_min, 'x1' => $x, 'y1' => $y_q1));
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x, 'y0' => $y_q3, 'x1' => $x, 'y1' => $y_max));
-
- $this->_getLineStyle();
- $this->_getFillStyle('box');
- $this->_canvas->rectangle(array('x0' => $x - $w, 'y0' => $y_q1, 'x1' => $x + $w, 'y1' => $y_q3));
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x - $w, 'y0' => $y_med, 'x1' => $x + $w, 'y1' => $y_med));
- }
-
- /**
- * Draws a box & whisker
- *
- * @param int $y The x position
- * @param int $h The width of the box
- * @param int $r The radius of the circle markers
- * @param int $x_min The Y position of the minimum value
- * @param int $x_q1 The Y position of the median of the first quartile
- * @param int $x_med The Y position of the median
- * @param int $x_q3 The Y position of the median of the third quartile
- * @param int $x_max The Y position of the maximum value
- * @param int $key The ID tag
- * @access private
- */
- function _drawBoxWhiskerH($y, $h, $r, $x_min, $x_q1, $x_med, $x_q3, $x_max, $key = false)
- {
- // draw circles
- $this->_getLineStyle();
- $this->_getFillStyle('min');
- $this->_canvas->ellipse(array('x' => $x_min, 'y' => $y, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('quartile1');
- $this->_canvas->ellipse(array('x' => $x_q1, 'y' => $y, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('median');
- $this->_canvas->ellipse(array('x' => $x_med, 'y' => $y, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('quartile3');
- $this->_canvas->ellipse(array('x' => $x_q3, 'y' => $y, $r, 'rx' => $r, 'ry' => $r));
-
- $this->_getLineStyle();
- $this->_getFillStyle('max');
- $this->_canvas->ellipse(array('x' => $x_max, 'y' => $y, $r, 'rx' => $r, 'ry' => $r));
-
- // draw box and lines
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x_min, 'y0' => $y, 'x1' => $x_q1, 'y1' => $y));
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x_q3, 'y0' => $y, 'x1' => $x_max, 'y1' => $y));
-
- $this->_getLineStyle();
- $this->_getFillStyle('box');
- $this->_canvas->rectangle(array('x0' => $x_q1, 'y0' => $y - $h, 'x1' => $x_q3, 'y1' => $y + $h));
-
- $this->_getLineStyle();
- $this->_canvas->line(array('x0' => $x_med, 'y0' => $y - $h, 'x1' => $x_med, 'y1' => $y + $h));
- }
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $x = round(($x0 + $x1) / 2);
- $h = abs($y1 - $y0) / 9;
- $w = round(abs($x1 - $x0) / 5);
- $r = 2;//round(abs($x1 - $x0) / 13);
- $this->_drawBoxWhiskerV($x, $w, $r, $y1, $y1 - 2 * $h, $y1 - 4 * $h, $y0 + 3 * $h, $y0);
- }
-
- /**
- * Sets the whisker circle size
- *
- * @param int $size Size (radius) of the whisker circle/dot
- */
- function setWhiskerSize($size = false)
- {
- $this->_whiskerSize = $size;
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
-
- $this->_clip(true);
-
- if ($this->_multiType == 'stacked100pct') {
- $total = $this->_getTotals();
- }
- $current = array();
- $number = 0;
- $width = floor(0.5 * $this->_parent->_labelDistance(IMAGE_GRAPH_AXIS_X) / 2);
-
- if ($this->_whiskerSize !== false) {
- $r = $this->_whiskerSize;
- } else {
- $r = min(5, $width / 10);
- }
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- while ($data = $dataset->_next()) {
- if ($this->_parent->_horizontal) {
- $point['X'] = $data['X'];
- $y = $data['Y'];
-
- $min = min($y);
- $max = max($y);
- $q1 = $dataset->_median($y, 'first');
- $med = $dataset->_median($y, 'second');
- $q3 = $dataset->_median($y, 'third');
-
- $point['Y'] = $min;
- $y = $this->_pointY($point);
- $x_min = $this->_pointX($point);
-
- $point['Y'] = $max;
- $x_max = $this->_pointX($point);
-
- $point['Y'] = $q1;
- $x_q1 = $this->_pointX($point);
-
- $point['Y'] = $med;
- $x_med = $this->_pointX($point);
-
- $point['Y'] = $q3;
- $x_q3 = $this->_pointX($point);
-
- $this->_drawBoxWhiskerH($y, $width, $r, $x_min, $x_q1, $x_med, $x_q3, $x_max, $key);
- }
- else {
- $point['X'] = $data['X'];
- $y = $data['Y'];
-
- $min = min($y);
- $max = max($y);
- $q1 = $dataset->_median($y, 'first');
- $med = $dataset->_median($y, 'second');
- $q3 = $dataset->_median($y, 'third');
-
- $point['Y'] = $min;
- $x = $this->_pointX($point);
- $y_min = $this->_pointY($point);
-
- $point['Y'] = $max;
- $y_max = $this->_pointY($point);
-
- $point['Y'] = $q1;
- $y_q1 = $this->_pointY($point);
-
- $point['Y'] = $med;
- $y_med = $this->_pointY($point);
-
- $point['Y'] = $q3;
- $y_q3 = $this->_pointY($point);
-
- $this->_drawBoxWhiskerV($x, $width, $r, $y_min, $y_q1, $y_med, $y_q3, $y_max, $key);
- }
- }
- }
- unset($keys);
- $this->_drawMarker();
-
- $this->_clip(false);
-
- $this->_canvas->endGroup();
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/CandleStick.php b/config/dspam/pear/Image/Graph/Plot/CandleStick.php
deleted file mode 100644
index b050aea1..00000000
--- a/config/dspam/pear/Image/Graph/Plot/CandleStick.php
+++ /dev/null
@@ -1,251 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- * @since File available since Release 0.3.0dev2
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Candlestick chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @since Class available since Release 0.3.0dev2
- */
-class Image_Graph_Plot_CandleStick extends Image_Graph_Plot
-{
-
- /**
- * (Add basic description here)
- *
- * @access private
- */
- function _drawCandleStickH($y, $h, $x_min, $x_open, $x_close, $x_max, $ID)
- {
- $this->_getLineStyle($ID);
- $this->_canvas->line(
- array(
- 'x0' => min($x_open, $x_close),
- 'y0' => $y,
- 'x1' => $x_min,
- 'y1' => $y
- )
- );
- $this->_getLineStyle($ID);
- $this->_canvas->line(
- array(
- 'x0' => max($x_open, $x_close),
- 'y0' => $y,
- 'x1' => $x_max,
- 'y1' => $y
- )
- );
-
- $this->_getLineStyle($ID);
- $this->_getFillStyle($ID);
- $this->_canvas->rectangle(
- array(
- 'x0' => min($x_open, $x_close),
- 'y0' => $y - $h,
- 'x1' => max($x_open, $x_close),
- 'y1' => $y + $h
- )
- );
- }
-
- /**
- * (Add basic description here)
- *
- * @access private
- */
- function _drawCandleStickV($x, $w, $y_min, $y_open, $y_close, $y_max, $ID)
- {
- $this->_getLineStyle($ID);
- $this->_canvas->line(
- array(
- 'x0' => $x,
- 'y0' => min($y_open, $y_close),
- 'x1' => $x,
- 'y1' => $y_max
- )
- );
- $this->_getLineStyle($ID);
- $this->_canvas->line(
- array(
- 'x0' => $x,
- 'y0' => max($y_open, $y_close),
- 'x1' => $x,
- 'y1' => $y_min
- )
- );
-
- $this->_getLineStyle($ID);
- $this->_getFillStyle($ID);
- $this->_canvas->rectangle(
- array(
- 'x0' => $x - $w,
- 'y0' => min($y_open, $y_close),
- 'x1' => $x + $w,
- 'y1' => max($y_open, $y_close)
- )
- );
- }
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $x = round(($x0 + $x1) / 2);
- $h = abs($y1 - $y0) / 4;
- $w = round(abs($x1 - $x0) / 5);
- $this->_drawCandleStickV($x, $w, $y1, $y1 - $h, $y0 + $h, $y0, 'green');
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
-
- $this->_clip(true);
-
- if ($this->_multiType == 'stacked100pct') {
- $total = $this->_getTotals();
- }
- $current = array();
- $number = 0;
- $width = floor(0.8 * $this->_parent->_labelDistance(IMAGE_GRAPH_AXIS_X) / 2);
-
- $lastClosed = false;
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- while ($data = $dataset->_next()) {
- if ($this->_parent->_horizontal) {
- $point['X'] = $data['X'];
- //$y = $data['Y'];
-
- if (isset($data['Y']['open'])) {
- $point['Y'] = $data['Y']['open'];
- } else {
- $point['Y'] = $lastClosed;
- }
- $y = $this->_pointY($point);
- $x_open = $this->_pointX($point);
-
- $lastClosed = $point['Y'] = $data['Y']['close'];
- $x_close = $this->_pointX($point);
-
- $point['Y'] = $data['Y']['min'];
- $x_min = $this->_pointX($point);
-
- $point['Y'] = $data['Y']['max'];
- $x_max = $this->_pointX($point);
-
- if ($data['Y']['close'] < $data['Y']['open']) {
- $ID = 'red';
- } else {
- $ID = 'green';
- }
-
- $this->_drawCandleStickH($y, $width, $x_min, $x_open, $x_close, $x_max, $ID);
- }
- else {
- $point['X'] = $data['X'];
- //$y = $data['Y'];
-
- if (isset($data['Y']['open'])) {
- $point['Y'] = $data['Y']['open'];
- } else {
- $point['Y'] = $lastClosed;
- }
- $x = $this->_pointX($point);
- $y_open = $this->_pointY($point);
-
- $lastClosed = $point['Y'] = $data['Y']['close'];
- $y_close = $this->_pointY($point);
-
- $point['Y'] = $data['Y']['min'];
- $y_min = $this->_pointY($point);
-
- $point['Y'] = $data['Y']['max'];
- $y_max = $this->_pointY($point);
-
- if ($data['Y']['close'] < $data['Y']['open']) {
- $ID = 'red';
- } else {
- $ID = 'green';
- }
-
- $this->_drawCandleStickV($x, $width, $y_min, $y_open, $y_close, $y_max, $ID);
- }
- }
- }
- unset($keys);
- $this->_drawMarker();
-
- $this->_clip(false);
-
- $this->_canvas->endGroup($this->_title);
-
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Dot.php b/config/dspam/pear/Image/Graph/Plot/Dot.php
deleted file mode 100644
index 19352567..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Dot.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Dot / scatter chart (only marker).
- *
- * This plot type only displays a {@link Image_Graph_Marker} for the datapoints.
- * The marker must explicitly be defined using {@link Image_Graph_Plot::
- * setMarker()}.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Dot extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- if (isset($this->_marker)) {
- $key = key($this->_dataset);
- $samplePoint = $this->_dataset[$key]->_nearby();
- $this->_marker->_drawMarker(($x0 + $x1) / 2, ($y0 + $y1) / 2, $samplePoint);
- }
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (Image_Graph_Plot::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
-
- $this->_clip(true);
-
- $this->_drawMarker();
-
- $this->_clip(false);
-
- $this->_canvas->endGroup();
-
- return true;
- }
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Fit/Line.php b/config/dspam/pear/Image/Graph/Plot/Fit/Line.php
deleted file mode 100644
index 07f3b9cc..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Fit/Line.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Include file Image/Graph/Tool.php
- */
-require_once 'Image/Graph/Tool.php';
-
-/**
- * Fit the graph (to a line using linear regression).
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Fit_Line extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $y = ($y0 + $y1) / 2;
- $dy = abs($y1 - $y0) / 6;
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y + $dy));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y - $dy));
- $this->_canvas->polygon(array('connect' => false));
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (Image_Graph_Plot::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $data = array();
- while ($point = $dataset->_next()) {
- $data[] = array(
- 'X' => $this->_pointX($point),
- 'Y' => $this->_pointY($point)
- );
- }
-
- $regression = Image_Graph_Tool::calculateLinearRegression($data);
- $this->_getLineStyle($key);
- $this->_canvas->line(
- array(
- 'x0' => $this->_left,
- 'y0' => $this->_left * $regression['slope'] + $regression['intersection'],
- 'x1' => $this->_right,
- 'y1' => $this->_right * $regression['slope'] + $regression['intersection']
- )
- );
- }
- $this->_clip(false);
- $this->_canvas->endGroup();
-
- return true;
- }
-}
-
-?>
diff --git a/config/dspam/pear/Image/Graph/Plot/Impulse.php b/config/dspam/pear/Image/Graph/Plot/Impulse.php
deleted file mode 100644
index 91372cd1..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Impulse.php
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Impulse chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Impulse extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $x = ($x0 + $x1) / 2;
- $this->_canvas->line(array('x0' => $x, 'y0' => $y0, 'x1' => $x, 'y1' => $y1));
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
-
- if ($this->_multiType == 'stacked100pct') {
- $total = $this->_getTotals();
- }
- $current = array();
- $number = 0;
-
- $minYaxis = $this->_parent->_getMinimum($this->_axisY);
- $maxYaxis = $this->_parent->_getMaximum($this->_axisY);
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $x0 = $this->_pointX($point);
- if (($this->_multiType == 'stacked') ||
- ($this->_multiType == 'stacked100pct'))
- {
- $x = $point['X'];
-
- if ($point['Y'] >= 0) {
- if (!isset($current[$x])) {
- $current[$x] = 0;
- }
-
- if ($this->_multiType == 'stacked') {
- $p0 = array(
- 'X' => $point['X'],
- 'Y' => $current[$x]
- );
- $p1 = array(
- 'X' => $point['X'],
- 'Y' => $current[$x] + $point['Y']
- );
- } else {
- $p0 = array(
- 'X' => $point['X'],
- 'Y' => 100 * $current[$x] / $total['TOTAL_Y'][$x]
- );
- $p1 = array(
- 'X' => $point['X'],
- 'Y' => 100 * ($current[$x] + $point['Y']) / $total['TOTAL_Y'][$x]
- );
- }
- $current[$x] += $point['Y'];
- } else {
- if (!isset($currentNegative[$x])) {
- $currentNegative[$x] = 0;
- }
-
- $p0 = array(
- 'X' => $point['X'],
- 'Y' => $currentNegative[$x]
- );
- $p1 = array(
- 'X' => $point['X'],
- 'Y' => $currentNegative[$x] + $point['Y']
- );
- $currentNegative[$x] += $point['Y'];
- }
- } else {
- $p0 = array('X' => $point['X'], 'Y' => 0);
- $p1 = $point;
- }
-
- if ((($minY = min($p0['Y'], $p1['Y'])) < $maxYaxis) &&
- (($maxY = max($p0['Y'], $p1['Y'])) > $minYaxis)
- ) {
- $p0['Y'] = $minY;
- $p1['Y'] = $maxY;
-
- if ($p0['Y'] < $minYaxis) {
- $p0['Y'] = '#min_pos#';
- }
- if ($p1['Y'] > $maxYaxis) {
- $p1['Y'] = '#max_neg#';
- }
-
- $x1 = $this->_pointX($p0);
- $y1 = $this->_pointY($p0);
-
- $x2 = $this->_pointX($p1);
- $y2 = $this->_pointY($p1);
-
- if ($this->_multiType == 'normal') {
- $offset = 5*$number;
- $x1 += $offset;
- $x2 += $offset;
- }
-
- $ID = $point['ID'];
- if (($ID === false) && (count($this->_dataset) > 1)) {
- $ID = $key;
- }
- $this->_getLineStyle($key);
- $this->_canvas->line(
- $this->_mergeData(
- $point,
- array(
- 'x0' => $x1,
- 'y0' => $y1,
- 'x1' => $x2,
- 'y1' => $y2
- )
- )
- );
- }
- }
- $number++;
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
- $this->_canvas->endGroup();
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Line.php b/config/dspam/pear/Image/Graph/Plot/Line.php
deleted file mode 100644
index 009b4e1f..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Line.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Linechart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Line extends Image_Graph_Plot
-{
-
- /**
- * Gets the fill style of the element
- *
- * @return int A GD filestyle representing the fill style
- * @see Image_Graph_Fill
- * @access private
- */
- function _getFillStyle($ID = false)
- {
- return IMG_COLOR_TRANSPARENT;
- }
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $y = ($y0 + $y1) / 2;
- $dx = abs($x1 - $x0) / 3;
- $dy = abs($y1 - $y0) / 5;
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y));
- $this->_canvas->addVertex(array('x' => $x0 + $dx, 'y' => $y - $dy * 2));
- $this->_canvas->addVertex(array('x' => $x1 - $dx, 'y' => $y + $dy));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y - $dy));
- $this->_canvas->polygon(array('connect' => false));
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- if (!is_array($this->_dataset)) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
- reset($this->_dataset);
-
- if ($this->_multiType == 'stacked100pct') {
- $total = $this->_getTotals();
- }
-
- $p1 = false;
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $numPoints = 0;
- while ($point = $dataset->_next()) {
- if (($this->_multiType == 'stacked') ||
- ($this->_multiType == 'stacked100pct'))
- {
- $x = $point['X'];
- if (!isset($current[$x])) {
- $current[$x] = 0;
- }
- if ($this->_multiType == 'stacked') {
- $py = $current[$x] + $point['Y'];
- } else {
- $py = 100 * ($current[$x] + $point['Y']) / $total['TOTAL_Y'][$x];
- }
- $current[$x] += $point['Y'];
- $point['Y'] = $py;
- }
-
- if ($point['Y'] === null) {
- if ($numPoints > 1) {
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => false, 'map_vertices' => true));
- }
- else {
- $this->_canvas->reset();
- }
- $numPoints = 0;
- } else {
- $p2['X'] = $this->_pointX($point);
- $p2['Y'] = $this->_pointY($point);
-
- $this->_canvas->addVertex(
- $this->_mergeData(
- $point,
- array('x' => $p2['X'], 'y' => $p2['Y'])
- )
- );
- $numPoints++;
- }
- }
- if ($numPoints > 1) {
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => false, 'map_vertices' => true));
- }
- else {
- $this->_canvas->reset();
- }
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
- $this->_canvas->endGroup();
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Odo.php b/config/dspam/pear/Image/Graph/Plot/Odo.php
deleted file mode 100644
index d6bf7969..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Odo.php
+++ /dev/null
@@ -1,719 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Include file Image/Graph/Tool.php
- */
-require_once 'Image/Graph/Tool.php';
-
-/**
- * 2D Odochart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Maxime Delorme <mdelorme@tennaxia.com>
- * @copyright Copyright (C) 2005 Maxime Delorme
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Odo extends Image_Graph_Plot
-{
- /**
- * the percent of the radius of the chart that will be use as the width of the range
- * @access private
- * @var int
- */
- var $_radiusPercent = 50;
-
- /**
- * the minimun value of the chart or the start value
- * @access private
- * @var int
- */
- var $_value_min = 0;
-
- /**
- * the maximum value of the chart or the end value
- * @access private
- * @var int
- */
- var $_value_max = 100;
-
- /**
- * the start angle
- * @access private
- * @var int
- */
- var $_deg_offset = 135;
-
- /**
- * the angle of the chart , the length of the chart
- * 180 min a half circle
- * @access private
- * @var int
- */
- var $_deg_width = 270;
-
- /**
- * the length of the big ticks
- * the small ones will be half ot it, the values 160% of it
- * 180 min a half circle
- * @access private
- * @var int
- */
- var $_tickLength = 14;
-
- /**
- * how many small ticks a big tick appears
- * the small ticks appear every 6°
- * so with the default value of 5, every 30° there is a value and a big tick
- * 180 min a half circle
- * @access private
- * @var int
- */
- var $_axisTicks = 5;
-
- /**
- * Arrow marker
- * @access private
- * @var Image_Graph_Marker
- */
- var $_arrowMarker;
-
- /**
- * Range marker fill style
- * @access private
- * @var Image_Graph_Fill
- */
- var $_rangeFillStyle = null;
-
- /**
- * The width of the arrow
- * @access private
- * @var int
- */
- var $_arrowWidth = 5;
-
- /**
- * The length of the arrow
- * @access private
- * @var int
- */
- var $_arrowLength = 80;
-
- /**
- * The radius of the plot
- * @access private
- * @var int
- */
- var $_radius = false;
-
- /**
- * The total Y
- * @access private
- * @var int
- */
- var $_totalY = false;
-
- /**
- * Center X of odometer "circle"
- * @access private
- * @var int
- */
- var $_centerX = false;
-
- /**
- * Center y of odometer "circle"
- * @access private
- * @var int
- */
- var $_centerY = false;
-
- /**
- * Plot_Odo [Constructor]
- *
- * dataset with one data per arrow
- * @param Image_Graph_Dataset $dataset The data set (value containter) to
- * plot or an array of datasets
- * {@link Image_Graph_Legend}
- */
- function Image_Graph_Plot_Odo(&$dataset)
- {
- parent::Image_Graph_Plot($dataset);
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- if (isset($min)) {
- $min = min($dataset->minimumY(), $min);
- }
- else {
- $min = $dataset->minimumY();
- }
- if (isset($max)) {
- $max = max($dataset->maximumY(), $max);
- }
- else {
- $max = $dataset->maximumY();
- }
- }
- $this->_value_min = $min;
- $this->_value_max = $max;
- }
-
- /**
- * Set the center of the odometer
- *
- * @param int $centerX The center x point
- * @param int $centerY The center y point
- */
- function setCenter($centerX, $centerY)
- {
- $this->_centerX = $centerX;
- $this->_centerY = $centerY;
- }
-
- /**
- * Convert a value to the angle position onto the odometer
- *
- * @access private
- * @param int $value the value to convert
- * @return int the angle'position onto the odometer
- */
- function _value2angle($value)
- {
- return $this->_deg_width * (($value - $this->_value_min) / $this->_totalY) + $this->_deg_offset;
- }
-
- /**
- * set some internal var
- *
- * @access private
- */
- function _initialize()
- {
- $v1 = $this->_deg_offset;
- $v2 = $this->_deg_offset + $this->_deg_width;
-
- $dimensions = Image_Graph_Tool::calculateArcDimensionAndCenter($v1, $v2);
-
- $radiusX = ($this->width() / 2) / $dimensions['rx'];
- $radiusY = ($this->height() / 2) / $dimensions['ry'];
-
- $this->_radius = min($radiusX, $radiusY);
-
- if ($this->_marker) {
- $this->_radius = $this->_radius * 0.85;
- }
-
- //the center of the plot
- if ($this->_centerX === false) {
- $this->_centerX = (int) (($this->_left + $this->_right) / 2) +
- $this->_radius * ($dimensions['cx'] - 0.5);
- }
-
- if ($this->_centerY === false) {
- $this->_centerY = (int) (($this->_top + $this->_bottom) / 2) +
- $this->_radius * ($dimensions['cy'] - 0.5);
- }
-
- //the max range
- $this->_totalY = abs($this->_value_max - $this->_value_min);
- }
-
- /**
- * set min and max value of the range
- *
- * @access public
- * @param integer $value_min the minimun value of the chart or the start value
- * @param integer $value_max the maximum value of the chart or the end value
- */
- function setRange($value_min, $value_max)
- {
- $this->_value_min = $value_min;
- $this->_value_max = $value_max;
- }
-
- /**
- * Set start's angle and amplitude of the chart
- *
- * @access public
- * @param integer $deg_offset the start angle
- * @param integer $deg_width the angle of the chart (the length)
- */
- function setAngles($deg_offset, $deg_width)
- {
- $this->_deg_offset = min(360, abs($deg_offset));
- $this->_deg_width = min(360, abs($deg_width));
- }
-
- /**
- * set the width of the chart
- *
- * @access public
- * @param string $radius_percent a value between 0 and 100
- */
- function setRadiusWidth($radius_percent)
- {
- $this->_radiusPercent = $radius_percent;
- }
-
- /**
- * set the width and length of the arrow (in percent of the total plot "radius")
- *
- * @param int length The length in percent
- * @param int width The width in percent
- */
- function setArrowSize($length, $width)
- {
- $this->_arrowWidth = max(0, min(100, $width));
- $this->_arrowLength = max(0, min(100, $length));
- }
-
- /**
- * Set the arrow marker
- * @param Image_Graph_Marker $marker The marker to set for arrow marker
- */
- function setArrowMarker(&$marker)
- {
- $this->_arrowMarker =& $marker;
- }
-
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
- $this->_initialize();
- $this->_drawRange();
- $this->_drawAxis();
- $this->_drawArrow();
- $this->_drawMarker();
- return true;
- }
-
- /**
- * set the length of the ticks
- *
- * @access public
- * @param string $radius_percent a value between 0 and 100
- */
- function setTickLength($radius)
- {
- $this->_tickLength = $radius;
- }
-
- /**
- * set the length of the ticks
- *
- * @access public
- * @param string $radius_percent a value between 0 and 100
- */
- function setAxisTicks($int)
- {
- $this->_axisTicks = $int;
- }
-
- /**
- * Draw the outline and the axis
- *
- * @access private
- */
- function _drawAxis()
- {
- //draw outline
- $this->_getLineStyle();
- $this->_canvas->pieslice(
- array(
- 'x' => $this->_centerX,
- 'y' => $this->_centerY,
- 'rx' => $this->_radius,
- 'ry' => $this->_radius,
- 'v1' => $this->_deg_offset,
- 'v2' => $this->_deg_offset+$this->_deg_width,
- 'srx' => $this->_radius * (1 - $this->_radiusPercent / 100),
- 'sry' => $this->_radius * (1 - $this->_radiusPercent / 100)
- )
- );
-
- //step for every 6°
- $step = (int) ($this->_totalY / $this->_deg_width * 6);
- $value = $this->_value_min;
- $i = 0;
- while ($value <= $this->_value_max) {
- $angle = $this->_value2angle($value);
-
- $cos = cos(deg2rad($angle));
- $sin = sin(deg2rad($angle));
- $point = array('Y' => $value);
- $point['AX'] = $cos;
- $point['AY'] = $sin;
- $point['LENGTH'] = 1;
- $x = $this->_centerX + $this->_radius * $cos;
- $y = $this->_centerY + $this->_radius * $sin;
- $deltaX = - $cos * $this->_tickLength ;
- $deltaY = - $sin * $this->_tickLength ;
- $this->_getLineStyle();
- if(($i % $this->_axisTicks) == 0){
- $this->_canvas->line(array('x0' => $x, 'y0' => $y, 'x1' => $x + $deltaX, 'y1' => $y + $deltaY));
- if ($this->_arrowMarker) {
- $this->_arrowMarker->_drawMarker($x + $deltaX * 1.6, $y + $deltaY *1.6, $point);
- }
- } else {
- $this->_canvas->line(array('x0' => $x, 'y0' => $y, 'x1' => $x + $deltaX * 0.5, 'y1' => $y + $deltaY * 0.5));
- }
- $i++;
- $value += $step;
- }
-
- }
-
- /**
- * Set the line style of the arrows
- *
- * @param Image_Graph_Line $lineStyle The line style of the Arrow
- * @see Image_Graph_Line
- * @access public
- */
- function setArrowLineStyle($lineStyle)
- {
- $this->_arrowLineStyle = &$lineStyle;
- }
-
- /**
- * Set the fillstyle of the arrows
- *
- * @param Image_Graph_Fill $fillStyle The fill style of the arrows
- * @see Image_Graph_Fill
- * @access public
- */
- function setArrowFillStyle($fillStyle)
- {
- $this->_arrowFillStyle = &$fillStyle;
- }
-
- /**
- * Draw the arrows
- *
- * @access private
- */
- function _drawArrow()
- {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $this->setLineStyle($this->_arrowLineStyle);
- $this->setFillStyle($this->_arrowFillStyle);
- while ($point = $dataset->_next()) {
- $ID = $point['ID'];
- $this->_getFillStyle($ID);
- $this->_getLineStyle($ID);
- $deg = $this->_value2angle($point['Y']);
- list($xr,$yr) = Image_Graph_Tool::rotate($this->_centerX + $this->_arrowLength * $this->_radius / 100, $this->_centerY, $this->_centerX, $this->_centerY, $deg);
- $this->_canvas->addVertex(array('x' => $xr, 'y' => $yr));
- list($xr,$yr) = Image_Graph_Tool::rotate($this->_centerX, $this->_centerY - $this->_arrowWidth * $this->_radius/100, $this->_centerX, $this->_centerY, $deg);
- $this->_canvas->addVertex(array('x' => $xr, 'y' => $yr));
- list($xr,$yr) = Image_Graph_Tool::rotate($this->_centerX - $this->_arrowWidth * $this->_radius / 100, $this->_centerY, $this->_centerX, $this->_centerY, $deg);
- $this->_canvas->addVertex(array('x' => $xr, 'y' => $yr));
- list($xr,$yr) = Image_Graph_Tool::rotate($this->_centerX,$this->_centerY + $this->_arrowWidth * $this->_radius / 100, $this->_centerX, $this->_centerY, $deg);
- $this->_canvas->addVertex(array('x' => $xr, 'y' => $yr));
- $this->_canvas->polygon(array('connect' => true));
- }
- }
- }
-
- /**
- * Calculate marker point data
- *
- * @param array $point The point to calculate data for
- * @param array $nextPoint The next point
- * @param array $prevPoint The previous point
- * @param array $totals The pre-calculated totals, if needed
- * @return array An array containing marker point data
- * @access private
- */
- function _getMarkerData($point, $nextPoint, $prevPoint, &$totals)
- {
- $point = parent::_getMarkerData($point, $nextPoint, $prevPoint, $totals);
-
- $point['ANGLE'] = $this->_value2angle($point['Y']);
-
- $point['ANG_X'] = cos(deg2rad($point['ANGLE']));
- $point['ANG_Y'] = sin(deg2rad($point['ANGLE']));
-
- $point['AX'] = -$point['ANG_X'];
- $point['AY'] = -$point['ANG_Y'];
-
- $point['LENGTH'] = 2.5; //$radius;
-
- $point['MARKER_X'] = $totals['CENTER_X'] +
- $totals['ODO_RADIUS'] * $point['ANG_X'];
- $point['MARKER_Y'] = $totals['CENTER_Y'] +
- $totals['ODO_RADIUS'] * $point['ANG_Y'];
-
- return $point;
- }
-
- /**
- * Draws markers of the arrows on the canvas
- *
- * @access private
- */
- function _drawMarker()
- {
-
- if ($this->_marker) {
- $this->_marker->_radius += $this->_radius / 2;
- $totals = $this->_getTotals();
-
- $totals['CENTER_X'] = $this->_centerX;
- $totals['CENTER_Y'] = $this->_centerY;
-
-
- /* $keys = array_keys($this->_dataset);
- foreach ($keys as $key) { */
- $dataset =& $this->_dataset[0];
-
- $totals['RADIUS0'] = false;
- $totals['ODO_RADIUS'] = 1.1 * $this->_radius * $this->_arrowLength / 100;
- $totals['ALL_SUM_Y'] = $this->_totalY;
-
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- if ((!is_object($this->_dataSelector)) ||
- ($this->_dataSelector->select($point))
- ) {
- $point = $this->_getMarkerData(
- $point,
- false,
- false,
- $totals
- );
- if (is_array($point)) {
- $this->_marker->_drawMarker(
- $point['MARKER_X'],
- $point['MARKER_Y'],
- $point
- );
- }
- }
- }
- /* }
- unset($keys); */
- }
- }
-
- /**
- * Set range
- *
- * dataset with two data start and end value of the range
- * @param Image_Graph_Dataset $dataset The data set (value containter) to
- * plot or an array of datasets
- *
- */
- function addRangeMarker($min, $max, $id = false)
- {
- $this->_range[] =
- array(
- 'min' => max($this->_value_min, min($min, $max)),
- 'max' => min($this->_value_max, max($min, $max)),
- 'id' => $id
- );
- }
-
- /**
- * Set the fillstyle of the ranges
- *
- * @param Image_Graph_Fill $fillStyle The fill style of the range
- * @see Image_Graph_Fill
- * @access public
- */
- function &setRangeMarkerFillStyle(&$rangeMarkerFillStyle)
- {
- $this->_rangeFillStyle = $rangeMarkerFillStyle;
- }
-
- /**
- * Draw the ranges
- *
- * @access private
- */
- function _drawRange()
- {
- if($this->_range){
- $radius0 = $this->_radius * (1 - $this->_radiusPercent/100);
- foreach ($this->_range as $range) {
- $angle1 = $this->_value2angle($range['min']);
- $angle2 = $this->_value2angle($range['max']);
-
- if (is_object($this->_rangeFillStyle)) {
- $this->_canvas->setFill($this->_rangeFillStyle->_getFillStyle($range['id']));
- } elseif ($this->_rangeFillStyle != null) {
- $this->_canvas->setFill($this->_rangeFillStyle);
- }
- $this->_getLineStyle();
- $this->_canvas->Pieslice(
- array(
- 'x' => $this->_centerX,
- 'y' => $this->_centerY,
- 'rx' => $this->_radius,
- 'ry' => $this->_radius,
- 'v1' => $angle1,
- 'v2' => $angle2,
- 'srx' => $radius0,
- 'sry' => $radius0
- )
- );
- }
- }
- }
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $dx = abs($x1 - $x0) / 4;
- $this->_canvas->addVertex(array('x' => $x0 + $dx , 'y' => $y1));
- $this->_canvas->addVertex(array('x' => ($x0 + $x1) / 2, 'y' => $y0 ));
- $this->_canvas->addVertex(array('x' => $x1 - $dx , 'y' => $y1));
- $this->_canvas->polygon(array('connect' => true));
- }
-
- /**
- * Draw a sample for use with legend
- *
- * @param array $param The parameters for the legend
- * @access private
- */
- function _legendSample(&$param)
- {
- if (is_array($this->_dataset)) {
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
-
- $totals = $this->_getTotals();
- $totals['CENTER_X'] = (int) (($this->_left + $this->_right) / 2);
- $totals['CENTER_Y'] = (int) (($this->_top + $this->_bottom) / 2);
- $totals['RADIUS'] = min($this->height(), $this->width()) * 0.75 * 0.5;
- $totals['CURRENT_Y'] = 0;
-
- if (is_a($this->_fillStyle, "Image_Graph_Fill")) {
- $this->_fillStyle->_reset();
- }
-
- $count = 0;
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $count++;
-
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $caption = $point['X'];
-
- $this->_canvas->setFont($param['font']);
- $width = 20 + $param['width'] + $this->_canvas->textWidth($caption);
- $param['maxwidth'] = max($param['maxwidth'], $width);
- $x2 = $param['x'] + $width;
- $y2 = $param['y'] + $param['height'] + 5;
-
- if ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) && ($y2 > $param['bottom'])) {
- $param['y'] = $param['top'];
- $param['x'] = $x2;
- $y2 = $param['y'] + $param['height'];
- } elseif ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) == 0) && ($x2 > $param['right'])) {
- $param['x'] = $param['left'];
- $param['y'] = $y2;
- $x2 = $param['x'] + 20 + $param['width'] + $this->_canvas->textWidth($caption);
- }
-
- $x = $x0 = $param['x'];
- $y = $param['y'];
- $y0 = $param['y'] - $param['height'] / 2;
- $x1 = $param['x'] + $param['width'];
- $y1 = $param['y'] + $param['height'] / 2;
-
- if (!isset($param['simulate'])) {
- $this->_getFillStyle($point['ID']);
- $this->_getLineStyle($point['ID']);
- $this->_drawLegendSample($x0, $y0, $x1, $y1);
-
- if (($this->_marker) && ($dataset) && ($param['show_marker'])) {
- $prevPoint = $dataset->_nearby(-2);
- $nextPoint = $dataset->_nearby();
-
- $p = $this->_getMarkerData($point, $nextPoint, $prevPoint, $totals);
- if (is_array($point)) {
- $p['MARKER_X'] = $x+$param['width'] / 2;
- $p['MARKER_Y'] = $y;
- unset ($p['AVERAGE_Y']);
- $this->_marker->_drawMarker($p['MARKER_X'], $p['MARKER_Y'], $p);
- }
- }
- $this->write($x + $param['width'] + 10, $y, $caption, IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT, $param['font']);
- }
-
- if (($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) {
- $param['y'] = $y2;
- } else {
- $param['x'] = $x2;
- }
- }
- }
- unset($keys);
- $this->_clip(false);
- $this->_canvas->endGroup();
- }
- }
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Pie.php b/config/dspam/pear/Image/Graph/Plot/Pie.php
deleted file mode 100644
index f0e872c3..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Pie.php
+++ /dev/null
@@ -1,623 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * 2D Piechart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Pie extends Image_Graph_Plot
-{
-
- /**
- * The radius of the 'pie' spacing
- * @access private
- * @var int
- */
- var $_radius = 3;
-
- /**
- * Explode pie slices.
- * @access private
- * @var mixed
- */
- var $_explode = false;
-
- /**
- * The starting angle of the plot
- * @access private
- * @var int
- */
- var $_startingAngle = 0;
-
- /**
- * The angle direction (1 = CCW, -1 = CW)
- * @access private
- * @var int
- */
- var $_angleDirection = 1;
-
- /**
- * The diameter of the pie plot
- * @access private
- * @var int
- */
- var $_diameter = false;
-
- /**
- * Group items below this limit together as "the rest"
- * @access private
- * @var double
- */
- var $_restGroupLimit = false;
-
- /**
- * Rest group title
- * @access private
- * @var string
- */
- var $_restGroupTitle = 'The rest';
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $y = ($y0 + $y1) / 2;
- $this->_canvas->pieslice(
- array(
- 'x' => $x1,
- 'y' => $y,
- 'rx' => abs($x1 - $x0) / 2,
- 'ry' => abs($y1 - $y0) / 2,
- 'v1' => 45,
- 'v2' => 315
- )
- );
- }
-
- /**
- * Calculate marker point data
- *
- * @param array $point The point to calculate data for
- * @param array $nextPoint The next point
- * @param array $prevPoint The previous point
- * @param array $totals The pre-calculated totals, if needed
- * @return array An array containing marker point data
- * @access private
- */
- function _getMarkerData($point, $nextPoint, $prevPoint, &$totals)
- {
- $point = parent::_getMarkerData($point, $nextPoint, $prevPoint, $totals);
-
- $y = $totals['CURRENT_Y'];
-
- if ($this->_angleDirection < 0) {
- $y = $totals['ALL_SUM_Y'] - $y;
- }
-
- $point['ANGLE'] = 360 * (($y + ($point['Y'] / 2)) / $totals['ALL_SUM_Y']) + $this->_startingAngle;
- $totals['CURRENT_Y'] += $point['Y'];
-
- $point['ANG_X'] = cos(deg2rad($point['ANGLE']));
- $point['ANG_Y'] = sin(deg2rad($point['ANGLE']));
-
- $point['AX'] = -10 * $point['ANG_X'];
- $point['AY'] = -10 * $point['ANG_Y'];
-
- if ((isset($totals['ALL_SUM_Y'])) && ($totals['ALL_SUM_Y'] != 0)) {
- $point['PCT_MIN_Y'] = $point['PCT_MAX_Y'] = (100 * $point['Y'] / $totals['ALL_SUM_Y']);
- }
-
- $point['LENGTH'] = 10; //$radius;
-
- $x = $point['X'];
- $explodeRadius = 0;
- if ((is_array($this->_explode)) && (isset($this->_explode[$x]))) {
- $explodeRadius = $this->_explode[$x];
- } elseif (is_numeric($this->_explode)) {
- $explodeRadius = $this->_explode;
- }
-
- $point['MARKER_X'] = $totals['CENTER_X'] +
- ($totals['RADIUS'] + $explodeRadius) * $point['ANG_X'];
- $point['MARKER_Y'] = $totals['CENTER_Y'] +
- ($totals['RADIUS'] + $explodeRadius) * $point['ANG_Y'];
-
- return $point;
- }
-
- /**
- * Draws markers on the canvas
- *
- * @access private
- */
- function _drawMarker()
- {
-
- if ($this->_marker) {
- $totals = $this->_getTotals();
-
- $totals['CENTER_X'] = (int) (($this->_left + $this->_right) / 2);
- $totals['CENTER_Y'] = (int) (($this->_top + $this->_bottom) / 2);
-
- $totals['CURRENT_Y'] = 0;
- $number = 0;
-
- $diameter = $this->_getDiameter();
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
-
- if (count($this->_dataset) == 1) {
- $totals['RADIUS0'] = false;
- $totals['RADIUS'] = $diameter / 2;
- } else {
- $dr = $diameter / (2 * count($this->_dataset));
-
- $totals['RADIUS0'] = $number * $dr + ($number > 0 ? $this->_radius : 0);
- $totals['RADIUS'] = ($number + 1) * $dr;
- }
-
- $totals['ALL_SUM_Y'] = 0;
- $totals['CURRENT_Y'] = 0;
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $totals['ALL_SUM_Y'] += $point['Y'];
- }
-
- $dataset->_reset();
- $currentY = 0;
- $the_rest = 0;
- while ($point = $dataset->_next()) {
- if (($this->_restGroupLimit !== false) && ($point['Y'] <= $this->_restGroupLimit)) {
- $the_rest += $point['Y'];
- }
- else {
- if ((!is_object($this->_dataSelector)) ||
- ($this->_dataSelector->select($point))
- ) {
- $point = $this->_getMarkerData(
- $point,
- false,
- false,
- $totals
- );
- if (is_array($point)) {
- $this->_marker->_drawMarker(
- $point['MARKER_X'],
- $point['MARKER_Y'],
- $point
- );
- }
- }
- }
- }
- if ($the_rest > 0) {
- $point = array('X' => $this->_restGroupTitle, 'Y' => $the_rest);
- $point = $this->_getMarkerData(
- $point,
- false,
- false,
- $totals
- );
- if (is_array($point)) {
- $this->_marker->_drawMarker(
- $point['MARKER_X'],
- $point['MARKER_Y'],
- $point
- );
- }
- }
- $number++;
- }
- unset($keys);
- }
- }
-
- /**
- * Explodes a piece of this pie chart
- *
- * @param int $explode Radius to explode with (or an array)
- * @param string $x The 'x' value to explode or omitted
- */
- function explode($explode, $x = false)
- {
- if ($x === false) {
- $this->_explode = $explode;
- } else {
- $this->_explode[$x] = $explode;
- }
- }
-
- /**
- * Set the starting angle of the plot
- *
- * East is 0 degrees
- * South is 90 degrees
- * West is 180 degrees
- * North is 270 degrees
- *
- * It is also possible to specify the direction of the plot angles (i.e. clockwise 'cw' or
- * counterclockwise 'ccw')
- */
- function setStartingAngle($angle = 0, $direction = 'ccw')
- {
- $this->_startingAngle = ($angle % 360);
- $this->_angleDirection = ($direction == 'ccw' ? 1 : -1);
- }
-
- /**
- * Set the diameter of the pie plot (i.e. the number of pixels the
- * pie plot should be across)
- *
- * Use 'max' for the maximum possible diameter
- *
- * Use negative values for the maximum possible - minus this value (fx -2
- * to leave 1 pixel at each side)
- *
- * @param mixed @diameter The number of pixels
- */
- function setDiameter($diameter)
- {
- $this->_diameter = $diameter;
- }
-
- /**
- * Set the limit for the y-value, where values below are grouped together
- * as "the rest"
- *
- * @param double $limit The limit
- * @param string $title The title to display in the legends (default 'The
- * rest')
- */
- function setRestGroup($limit, $title = 'The rest')
- {
- $this->_restGroupLimit = $limit;
- $this->_restGroupTitle = $title;
- }
-
- /**
- * Get the diameter of the plot
- * @return int The number of pixels the diameter is
- * @access private
- */
- function _getDiameter()
- {
- $diameter = 0;
- if ($this->_diameter === false) {
- $diameter = min($this->height(), $this->width()) * 0.75;
- }
- else {
- if ($this->_diameter === 'max') {
- $diameter = min($this->height(), $this->width());
- }
- elseif ($this->_diameter < 0) {
- $diameter = min($this->height(), $this->width()) + $this->_diameter;
- } else {
- $diameter = $this->_diameter;
- }
- }
- return $diameter;
- }
-
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $number = 0;
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
-
- $totalY = 0;
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $totalY += $point['Y'];
- }
-
- $centerX = (int) (($this->_left + $this->_right) / 2);
- $centerY = (int) (($this->_top + $this->_bottom) / 2);
- $diameter = $this->_getDiameter();
- if ($this->_angleDirection < 0) {
- $currentY = $totalY;
- } else {
- $currentY = 0; //rand(0, 100)*$totalY/100;
- }
- $dataset->_reset();
-
- if (count($this->_dataset) == 1) {
- $radius0 = false;
- $radius1 = $diameter / 2;
- } else {
- $dr = $diameter / (2 * count($this->_dataset));
-
- $radius0 = $number * $dr + ($number > 0 ? $this->_radius : 0);
- $radius1 = ($number + 1) * $dr;
- }
-
- $the_rest = 0;
- while ($point = $dataset->_next()) {
- if (($this->_restGroupLimit !== false) && ($point['Y'] <= $this->_restGroupLimit)) {
- $the_rest += $point['Y'];
- }
- else {
- $angle1 = 360 * ($currentY / $totalY) + $this->_startingAngle;
- $currentY += $this->_angleDirection * $point['Y'];
- $angle2 = 360 * ($currentY / $totalY) + $this->_startingAngle;
-
- $x = $point['X'];
- $id = $point['ID'];
-
- $dX = 0;
- $dY = 0;
- $explodeRadius = 0;
- if ((is_array($this->_explode)) && (isset($this->_explode[$x]))) {
- $explodeRadius = $this->_explode[$x];
- } elseif (is_numeric($this->_explode)) {
- $explodeRadius = $this->_explode;
- }
-
- if ($explodeRadius > 0) {
- $dX = $explodeRadius * cos(deg2rad(($angle1 + $angle2) / 2));
- $dY = $explodeRadius * sin(deg2rad(($angle1 + $angle2) / 2));
- }
-
- $ID = $point['ID'];
- $this->_getFillStyle($ID);
- $this->_getLineStyle($ID);
- $this->_canvas->pieslice(
- $this->_mergeData(
- $point,
- array(
- 'x' => $centerX + $dX,
- 'y' => $centerY + $dY,
- 'rx' => $radius1,
- 'ry' => $radius1,
- 'v1' => $angle1,
- 'v2' => $angle2,
- 'srx' => $radius0,
- 'sry' => $radius0
- )
- )
- );
- }
- }
-
- if ($the_rest > 0) {
- $angle1 = 360 * ($currentY / $totalY) + $this->_startingAngle;
- $currentY += $this->_angleDirection * $the_rest;
- $angle2 = 360 * ($currentY / $totalY) + $this->_startingAngle;
-
- $x = 'rest';
- $id = 'rest';
-
- $dX = 0;
- $dY = 0;
- $explodeRadius = 0;
- if ((is_array($this->_explode)) && (isset($this->_explode[$x]))) {
- $explodeRadius = $this->_explode[$x];
- } elseif (is_numeric($this->_explode)) {
- $explodeRadius = $this->_explode;
- }
-
- if ($explodeRadius > 0) {
- $dX = $explodeRadius * cos(deg2rad(($angle1 + $angle2) / 2));
- $dY = $explodeRadius * sin(deg2rad(($angle1 + $angle2) / 2));
- }
-
- $ID = $id;
- $this->_getFillStyle($ID);
- $this->_getLineStyle($ID);
- $this->_canvas->pieslice(
- $this->_mergeData(
- $point,
- array(
- 'x' => $centerX + $dX,
- 'y' => $centerY + $dY,
- 'rx' => $radius1,
- 'ry' => $radius1,
- 'v1' => $angle1,
- 'v2' => $angle2,
- 'srx' => $radius0,
- 'sry' => $radius0
- )
- )
- );
- }
- $number++;
- }
- unset($keys);
- $this->_drawMarker();
- return true;
- }
-
- /**
- * Draw a sample for use with legend
- *
- * @param array $param The parameters for the legend
- * @access private
- */
- function _legendSample(&$param)
- {
- if (is_array($this->_dataset)) {
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
-
- $totals = $this->_getTotals();
- $totals['CENTER_X'] = (int) (($this->_left + $this->_right) / 2);
- $totals['CENTER_Y'] = (int) (($this->_top + $this->_bottom) / 2);
- $totals['RADIUS'] = min($this->height(), $this->width()) * 0.75 * 0.5;
- $totals['CURRENT_Y'] = 0;
-
- if (is_a($this->_fillStyle, "Image_Graph_Fill")) {
- $this->_fillStyle->_reset();
- }
-
- $count = 0;
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $count++;
-
- $dataset->_reset();
- $the_rest = 0;
- while ($point = $dataset->_next()) {
- $caption = $point['X'];
- if (($this->_restGroupLimit !== false) && ($point['Y'] <= $this->_restGroupLimit)) {
- $the_rest += $point['Y'];
- }
- else {
- $this->_canvas->setFont($param['font']);
- $width = 20 + $param['width'] + $this->_canvas->textWidth($caption);
- $param['maxwidth'] = max($param['maxwidth'], $width);
- $x2 = $param['x'] + $width;
- $y2 = $param['y'] + $param['height']+5;
-
- if ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) && ($y2 > $param['bottom'])) {
- $param['y'] = $param['top'];
- $param['x'] = $x2;
- $y2 = $param['y'] + $param['height'];
- } elseif ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) == 0) && ($x2 > $param['right'])) {
- $param['x'] = $param['left'];
- $param['y'] = $y2;
- $x2 = $param['x'] + 20 + $param['width'] + $this->_canvas->textWidth($caption);
- }
-
- $x = $x0 = $param['x'];
- $y = $param['y'];
- $y0 = $param['y'] - $param['height']/2;
- $x1 = $param['x'] + $param['width'];
- $y1 = $param['y'] + $param['height']/2;
-
- if (!isset($param['simulate'])) {
- $this->_getFillStyle($point['ID']);
- $this->_getLineStyle($point['ID']);
- $this->_drawLegendSample($x0, $y0, $x1, $y1);
-
- if (($this->_marker) && ($dataset) && ($param['show_marker'])) {
- $prevPoint = $dataset->_nearby(-2);
- $nextPoint = $dataset->_nearby();
-
- $p = $this->_getMarkerData($point, $nextPoint, $prevPoint, $totals);
- if (is_array($point)) {
- $p['MARKER_X'] = $x+$param['width']/2;
- $p['MARKER_Y'] = $y;
- unset ($p['AVERAGE_Y']);
- $this->_marker->_drawMarker($p['MARKER_X'], $p['MARKER_Y'], $p);
- }
- }
- $this->write($x + $param['width'] +10, $y, $caption, IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT, $param['font']);
- }
-
- if (($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) {
- $param['y'] = $y2;
- } else {
- $param['x'] = $x2;
- }
- }
- }
- if ($the_rest > 0) {
- $this->_canvas->setFont($param['font']);
- $width = 20 + $param['width'] + $this->_canvas->textWidth($this->_restGroupTitle);
- $param['maxwidth'] = max($param['maxwidth'], $width);
- $x2 = $param['x'] + $width;
- $y2 = $param['y'] + $param['height']+5;
-
- if ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) && ($y2 > $param['bottom'])) {
- $param['y'] = $param['top'];
- $param['x'] = $x2;
- $y2 = $param['y'] + $param['height'];
- } elseif ((($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) == 0) && ($x2 > $param['right'])) {
- $param['x'] = $param['left'];
- $param['y'] = $y2;
- $x2 = $param['x'] + 20 + $param['width'] + $this->_canvas->textWidth($this->_restGroupTitle);
- }
-
- $x = $x0 = $param['x'];
- $y = $param['y'];
- $y0 = $param['y'] - $param['height']/2;
- $x1 = $param['x'] + $param['width'];
- $y1 = $param['y'] + $param['height']/2;
-
- if (!isset($param['simulate'])) {
- $this->_getFillStyle('rest');
- $this->_getLineStyle('rest');
- $this->_drawLegendSample($x0, $y0, $x1, $y1);
-
- $this->write($x + $param['width'] + 10, $y, $this->_restGroupTitle, IMAGE_GRAPH_ALIGN_CENTER_Y | IMAGE_GRAPH_ALIGN_LEFT, $param['font']);
- }
-
- if (($param['align'] & IMAGE_GRAPH_ALIGN_VERTICAL) != 0) {
- $param['y'] = $y2;
- } else {
- $param['x'] = $x2;
- }
- }
- }
- unset($keys);
- $this->_clip(false);
- $this->_canvas->endGroup();
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Radar.php b/config/dspam/pear/Image/Graph/Plot/Radar.php
deleted file mode 100644
index 1bfd9da7..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Radar.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Radar chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Radar extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $p = 10;
- $rx = abs($x1 - $x0) / 2;
- $ry = abs($x1 - $x0) / 2;
- $r = min($rx, $ry);
- $cx = ($x0 + $x1) / 2;
- $cy = ($y0 + $y1) / 2;
- $max = 5;
- for ($i = 0; $i < $p; $i++) {
- $v = 2 * pi() * $i / $p;
- $t = $r * rand(3, $max) / $max;
- $x = $cx + $t * cos($v);
- $y = $cy + $t * sin($v);
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
- }
- $this->_canvas->polygon(array('connect' => true));
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
- if (is_a($this->_parent, 'Image_Graph_Plotarea_Radar')) {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $maxY = $dataset->maximumY();
- $count = $dataset->count();
-
- $dataset->_reset();
- while ($point = $dataset->_next()) {
- $this->_canvas->addVertex(array('x' =>
- $this->_pointX($point), 'y' =>
- $this->_pointY($point)
- ));
- }
- $this->_getFillStyle($key);
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => true));
- }
- unset($keys);
- }
- $this->_drawMarker();
-
- $this->_clip(false);
- $this->_canvas->endGroup();
- return parent::_done();
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Smoothed/Area.php b/config/dspam/pear/Image/Graph/Plot/Smoothed/Area.php
deleted file mode 100644
index 8ea469dd..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Smoothed/Area.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot/Smoothed/Bezier.php
- */
-require_once 'Image/Graph/Plot/Smoothed/Bezier.php';
-
-/**
- * Bezier smoothed area chart
- *
- * Similar to an {@link Image_Graph_Plot_Area}, but the interconnecting lines
- * between two datapoints are smoothed using a Bezier curve, which enables the
- * chart to appear as a nice curved plot instead of the sharp edges of a
- * conventional {@link Image_Graph_Plot_Area}. Smoothed charts are only supported
- * with non-stacked types
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Smoothed_Area extends Image_Graph_Plot_Smoothed_Bezier
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
-
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y1));
- $this->_addSamplePoints($x0, $y0, $x1, $y1);
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y1));
- $this->_canvas->polygon(array('connect' => true));
- }
-
- /**
- * Output the Bezier smoothed plot as an Area Chart
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $first = true;
- while ($p1 = $dataset->_next()) {
- $p0 = $dataset->_nearby(-2);
- $p2 = $dataset->_nearby(0);
- $p3 = $dataset->_nearby(1);
- if ($first) {
- $p = $p1;
- $p['Y'] = '#min_pos#';
- $x = $this->_pointX($p);
- $y = $this->_pointY($p);
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
- }
-
- if ($p2) {
- $cp = $this->_getControlPoints($p1, $p0, $p2, $p3);
- $this->_canvas->addSpline(
- array(
- 'x' => $cp['X'],
- 'y' => $cp['Y'],
- 'p1x' => $cp['P1X'],
- 'p1y' => $cp['P1Y'],
- 'p2x' => $cp['P2X'],
- 'p2y' => $cp['P2Y']
- )
- );
- } else {
- $x = $this->_pointX($p1);
- $y = $this->_pointY($p1);
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
- }
- $lastPoint = $p1;
- $first = false;
- }
- $lastPoint['Y'] = '#min_pos#';
- $x = $this->_pointX($lastPoint);
- $y = $this->_pointY($lastPoint);
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
-
- $this->_getFillStyle($key);
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => true));
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
- $this->_canvas->endGroup();
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Smoothed/Bezier.php b/config/dspam/pear/Image/Graph/Plot/Smoothed/Bezier.php
deleted file mode 100644
index bc21b4c8..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Smoothed/Bezier.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot.php
- */
-require_once 'Image/Graph/Plot.php';
-
-/**
- * Include file Image/Graph/Tool.php
- */
-require_once 'Image/Graph/Tool.php';
-
-/**
- * Bezier smoothed plottype.
- *
- * The framework for calculating the Bezier smoothed curve from the dataset.
- * Used in {@link Image_Graph_Plot_Smoothed_Line} and {@link
- * Image_Graph_Plot_Smoothed_Area}. Smoothed charts are only supported with non-
- * stacked types
- * @link http://homepages.borland.com/efg2lab/Graphics/Jean-
- * YvesQueinecBezierCurves.htm efg computer lab - description of bezier curves
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Plot_Smoothed_Bezier extends Image_Graph_Plot
-{
-
- /**
- * Image_Graph_Plot_Smoothed_Bezier [Constructor]
- *
- * Only 'normal' multitype supported
- *
- * @param Dataset $dataset The data set (value containter) to plot
- * @param string $title The title of the plot (used for legends, {@link
- * Image_Graph_Legend})
- */
- function Image_Graph_Plot_Smoothed_Bezier(& $dataset, $title = '')
- {
- parent::Image_Graph_Plot($dataset, 'normal', $title);
- }
-
- /**
- * Return the minimum Y point
- *
- * @return double The minumum Y point
- * @access private
- */
- function _minimumY()
- {
- return 1.05 * parent::_minimumY();
- }
-
- /**
- * Return the maximum Y point
- *
- * @return double The maximum Y point
- * @access private
- */
- function _maximumY()
- {
- return 1.05 * parent::_maximumY();
- }
-
- /**
- * Calculates all Bezier points, for the curve
- *
- * @param array $p1 The actual point to calculate control points for
- * @param array $p0 The point "just before" $p1
- * @param array $p2 The point "just after" $p1
- * @param array $p3 The point "just after" $p2
- * @return array Array of Bezier points
- * @access private
- */
- function _getControlPoints($p1, $p0, $p2, $p3)
- {
- $p1 = $this->_pointXY($p1);
- if ($p2) {
- $p2 = $this->_pointXY($p2);
- }
- if (!$p0) {
- $p0['X'] = $p1['X'] - abs($p2['X'] - $p1['X']);
- $p0['Y'] = $p1['Y']; //-($p2['Y']-$p1['Y']);
- } else {
- $p0 = $this->_pointXY($p0);
- }
- if (!$p3) {
- $p3['X'] = $p1['X'] + 2*abs($p1['X'] - $p0['X']);
- $p3['Y'] = $p1['Y'];
- } else {
- $p3 = $this->_pointXY($p3);
- }
-
- if (!$p2) {
- $p2['X'] = $p1['X'] + abs($p1['X'] - $p0['X']);
- $p2['Y'] = $p1['Y'];
- }
-
- $pC1['X'] = Image_Graph_Tool::controlPoint($p0['X'], $p1['X'], $p2['X']);
- $pC1['Y'] = Image_Graph_Tool::controlPoint($p0['Y'], $p1['Y'], $p2['Y']);
- $pC2['X'] = Image_Graph_Tool::controlPoint($p3['X'], $p2['X'], $p1['X']);
- $pC2['Y'] = Image_Graph_Tool::controlPoint($p3['Y'], $p2['Y'], $p1['Y']);
-
- return array(
- 'X' => $p1['X'],
- 'Y' => $p1['Y'],
- 'P1X' => $pC1['X'],
- 'P1Y' => $pC1['Y'],
- 'P2X' => $pC2['X'],
- 'P2Y' => $pC2['Y']
- );
- }
-
- /**
- * Create legend sample data for the canvas.
- *
- * Common for all smoothed plots
- *
- * @access private
- */
- function _addSamplePoints($x0, $y0, $x1, $y1)
- {
- $p = abs($x1 - $x0);
- $cy = ($y0 + $y1) / 2;
- $h = abs($y1 - $y0);
- $dy = $h / 4;
- $dw = abs($x1 - $x0) / $p;
- for ($i = 0; $i < $p; $i++) {
- $v = 2 * pi() * $i / $p;
- $x = $x0 + $i * $dw;
- $y = $cy + 2 * $v * sin($v);
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Smoothed/Line.php b/config/dspam/pear/Image/Graph/Plot/Smoothed/Line.php
deleted file mode 100644
index 00692839..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Smoothed/Line.php
+++ /dev/null
@@ -1,172 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot/Smoothed/Bezier.php
- */
-require_once 'Image/Graph/Plot/Smoothed/Bezier.php';
-
-/**
- * Bezier smoothed line chart.
- *
- * Similar to a {@link Image_Graph_Plot_Line}, but the interconnecting lines
- * between two datapoints are smoothed using a Bezier curve, which enables the
- * chart to appear as a nice curved plot instead of the sharp edges of a
- * conventional {@link Image_Graph_Plot_Line}. Smoothed charts are only supported
- * with non-stacked types
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Smoothed_Line extends Image_Graph_Plot_Smoothed_Bezier
-{
-
- /**
- * Gets the fill style of the element
- *
- * @return int A GD filestyle representing the fill style
- * @see Image_Graph_Fill
- * @access private
- */
- function _getFillStyle($ID = false)
- {
- return IMG_COLOR_TRANSPARENT;
- }
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $this->_addSamplePoints($x0, $y0, $x1, $y1);
- $this->_canvas->polygon(array('connect' => false));
- }
-
- /**
- * Output the Bezier smoothed plot as an Line Chart
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (parent::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $numPoints = 0;
- while ($p1 = $dataset->_next()) {
- if ($p1['Y'] === null) {
- if ($numPoints > 1) {
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => false, 'map_vertices' => true));
- }
- else {
- $this->_canvas->reset();
- }
- $numPoints = 0;
- } else {
- $p0 = $dataset->_nearby(-2);
- $p2 = $dataset->_nearby(0);
- $p3 = $dataset->_nearby(1);
-
- if (($p0) && ($p0['Y'] === null)) {
- $p0 = false;
- }
- if (($p2) && ($p2['Y'] === null)) {
- $p2 = false;
- }
- if (($p3) && ($p3['Y'] === null)) {
- $p3 = false;
- }
-
- if ($p2) {
- $cp = $this->_getControlPoints($p1, $p0, $p2, $p3);
- $this->_canvas->addSpline(
- $this->_mergeData(
- $p1,
- array(
- 'x' => $cp['X'],
- 'y' => $cp['Y'],
- 'p1x' => $cp['P1X'],
- 'p1y' => $cp['P1Y'],
- 'p2x' => $cp['P2X'],
- 'p2y' => $cp['P2Y']
- )
- )
- );
- } else {
- $x = $this->_pointX($p1);
- $y = $this->_pointY($p1);
- $this->_canvas->addVertex(
- $this->_mergeData(
- $p1,
- array('x' => $x, 'y' => $y)
- )
- );
- }
- $numPoints++;
- }
- }
- if ($numPoints > 1) {
- $this->_getLineStyle();
- $this->_canvas->polygon(array('connect' => false, 'map_vertices' => true));
- }
- else {
- $this->_canvas->reset();
- }
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
- $this->_canvas->endGroup();
- return true;
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Smoothed/Radar.php b/config/dspam/pear/Image/Graph/Plot/Smoothed/Radar.php
deleted file mode 100644
index d505a11f..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Smoothed/Radar.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- * @since File available since Release 0.3.0dev2
- */
-
-/**
- * Include file Image/Graph/Plot/Smoothed/Bezier.php
- */
-require_once 'Image/Graph/Plot/Smoothed/Bezier.php';
-
-/**
- * Smoothed radar chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @since Class available since Release 0.3.0dev2
- */
-class Image_Graph_Plot_Smoothed_Radar extends Image_Graph_Plot_Smoothed_Bezier
-{
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
- if (is_a($this->_parent, 'Image_Graph_Plotarea_Radar')) {
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- if ($dataset->count() >= 3) {
- $dataset->_reset();
- $p1_ = $dataset->_next();
- $p2_ = $dataset->_next();
- $p3_ = $dataset->_next();
- $plast_ = false;
- if ($p3_) {
- while ($p = $dataset->_next()) {
- $plast_ = $p;
- }
- }
-
- if ($plast_ === false) {
- $plast_ = $p3_;
- }
- $dataset->_reset();
- while ($p1 = $dataset->_next()) {
- $p0 = $dataset->_nearby(-2);
- $p2 = $dataset->_nearby(0);
- $p3 = $dataset->_nearby(1);
-
- if ($p0 === false) {
- $p0 = $plast_;
- }
-
- if ($p2 === false) {
- $p2 = $p1_;
- $p3 = $p2_;
- } elseif ($p3 === false) {
- $p3 = $p1_;
- }
-
-
- $cp = $this->_getControlPoints($p1, $p0, $p2, $p3);
- $this->_canvas->addSpline(
- array(
- 'x' => $cp['X'],
- 'y' => $cp['Y'],
- 'p1x' => $cp['P1X'],
- 'p1y' => $cp['P1Y'],
- 'p2x' => $cp['P2X'],
- 'p2y' => $cp['P2Y']
- )
- );
-
- $next2last = $p0;
- $last = $p1;
- }
-
- $cp = $this->_getControlPoints($p1_, $plast_, $p2_, $p3_);
- $this->_canvas->addSpline(
- array(
- 'x' => $cp['X'],
- 'y' => $cp['Y'],
- 'p1x' => $cp['P1X'],
- 'p1y' => $cp['P1Y'],
- 'p2x' => $cp['P2X'],
- 'p2y' => $cp['P2Y']
- )
- );
- $this->_getFillStyle($key);
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => true));
- }
- }
- unset($keys);
- }
- $this->_drawMarker();
- $this->_clip(false);
- $this->_canvas->endGroup($this->_title);
- return parent::_done();
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plot/Step.php b/config/dspam/pear/Image/Graph/Plot/Step.php
deleted file mode 100644
index bc9267fe..00000000
--- a/config/dspam/pear/Image/Graph/Plot/Step.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plot/Bar.php
- */
-require_once 'Image/Graph/Plot/Bar.php';
-
-/**
- * Step chart.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plot
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plot_Step extends Image_Graph_Plot
-{
-
- /**
- * Perform the actual drawing on the legend.
- *
- * @param int $x0 The top-left x-coordinate
- * @param int $y0 The top-left y-coordinate
- * @param int $x1 The bottom-right x-coordinate
- * @param int $y1 The bottom-right y-coordinate
- * @access private
- */
- function _drawLegendSample($x0, $y0, $x1, $y1)
- {
- $dx = abs($x1 - $x0) / 3;
- $dy = abs($y1 - $y0) / 3;
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y1));
- $this->_canvas->addVertex(array('x' => $x0, 'y' => $y0 + $dy));
-
- $this->_canvas->addVertex(array('x' => $x0 + $dx, 'y' => $y0 + $dy));
- $this->_canvas->addVertex(array('x' => $x0 + $dx, 'y' => $y0));
-
- $this->_canvas->addVertex(array('x' => $x0 + 2*$dx, 'y' => $y0));
- $this->_canvas->addVertex(array('x' => $x0 + 2*$dx, 'y' => $y0 + 2*$dy));
-
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y0 + 2*$dy));
- $this->_canvas->addVertex(array('x' => $x1, 'y' => $y1));
- $this->_canvas->polygon(array('connect' => true));
- }
-
- /**
- * PlotType [Constructor]
- *
- * A 'normal' step chart is 'stacked'
- *
- * @param Dataset $dataset The data set (value containter) to plot
- * @param string $multiType The type of the plot
- * @param string $title The title of the plot (used for legends,
- * {@link Image_Graph_Legend})
- */
- function Image_Graph_Plot_Step(& $dataset, $multiType = 'stacked', $title = '')
- {
- $multiType = strtolower($multiType);
- if (($multiType != 'stacked') && ($multiType != 'stacked100pct')) {
- $multiType = 'stacked';
- }
- parent::Image_Graph_Plot($dataset, $multiType, $title);
- }
-
- /**
- * Output the plot
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if (Image_Graph_Plot::_done() === false) {
- return false;
- }
-
- $this->_canvas->startGroup(get_class($this) . '_' . $this->_title);
- $this->_clip(true);
-
- if ($this->_multiType == 'stacked100pct') {
- $total = $this->_getTotals();
- }
-
- if ($this->_parent->_horizontal) {
- $width = $this->height() / ($this->_maximumX() + 2) / 2;
- }
- else {
- $width = $this->width() / ($this->_maximumX() + 2) / 2;
- }
-
- reset($this->_dataset);
- $key = key($this->_dataset);
- $dataset =& $this->_dataset[$key];
-
- $first = $dataset->first();
- $last = $dataset->last();
-
- $point = array ('X' => $first['X'], 'Y' => '#min_pos#');
- $firstY = $this->_pointY($point) + ($this->_parent->_horizontal ? $width : 0);
- $base[] = $firstY;
- $firstX = $this->_pointX($point) - ($this->_parent->_horizontal ? 0 : $width);
- $base[] = $firstX;
-
- $point = array ('X' => $last['X'], 'Y' => '#min_pos#');
- $base[] = $this->_pointY($point) - ($this->_parent->_horizontal ? $width : 0);
- $base[] = $this->_pointX($point) + ($this->_parent->_horizontal ? 0 : $width);
-
- $first = ($this->_parent->_horizontal ? $firstY : $firstX);
-
- $keys = array_keys($this->_dataset);
- foreach ($keys as $key) {
- $dataset =& $this->_dataset[$key];
- $dataset->_reset();
- $polygon = array_reverse($base);
- unset ($base);
- $last = $first;
- while ($point = $dataset->_next()) {
- $x = $point['X'];
- $p = $point;
-
- if (!isset($current[$x])) {
- $current[$x] = 0;
- }
-
- if ($this->_multiType == 'stacked100pct') {
- $p['Y'] = 100 * ($current[$x] + $point['Y']) / $total['TOTAL_Y'][$x];
- } else {
- $p['Y'] += $current[$x];
- }
- $current[$x] += $point['Y'];
- $point = $p;
-
- if ($this->_parent->_horizontal) {
- $x0 = $this->_pointX($point);
- $y0 = $last;
- $x1 = $this->_pointX($point);
- $last = $y1 = $this->_pointY($point) - $width;
- }
- else {
- $x0 = $last;
- $y0 = $this->_pointY($point);
- $last = $x1 = $this->_pointX($point) + $width;
- $y1 = $this->_pointY($point);
- }
- $polygon[] = $x0; $base[] = $y0;
- $polygon[] = $y0; $base[] = $x0;
- $polygon[] = $x1; $base[] = $y1;
- $polygon[] = $y1; $base[] = $x1;
- }
-
- while (list(, $x) = each($polygon)) {
- list(, $y) = each($polygon);
- $this->_canvas->addVertex(array('x' => $x, 'y' => $y));
- }
-
- $this->_getFillStyle($key);
- $this->_getLineStyle($key);
- $this->_canvas->polygon(array('connect' => true));
- }
- unset($keys);
- $this->_drawMarker();
- $this->_clip(false);
- $this->_canvas->endGroup();
- return true;
- }
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plotarea.php b/config/dspam/pear/Image/Graph/Plotarea.php
deleted file mode 100644
index 42aeb26a..00000000
--- a/config/dspam/pear/Image/Graph/Plotarea.php
+++ /dev/null
@@ -1,1145 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plotarea
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Layout.php
- */
-require_once 'Image/Graph/Layout.php';
-
-/**
- * Plot area used for drawing plots.
- *
- * The plotarea consists of an x-axis and an y-axis, the plotarea can plot multiple
- * charts within one plotares, by simply adding them (the axis' will scale to the
- * plots automatically). A graph can consist of more plotareas
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plotarea
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plotarea extends Image_Graph_Layout
-{
-
- /**
- * The left most pixel of the 'real' plot area on the canvas
- * @var int
- * @access private
- */
- var $_plotLeft = 0;
-
- /**
- * The top most pixel of the 'real' plot area on the canvas
- * @var int
- * @access private
- */
- var $_plotTop = 0;
-
- /**
- * The right most pixel of the 'real' plot area on the canvas
- * @var int
- * @access private
- */
- var $_plotRight = 0;
-
- /**
- * The bottom most pixel of the 'real' plot area on the canvas
- * @var int
- * @access private
- */
- var $_plotBottom = 0;
-
- /**
- * The X axis
- * @var Axis
- * @access private
- */
- var $_axisX = null;
-
- /**
- * The Y axis
- * @var Axis
- * @access private
- */
- var $_axisY = null;
-
- /**
- * The secondary Y axis
- * @var Axis
- * @access private
- */
- var $_axisYSecondary = null;
-
- /**
- * The border style of the 'real' plot area
- * @var LineStyle
- * @access private
- */
- var $_plotBorderStyle = null;
-
- /**
- * Does any plot have any data?
- * @var bool
- * @access private
- */
- var $_hasData = false;
-
- /**
- * Is the plotarea horizontal?
- * @var bool
- * @access private
- */
- var $_horizontal = false;
-
- /**
- * Image_Graph_Plotarea [Constructor]
- *
- * @param string $axisX The class of the X axis (if omitted a std. axis is created)
- * @param string $axisY The class of the Y axis (if omitted a std. axis is created)
- * @param string $direction The direction of the plotarea - 'horizontal' or 'vertical' (default)
- */
- function Image_Graph_Plotarea($axisX = 'Image_Graph_Axis_Category', $axisY = 'Image_Graph_Axis', $direction = 'vertical')
- {
- parent::Image_Graph_Layout();
-
- $this->_padding = array('left' => 5, 'top' => 5, 'right' => 5, 'bottom' => 5);;
-
- include_once 'Image/Graph.php';
-
- $this->_axisX =& Image_Graph::factory($axisX, IMAGE_GRAPH_AXIS_X);
- $this->_axisX->_setParent($this);
-
- $this->_axisY =& Image_Graph::factory($axisY, IMAGE_GRAPH_AXIS_Y);
- $this->_axisY->_setParent($this);
- $this->_axisY->_setMinimum(0);
-
- $this->_fillStyle = false;
-
- if ($direction == 'horizontal') {
- $this->_horizontal = true;
- $this->_axisX->_transpose = true;
- $this->_axisY->_transpose = true;
- }
- }
-
- /**
- * Sets the parent. The parent chain should ultimately be a GraPHP object
- *
- * @see Image_Graph_Common
- * @param Image_Graph_Common $parent The parent
- * @access private
- */
- function _setParent(& $parent)
- {
- parent::_setParent($parent);
- if ($this->_axisX !== null) {
- $this->_axisX->_setParent($this);
- }
- if ($this->_axisY !== null) {
- $this->_axisY->_setParent($this);
- }
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setParent($this);
- }
- }
-
- /**
- * Sets the plot border line style of the element.
- *
- * @param Image_Graph_Line $lineStyle The line style of the border
- * @deprecated 0.3.0dev2 - 2004-12-16
- */
- function setPlotBorderStyle(& $plotBorderStyle)
- {
- }
-
- /**
- * Adds an element to the plotarea
- *
- * @param Image_Graph_Element $element The element to add
- * @param int $axis The axis to associate the element with, either
- * IMAGE_GRAPH_AXIS_X, IMAGE_GRAPH_AXIS_Y, IMAGE_GRAPH_AXIS_Y_SECONDARY
- * or the shorter string notations 'x', 'y' or 'ysec' (defaults to
- * IMAGE_GRAPH_AXIS_Y)
- * @return Image_Graph_Element The added element
- * @see Image_Graph_Common::add()
- */
- function &add(& $element, $axis = IMAGE_GRAPH_AXIS_Y)
- {
- if ($axis == 'x') {
- $axis = IMAGE_GRAPH_AXIS_X;
- }
- if ($axis == 'y') {
- $axis = IMAGE_GRAPH_AXIS_Y;
- }
- if ($axis == 'ysec') {
- $axis = IMAGE_GRAPH_AXIS_Y_SECONDARY;
- }
- if (($axis == IMAGE_GRAPH_AXIS_Y_SECONDARY) &&
- ($this->_axisYSecondary == null))
- {
- $this->_axisYSecondary =& Image_Graph::factory('axis', IMAGE_GRAPH_AXIS_Y_SECONDARY);
- $this->_axisYSecondary->_setMinimum(0);
- if ($this->_horizontal) {
- $this->_axisYSecondary->_transpose = true;
- }
- }
-
- parent::add($element);
-
- if (is_a($element, 'Image_Graph_Plot')) {
- $element->_setAxisY($axis);
- // postpone extrema calculation until we calculate coordinates
- //$this->_setExtrema($element);
- } elseif (is_a($element, 'Image_Graph_Grid')) {
- switch ($axis) {
- case IMAGE_GRAPH_AXIS_X:
- if ($this->_axisX != null) {
- $element->_setPrimaryAxis($this->_axisX);
- if ($this->_axisY != null) {
- $element->_setSecondaryAxis($this->_axisY);
- }
- }
- break;
- case IMAGE_GRAPH_AXIS_Y:
- if ($this->_axisY != null) {
- $element->_setPrimaryAxis($this->_axisY);
- if ($this->_axisX != null) {
- $element->_setSecondaryAxis($this->_axisX);
- }
- }
- break;
- case IMAGE_GRAPH_AXIS_Y_SECONDARY:
- if ($this->_axisYSecondary != null) {
- $element->_setPrimaryAxis($this->_axisYSecondary);
- if ($this->_axisX != null) {
- $element->_setSecondaryAxis($this->_axisX);
- }
- }
- break;
- }
- } elseif (is_a($element, 'Image_Graph_Axis')) {
- switch ($element->_type) {
- case IMAGE_GRAPH_AXIS_X:
- $this->_axisX =& $element;
- break;
-
- case IMAGE_GRAPH_AXIS_Y:
- $this->_axisY =& $element;
- break;
-
- case IMAGE_GRAPH_AXIS_Y_SECONDARY:
- $this->_axisYSecondary =& $element;
- break;
-
- }
- if ($element->_getMinimum() == $element->_getMaximum()) {
- $element->_setMinimum(0);
- $element->_setMaximum(1);
- }
- }
- return $element;
- }
-
- /**
- * Get the width of the 'real' plotarea
- *
- * @return int The width of the 'real' plotarea, ie not including space occupied by padding and axis
- * @access private
- */
- function _plotWidth()
- {
- return abs($this->_plotRight - $this->_plotLeft);
- }
-
- /**
- * Get the height of the 'real' plotarea
- *
- * @return int The height of the 'real' plotarea, ie not including space
- * occupied by padding and axis
- * @access private
- */
- function _plotHeight()
- {
- return abs($this->_plotBottom - $this->_plotTop);
- }
-
- /**
- * Set the extrema of the axis
- *
- * @param Image_Graph_Plot $plot The plot that 'hold' the values
- * @access private
- */
- function _setExtrema(& $plot)
- {
- if (($this->_axisX != null) && ($this->_axisX->_isNumeric())) {
- $this->_axisX->_setMinimum($plot->_minimumX());
- $this->_axisX->_setMaximum($plot->_maximumX());
- }
-
- if (($plot->_axisY == IMAGE_GRAPH_AXIS_Y_SECONDARY) &&
- ($this->_axisYSecondary !== null) &&
- ($this->_axisYSecondary->_isNumeric()))
- {
- $this->_axisYSecondary->_setMinimum($plot->_minimumY());
- $this->_axisYSecondary->_setMaximum($plot->_maximumY());
- } elseif (($this->_axisY != null) && ($this->_axisY->_isNumeric())) {
- $this->_axisY->_setMinimum($plot->_minimumY());
- $this->_axisY->_setMaximum($plot->_maximumY());
- }
-
- $datasets =& $plot->dataset();
- if (!is_array($datasets)) {
- $datasets = array($datasets);
- }
-
- $keys = array_keys($datasets);
- foreach ($keys as $key) {
- $dataset =& $datasets[$key];
- if ($dataset->count() > 0) {
- $this->_hasData = true;
- }
-
- if (is_a($dataset, 'Image_Graph_Dataset')) {
- if (($this->_axisX != null) && (!$this->_axisX->_isNumeric())) {
- $this->_axisX->_applyDataset($dataset);
- }
-
- if (($plot->_axisY == IMAGE_GRAPH_AXIS_Y_SECONDARY) &&
- ($this->_axisYSecondary !== null) &&
- (!$this->_axisYSecondary->_isNumeric()))
- {
- $this->_axisYSecondary->_applyDataset($dataset);
- } elseif (($this->_axisY != null) && (!$this->_axisY->_isNumeric())) {
- $this->_axisY->_applyDataset($dataset);
- }
- }
- }
- unset($keys);
- }
-
- /**
- * Left boundary of the background fill area
- *
- * @return int Leftmost position on the canvas
- * @access private
- */
- function _fillLeft()
- {
- return $this->_plotLeft;
- }
-
- /**
- * Top boundary of the background fill area
- *
- * @return int Topmost position on the canvas
- * @access private
- */
- function _fillTop()
- {
- return $this->_plotTop;
- }
-
- /**
- * Right boundary of the background fill area
- *
- * @return int Rightmost position on the canvas
- * @access private
- */
- function _fillRight()
- {
- return $this->_plotRight;
- }
-
- /**
- * Bottom boundary of the background fill area
- *
- * @return int Bottommost position on the canvas
- * @access private
- */
- function _fillBottom()
- {
- return $this->_plotBottom;
- }
-
- /**
- * Get the point from the x-axis
- * @param array $value The value array
- * @param int $min The minimum pixel position possible
- * @param int $max The maximum pixel position possible
- * @return int The pixel position from the axis
- * @access private
- */
- function _axisPointX($value, $min, $max)
- {
- if (($this->_axisX == null) || (!isset($value['X']))) {
- return false;
- }
-
- if ($value['X'] === '#min#') {
- return $min;
- }
- if ($value['X'] === '#max#') {
- return $max;
- }
-
- return $this->_axisX->_point($value['X']);
- }
-
- /**
- * Get the point from the x-axis
- * @param array $value The value array
- * @param int $min The minimum pixel position possible
- * @param int $max The maximum pixel position possible
- * @return int The pixel position from the axis
- * @access private
- */
- function _axisPointY($value, $min, $max)
- {
- if (!isset($value['Y'])) {
- return false;
- }
-
- if (($value['Y'] === '#min_pos#') || ($value['Y'] === '#max_nex#')) {
- // return the minimum (bottom) position or if negative then zero
- // or the maxmum (top) position or if positive then zero
- if ((isset($value['AXIS_Y'])) &&
- ($value['AXIS_Y'] == IMAGE_GRAPH_AXIS_Y_SECONDARY) &&
- ($this->_axisYSecondary !== null)
- ) {
- $axisY =& $this->_axisYSecondary;
- } else {
- $axisY =& $this->_axisY;
- }
- if ($value['Y'] === '#min_pos#') {
- return $axisY->_point(max(0, $axisY->_getMinimum()));
- } else {
- return $axisY->_point(min(0, $axisY->_getMaximum()));
- }
- }
-
- if ($value['Y'] === '#min#') {
- return $min;
- }
- if ($value['Y'] === '#max#') {
- return $max;
- }
-
- if ((isset($value['AXIS_Y'])) &&
- ($value['AXIS_Y'] == IMAGE_GRAPH_AXIS_Y_SECONDARY)
- ) {
- if ($this->_axisYSecondary !== null) {
- return $this->_axisYSecondary->_point($value['Y']);
- }
- } else {
- if ($this->_axisY !== null) {
- return $this->_axisY->_point($value['Y']);
- }
- }
- return false;
- }
-
- /**
- * Get the X pixel position represented by a value
- *
- * @param double Value the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointX($value)
- {
- if ($this->_horizontal) {
- return $this->_axisPointY($value, $this->_plotLeft, $this->_plotRight);
- }
- else {
- return $this->_axisPointX($value, $this->_plotLeft, $this->_plotRight);
- }
- }
-
- /**
- * Get the Y pixel position represented by a value
- *
- * @param double Value the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointY($value)
- {
- if ($this->_horizontal) {
- return $this->_axisPointX($value, $this->_plotBottom, $this->_plotTop);
- }
- else {
- return $this->_axisPointY($value, $this->_plotBottom, $this->_plotTop);
- }
- }
-
- /**
- * Return the minimum value of the specified axis
- *
- * @param int $axis The axis to return the minimum value of (see {$link
- * Image_Graph_Plotarea::getAxis()})
- * @return double The minimum value of the axis
- * @access private
- */
- function _getMinimum($axis = IMAGE_GRAPH_AXIS_Y)
- {
- $axis =& $this->getAxis($axis);
- if ($axis !== null) {
- return $axis->_getMinimum();
- } else {
- return 0;
- }
- }
-
- /**
- * Return the maximum value of the specified axis
- *
- * @param int $axis The axis to return the maximum value of(see {$link
- * Image_Graph_Plotarea::getAxis()})
- * @return double The maximum value of the axis
- * @access private
- */
- function _getMaximum($axis = IMAGE_GRAPH_AXIS_Y)
- {
- $axis =& $this->getAxis($axis);
- if ($axis !== null) {
- return $axis->_getMaximum();
- } else {
- return 0;
- }
- }
-
- /**
- * Return the label distance for the specified axis.
- *
- * @param int $axis The axis to return the label distance for
- * @return int The distance between 2 adjacent labels
- * @access private
- */
- function _labelDistance($axis)
- {
- $axis =& $this->getAxis($axis);
- if ($axis !== null) {
- return $axis->_labelDistance();
- }
-
- return false;
- }
-
- /**
- * Hides the axis
- */
- function hideAxis($axis = false)
- {
- if (((!$axis) || ($axis === $this->_axisX) || ($axis === 'x')) && ($this->_axisX != null)) {
- $this->_axisX->hide();
- }
- if (((!$axis) || ($axis === $this->_axisY) || ($axis === 'y')) && ($this->_axisY != null)) {
- $this->_axisY->hide();
- }
- if (((!$axis) || ($axis === $this->_axisYSecondary) || ($axis === 'y_sec')) && ($this->_axisYSecondary != null)) {
- $this->_axisYSecondary->hide();
- }
- }
-
- /**
- * Clears/removes the axis
- */
- function clearAxis()
- {
- $this->_axisX = $this->_axisY = $this->_axisYSecondary = null;
- }
-
- /**
- * Get axis.
- *
- * Possible values are IMAGE_GRAPH_AXIS_X, IMAGE_GRAPH_AXIS_Y,
- * IMAGE_GRAPH_AXIS_Y_SECONDARY or a short hand notation using
- * string identifiers: 'x', 'y', 'ysec'
- *
- * @param int $axis The axis to return
- * @return Image_Graph_Axis The axis
- */
- function &getAxis($axis = IMAGE_GRAPH_AXIS_X)
- {
- switch ($axis) {
- case IMAGE_GRAPH_AXIS_X:
- case 'x':
- return $this->_axisX;
-
- case IMAGE_GRAPH_AXIS_Y:
- case 'y':
- return $this->_axisY;
-
- case IMAGE_GRAPH_AXIS_Y_SECONDARY:
- case 'ysec':
- return $this->_axisYSecondary;
-
- }
- return null;
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- if (is_array($this->_elements)) {
- $keys = array_keys($this->_elements);
- foreach ($keys as $key) {
- $element =& $this->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- if (((is_a($element, 'Image_Graph_Plot_Bar')) ||
- (is_a($element, 'Image_Graph_Plot_Step')) ||
- (is_a($element, 'Image_Graph_Plot_Dot')) ||
- (is_a($element, 'Image_Graph_Plot_CandleStick')) ||
- (is_a($element, 'Image_Graph_Plot_BoxWhisker')) ||
- (is_a($element, 'Image_Graph_Plot_Impulse'))) &&
- ($this->_axisX != null) &&
- (strtolower(get_class($this->_axisX)) != 'image_graph_axis') // do not push plot if x-axis is linear
- )
- {
- $this->_axisX->_pushValues();
- }
- $this->_setExtrema($element);
- }
- }
- unset($keys);
- }
-
- $this->_calcEdges();
-
- $pctWidth = (int) ($this->width() * 0.05);
- $pctHeight = (int) ($this->height() * 0.05);
-
- $left = $this->_left + $this->_padding['left'];
- $top = $this->_top + $this->_padding['top'];
- $right = $this->_right - $this->_padding['right'];
- $bottom = $this->_bottom - $this->_padding['bottom'];
-
- // temporary place holder for axis point calculations
- $axisPoints['x'] = array($left, $top, $right, $bottom);
- $axisPoints['y'] = $axisPoints['x'];
- $axisPoints['y2'] = $axisPoints['x'];
-
- if ($this->_axisX !== null) {
- $intersectX = $this->_axisX->_getAxisIntersection();
- $sizeX = $this->_axisX->_size();
- $this->_axisX->_setCoords($left, $top, $right, $bottom);
- $this->_axisX->_updateCoords();
- }
-
- if ($this->_axisY !== null) {
- $intersectY = $this->_axisY->_getAxisIntersection();
- $sizeY = $this->_axisY->_size();
- $this->_axisY->_setCoords($left, $top, $right, $bottom);
- $this->_axisY->_updateCoords();
- }
-
- if ($this->_axisYSecondary !== null) {
- $intersectYsec = $this->_axisYSecondary->_getAxisIntersection();
- $sizeYsec = $this->_axisYSecondary->_size();
- $this->_axisYSecondary->_setCoords($left, $top, $right, $bottom);
- $this->_axisYSecondary->_updateCoords();
- }
-
- $axisCoordAdd = array('left' => 0, 'right' => 0, 'top' => 0, 'bottom' => 0);
-
- if ($this->_axisY != null) {
- if ($this->_axisX != null) {
- $pos = $this->_axisX->_intersectPoint($intersectY['value']);
- } else {
- $pos = ($this->_horizontal ? $bottom : $left);
- }
-
- if ($this->_horizontal) {
- if (($pos + $sizeY) > $bottom) {
- $axisCoordAdd['bottom'] = ($pos + $sizeY) - $bottom;
- // the y-axis position needs to be recalculated!
- } else {
- // top & bottom may need to be adjusted when the x-axis has been
- // calculated!
- $this->_axisY->_setCoords(
- $left,
- $pos,
- $right,
- $pos + $sizeY
- );
- $this->_axisY->_updateCoords();
- }
- }
- else {
- if (($pos - $sizeY) < $left) {
- $axisCoordAdd['left'] = $left - ($pos - $sizeY);
- // the y-axis position needs to be recalculated!
- } else {
- // top & bottom may need to be adjusted when the x-axis has been
- // calculated!
- $this->_axisY->_setCoords(
- $pos - $sizeY,
- $top,
- $pos,
- $bottom
- );
- $this->_axisY->_updateCoords();
- }
- }
- }
-
- if ($this->_axisYSecondary != null) {
- if ($this->_axisX != null) {
- $pos = $this->_axisX->_intersectPoint($intersectYsec['value']);
- } else {
- $pos = ($this->_horizontal ? $top : $right);
- }
-
- if ($this->_horizontal) {
- if (($pos - $sizeYsec) < $top) {
- $axisCoordAdd['top'] = $top - ($pos - $sizeYsec);
- // the secondary y-axis position need to be recalculated
- } else {
- // top & bottom may need to be adjusted when the x-axis has been
- // calculated!
- $this->_axisYSecondary->_setCoords(
- $left,
- $pos - $sizeY,
- $right,
- $pos
- );
- $this->_axisYSecondary->_updateCoords();
- }
- }
- else {
- if (($pos + $sizeYsec) > $right) {
- $axisCoordAdd['right'] = ($pos + $sizeYsec) - $right;
- // the secondary y-axis position need to be recalculated
- } else {
- // top & bottom may need to be adjusted when the x-axis has been
- // calculated!
- $this->_axisYSecondary->_setCoords(
- $pos,
- $top,
- $pos + $sizeY,
- $bottom
- );
- $this->_axisYSecondary->_updateCoords();
- }
- }
- }
-
- if ($this->_axisX != null) {
- if (($intersectX['axis'] == IMAGE_GRAPH_AXIS_Y_SECONDARY) &&
- ($this->_axisYSecondary !== null)
- ) {
- $axis =& $this->_axisYSecondary;
- } elseif ($this->_axisY !== null) {
- $axis =& $this->_axisY;
- } else {
- $axis = false;
- }
-
- if ($axis !== false) {
- $pos = $axis->_intersectPoint($intersectX['value']);
- } else {
- $pos = ($this->_horizontal ? $left : $bottom);
- }
-
- if ($this->_horizontal) {
- if (($pos - $sizeX) < $left) {
- $axisCoordAdd['left'] = $left - ($pos - $sizeX);
- $pos = $left + $sizeX;
- }
-
- $this->_axisX->_setCoords(
- $pos - $sizeX,
- $top + $axisCoordAdd['top'],
- $pos,
- $bottom - $axisCoordAdd['bottom']
- );
- $this->_axisX->_updateCoords();
- }
- else {
- if (($pos + $sizeX) > $bottom) {
- $axisCoordAdd['bottom'] = ($pos + $sizeX) - $bottom;
- $pos = $bottom - $sizeX;
- }
-
- $this->_axisX->_setCoords(
- $left + $axisCoordAdd['left'],
- $pos,
- $right - $axisCoordAdd['right'],
- $pos + $sizeX
- );
- $this->_axisX->_updateCoords();
- }
- }
-
- if ($this->_horizontal) {
- if (($this->_axisX !== null) &&
- (($axisCoordAdd['top'] != 0) ||
- ($axisCoordAdd['bottom'] != 0))
- ) {
- // readjust y-axis for better estimate of position
- if ($this->_axisY !== null) {
- $pos = $this->_axisX->_intersectPoint($intersectY['value']);
- $this->_axisY->_setCoords(
- false,
- $pos,
- false,
- $pos + $sizeY
- );
- $this->_axisY->_updateCoords();
- }
-
- if ($this->_axisYSecondary !== null) {
- $pos = $this->_axisX->_intersectPoint($intersectYsec['value']);
- $this->_axisYSecondary->_setCoords(
- false,
- $pos - $sizeYsec,
- false,
- $pos
- );
- $this->_axisYSecondary->_updateCoords();
- }
- }
-
- // adjust top and bottom of y-axis
- if ($this->_axisY !== null) {
- $this->_axisY->_setCoords(
- $left + $axisCoordAdd['left'],
- false,
- $right - $axisCoordAdd['right'],
- false
- );
- $this->_axisY->_updateCoords();
- }
-
- // adjust top and bottom of y-axis
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setCoords(
- $left + $axisCoordAdd['left'],
- false,
- $right - $axisCoordAdd['right'],
- false
- );
- $this->_axisYSecondary->_updateCoords();
- }
-
- if ($this->_axisX !== null) {
- $this->_plotTop = $this->_axisX->_top;
- $this->_plotBottom = $this->_axisX->_bottom;
- } else {
- $this->_plotTop = $top;
- $this->_plotBottom = $bottom;
- }
-
- if ($this->_axisY !== null) {
- $this->_plotLeft = $this->_axisY->_left;
- $this->_plotRight = $this->_axisY->_right;
- } elseif ($this->_axisYSecondary !== null) {
- $this->_plotLeft = $this->_axisYSecondary->_left;
- $this->_plotRight = $this->_axisYSecondary->_right;
- } else {
- $this->_plotLeft = $this->_left;
- $this->_plotRight = $this->_right;
- }
- }
- else {
- if (($this->_axisX !== null) &&
- (($axisCoordAdd['left'] != 0) ||
- ($axisCoordAdd['right'] != 0))
- ) {
- // readjust y-axis for better estimate of position
- if ($this->_axisY !== null) {
- $pos = $this->_axisX->_intersectPoint($intersectY['value']);
- $this->_axisY->_setCoords(
- $pos - $sizeY,
- false,
- $pos,
- false
- );
- $this->_axisY->_updateCoords();
- }
-
- if ($this->_axisYSecondary !== null) {
- $pos = $this->_axisX->_intersectPoint($intersectYsec['value']);
- $this->_axisYSecondary->_setCoords(
- $pos,
- false,
- $pos + $sizeYsec,
- false
- );
- $this->_axisYSecondary->_updateCoords();
- }
- }
-
- // adjust top and bottom of y-axis
- if ($this->_axisY !== null) {
- $this->_axisY->_setCoords(
- false,
- $top + $axisCoordAdd['top'],
- false,
- $bottom - $axisCoordAdd['bottom']
- );
- $this->_axisY->_updateCoords();
- }
-
- // adjust top and bottom of y-axis
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setCoords(
- false,
- $top + $axisCoordAdd['top'],
- false,
- $bottom - $axisCoordAdd['bottom']
- );
- $this->_axisYSecondary->_updateCoords();
- }
-
- if ($this->_axisX !== null) {
- $this->_plotLeft = $this->_axisX->_left;
- $this->_plotRight = $this->_axisX->_right;
- } else {
- $this->_plotLeft = $left;
- $this->_plotRight = $right;
- }
-
- if ($this->_axisY !== null) {
- $this->_plotTop = $this->_axisY->_top;
- $this->_plotBottom = $this->_axisY->_bottom;
- } elseif ($this->_axisYSecondary !== null) {
- $this->_plotTop = $this->_axisYSecondary->_top;
- $this->_plotBottom = $this->_axisYSecondary->_bottom;
- } else {
- $this->_plotTop = $this->_top;
- $this->_plotBottom = $this->_bottom;
- }
- }
-
- Image_Graph_Element::_updateCoords();
-/*
- if ($this->_axisX != null) {
- $this->_axisX->_updateCoords();
- }
- if ($this->_axisY != null) {
- $this->_axisY->_updateCoords();
- }
- if ($this->_axisYSecondary != null) {
- $this->_axisYSecondary->_updateCoords();
- }*/
- }
-
- /**
- * Set the axis padding for a specified position.
- *
- * The axis padding is padding "inside" the plotarea (i.e. to put some space
- * between the axis line and the actual plot).
- *
- * This can be specified in a number of ways:
- *
- * 1) Specify an associated array with 'left', 'top', 'right' and 'bottom'
- * indices with values for the paddings. Leave out 2nd parameter.
- *
- * 2) Specify an overall padding as the first parameter
- *
- * 3) Specify the padding and position with position values as mentioned
- * above
- *
- * Normally you'd only consider applying axis padding to a category x-axis.
- *
- * @param mixed $value The value/padding
- * @param mixed $position The "position" of the padding
- */
- function setAxisPadding($value, $position = false)
- {
- if ($position === false) {
- if (is_array($value)) {
- if ($this->_horizontal) {
- if ((isset($value['top'])) && ($this->_axisX !== null)) {
- $this->_axisX->_setAxisPadding('low', $value['top']);
- }
- if ((isset($value['bottom'])) && ($this->_axisX !== null)) {
- $this->_axisX->_setAxisPadding('high', $value['bottom']);
- }
- if ((isset($value['left'])) && ($this->_axisY !== null)) {
- $this->_axisY->_setAxisPadding('low', $value['left']);
- }
- if ((isset($value['right'])) && ($this->_axisY !== null)) {
- $this->_axisY->_setAxisPadding('high', $value['right']);
- }
- if ((isset($value['left'])) && ($this->_axisYSecondary !== null)) {
- $this->_axisYSecondary->_setAxisPadding('low', $value['left']);
- }
- if ((isset($value['right'])) && ($this->_axisYSecondary !== null)) {
- $this->_axisYSecondary->_setAxisPadding('high', $value['right']);
- }
- }
- else {
- if ((isset($value['left'])) && ($this->_axisX !== null)) {
- $this->_axisX->_setAxisPadding('low', $value['left']);
- }
- if ((isset($value['right'])) && ($this->_axisX !== null)) {
- $this->_axisX->_setAxisPadding('high', $value['right']);
- }
- if ((isset($value['bottom'])) && ($this->_axisY !== null)) {
- $this->_axisY->_setAxisPadding('low', $value['bottom']);
- }
- if ((isset($value['top'])) && ($this->_axisY !== null)) {
- $this->_axisY->_setAxisPadding('high', $value['top']);
- }
- if ((isset($value['bottom'])) && ($this->_axisYSecondary !== null)) {
- $this->_axisYSecondary->_setAxisPadding('low', $value['bottom']);
- }
- if ((isset($value['top'])) && ($this->_axisYSecondary !== null)) {
- $this->_axisYSecondary->_setAxisPadding('high', $value['top']);
- }
- }
- } else {
- if ($this->_axisX !== null) {
- $this->_axisX->_setAxisPadding('low', $value);
- $this->_axisX->_setAxisPadding('high', $value);
- }
- if ($this->_axisY !== null) {
- $this->_axisY->_setAxisPadding('low', $value);
- $this->_axisY->_setAxisPadding('high', $value);
- }
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setAxisPadding('low', $value);
- $this->_axisYSecondary->_setAxisPadding('high', $value);
- }
- }
- } else {
- switch ($position) {
- case 'left':
- if ($this->_horizontal) {
- if ($this->_axisY !== null) {
- $this->_axisY->_setAxisPadding('low', $value);
- }
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setAxisPadding('low', $value);
- }
- }
- else if ($this->_axisX !== null) {
- $this->_axisX->_setAxisPadding('low', $value);
- }
- break;
-
- case 'right':
- if ($this->_horizontal) {
- if ($this->_axisY !== null) {
- $this->_axisY->_setAxisPadding('high', $value);
- }
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setAxisPadding('high', $value);
- }
- }
- else if ($this->_axisX !== null) {
- $this->_axisX->_setAxisPadding('high', $value);
- }
- break;
-
- case 'top':
- if (!$this->_horizontal) {
- if ($this->_axisY !== null) {
- $this->_axisY->_setAxisPadding('high', $value);
- }
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setAxisPadding('high', $value);
- }
- }
- else if ($this->_axisX !== null) {
- $this->_axisX->_setAxisPadding('high', $value);
- }
- break;
-
- case 'bottom':
- if (!$this->_horizontal) {
- if ($this->_axisY !== null) {
- $this->_axisY->_setAxisPadding('low', $value);
- }
- if ($this->_axisYSecondary !== null) {
- $this->_axisYSecondary->_setAxisPadding('low', $value);
- }
- }
- else if ($this->_axisX !== null) {
- $this->_axisX->_setAxisPadding('low', $value);
- }
- break;
- }
- }
- }
-
- /**
- * Output the plotarea to the canvas
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if ($this->_hasData) {
- $this->_canvas->startGroup(get_class($this));
-
- if ($this->_axisX != null) {
- $this->add($this->_axisX);
- }
- if ($this->_axisY != null) {
- $this->add($this->_axisY);
- }
- if ($this->_axisYSecondary != null) {
- $this->add($this->_axisYSecondary);
- }
-
- $this->_getFillStyle();
- $this->_canvas->rectangle(
- array(
- 'x0' => $this->_plotLeft,
- 'y0' => $this->_plotTop,
- 'x1' => $this->_plotRight,
- 'y1' => $this->_plotBottom
- )
- );
- $result = parent::_done();
- $this->_canvas->endGroup();
- return $result;
- } else {
- // no data -> do nothing at all!
- return true;
- }
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plotarea/Element.php b/config/dspam/pear/Image/Graph/Plotarea/Element.php
deleted file mode 100644
index a7d1b8d2..00000000
--- a/config/dspam/pear/Image/Graph/Plotarea/Element.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Element.php
- */
-require_once 'Image/Graph/Element.php';
-
-/**
- * Representation of a element on a plotarea.
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- * @abstract
- */
-class Image_Graph_Plotarea_Element extends Image_Graph_Element
-{
-
- /**
- * Get the X pixel position represented by a value
- *
- * @param double $point the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointX($point)
- {
- return $this->_parent->_pointX($point);
- }
-
- /**
- * Get the Y pixel position represented by a value
- *
- * @param double $point the value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointY($point)
- {
- return $this->_parent->_pointY($point);
- }
-
- /**
- * Get the X and Y pixel position represented by a value
- *
- * @param array $point the values to get the pixel-point for
- * @return array The (x, y) pixel position along the axis
- * @access private
- */
- function _pointXY($point)
- {
- return array ('X' => $this->_pointX($point), 'Y' => $this->_pointY($point));
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plotarea/Map.php b/config/dspam/pear/Image/Graph/Plotarea/Map.php
deleted file mode 100644
index 888d3384..00000000
--- a/config/dspam/pear/Image/Graph/Plotarea/Map.php
+++ /dev/null
@@ -1,304 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plotarea
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plotarea.php
- */
-require_once 'Image/Graph/Plotarea.php';
-
-/**
- * Plot area used for map plots.
- *
- * A map plot is a chart that displays a map (fx. a world map) in the form of .
- * png file. The maps must be located in the /Images/Maps folder and a
- * corresponding .txt files mush also exist in this location where named
- * locations are mapped to an (x, y) coordinate of the map picture (this text
- * file is tab separated with 'Name' 'X' 'Y' values, fx 'Denmark 378 223'). The
- * x-values in the dataset are then the named locations (fx 'Denmark') and the
- * y-values are then the data to plot. Currently the best (if not only) use is
- * to combine a map plot area with a {@link Image_Graph_Plot_Dot} using {@link
- * Image_Graph_Marker_PercentageCircle} as marker.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plotarea
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plotarea_Map extends Image_Graph_Plotarea
-{
-
- /**
- * The GD image for the map
- * @var string
- * @access private
- */
- var $_imageMap;
-
- /**
- * The value for scaling the width and height to fit into the layout boundaries
- * @var int
- * @access private
- */
- var $_scale;
-
- /**
- * The (x,y)-points for the named point
- * @var array
- * @access private
- */
- var $_mapPoints;
-
- /**
- * The original size of the image map
- * @var array
- * @access private
- */
- var $_mapSize;
-
- /**
- * PlotareaMap [Constructor]
- *
- * @param string $map The name of the map, i.e. the [name].png and [name].
- * txt files located in the Images/maps folder
- */
- function Image_Graph_Plotarea_Map($map)
- {
- parent::Image_Graph_Plotarea();
-
- $this->_imageMap = dirname(__FILE__)."/../Images/Maps/$map.png";
- $points = file(dirname(__FILE__)."/../Images/Maps/$map.txt");
- list($width, $height) = getimagesize($this->_imageMap);
- $this->_mapSize['X'] = $width;
- $this->_mapSize['Y'] = $height;
-
- if (is_array($points)) {
- unset($this->_mapPoints);
- foreach ($points as $line) {
- list($country, $x, $y) = explode("\t", $line);
- $this->_mapPoints[$country] = array('X' => $x, 'Y' => $y);
- }
- }
- }
-
- /**
- * Left boundary of the background fill area
- *
- * @return int Leftmost position on the canvas
- * @access private
- */
- function _fillLeft()
- {
- return $this->_left + $this->_padding['left'];
- }
-
- /**
- * Top boundary of the background fill area
- *
- * @return int Topmost position on the canvas
- * @access private
- */
- function _fillTop()
- {
- return $this->_top + $this->_padding['top'];
- }
-
- /**
- * Right boundary of the background fill area
- *
- * @return int Rightmost position on the canvas
- * @access private
- */
- function _fillRight()
- {
- return $this->_right - $this->_padding['right'];
- }
-
- /**
- * Bottom boundary of the background fill area
- *
- * @return int Bottommost position on the canvas
- * @access private
- */
- function _fillBottom()
- {
- return $this->_bottom - $this->_padding['bottom'];
- }
-
- /**
- * Set the extrema of the axis
- *
- * @param Image_Graph_Plot $plot The plot that 'hold' the values
- * @access private
- */
- function _setExtrema(& $plot)
- {
- }
-
- /**
- * Get the X pixel position represented by a value
- *
- * @param double $value The value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointX($value)
- {
- $country = $value['X'];
- return $this->_plotLeft+$this->_mapPoints[$country]['X']*$this->_scale;
- }
-
- /**
- * Get the Y pixel position represented by a value
- *
- * @param double $value The value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointY($value)
- {
- $country = $value['X'];
- return $this->_plotTop+$this->_mapPoints[$country]['Y']*$this->_scale;
- }
-
- /**
- * Hides the axis
- */
- function hideAxis()
- {
- }
-
- /**
- * Add a point to the maps
- *
- * @param int $latitude The latitude of the point
- * @param int $longiude The longitude of the point
- * @param string $name The name of the plot
- */
- function addMappoint($latitude, $longitude, $name)
- {
- $x = (($longitude + 180) * ($this->_mapSize['X'] / 360));
- $y = ((($latitude * -1) + 90) * ($this->_mapSize['Y'] / 180));
- $this->_mapPoints[$name] = array('X' => $x, 'Y' => $y);
- }
-
- /**
- * Add a point to the maps
- *
- * @param int $x The latitude of the point
- * @param int $y The longitude of the point
- * @param string $name The name of the plot
- */
- function addPoint($x, $y, $name)
- {
- $this->_mapPoints[$name] = array('X' => $x, 'Y' => $y);
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- parent::_updateCoords();
-
- $mapAspectRatio = $this->_mapSize['X']/$this->_mapSize['Y'];
- $plotAspectRatio = ($width = $this->_fillWidth())/($height = $this->_fillHeight());
-
- $scaleFactorX = ($mapAspectRatio > $plotAspectRatio);
-
- if ((($this->_mapSize['X'] <= $width) && ($this->_mapSize['Y'] <= $height)) ||
- (($this->_mapSize['X'] >= $width) && ($this->_mapSize['Y'] >= $height)))
- {
- if ($scaleFactorX) {
- $this->_scale = $width / $this->_mapSize['X'];
- } else {
- $this->_scale = $height / $this->_mapSize['Y'];
- }
- } elseif ($this->_mapSize['X'] < $width) {
- $this->_scale = $height / $this->_mapSize['Y'];
- } elseif ($this->_mapSize['Y'] < $height) {
- $this->_scale = $width / $this->_mapSize['X'];
- }
-
- $this->_plotLeft = ($this->_fillLeft() + $this->_fillRight() -
- $this->_mapSize['X']*$this->_scale)/2;
-
- $this->_plotTop = ($this->_fillTop() + $this->_fillBottom() -
- $this->_mapSize['Y']*$this->_scale)/2;
-
- $this->_plotRight = ($this->_fillLeft() + $this->_fillRight() +
- $this->_mapSize['X']*$this->_scale)/2;
-
- $this->_plotBottom = ($this->_fillTop() + $this->_fillBottom() +
- $this->_mapSize['Y']*$this->_scale)/2;
- }
-
- /**
- * Output the plotarea to the canvas
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- $this->_getFillStyle();
- $this->_canvas->rectangle(
- array(
- 'x0' => $this->_fillLeft(),
- 'y0' => $this->_fillTop(),
- 'x1' => $this->_fillRight(),
- 'y1' => $this->_fillBottom()
- )
- );
-
- $scaledWidth = $this->_mapSize['X']*$this->_scale;
- $scaledHeight = $this->_mapSize['Y']*$this->_scale;
-
- $this->_canvas->image(
- array(
- 'x' => $this->_plotLeft,
- 'y' => $this->_plotTop,
- 'filename' => $this->_imageMap,
- 'width' => $scaledWidth,
- 'height' => $scaledHeight
- )
- );
-
- return Image_Graph_Layout::_done();
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Plotarea/Radar.php b/config/dspam/pear/Image/Graph/Plotarea/Radar.php
deleted file mode 100644
index cfb200ea..00000000
--- a/config/dspam/pear/Image/Graph/Plotarea/Radar.php
+++ /dev/null
@@ -1,243 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - PEAR PHP OO Graph Rendering Utility.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plotarea
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Plotarea.php
- */
-require_once 'Image/Graph/Plotarea.php';
-
-/**
- * Plot area used for radar plots.
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Plotarea
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Plotarea_Radar extends Image_Graph_Plotarea
-{
-
- /**
- * Create the plotarea, implicitely creates 2 normal axis
- */
- function Image_Graph_Plotarea_Radar()
- {
- parent::Image_Graph_Element();
- $this->_padding = array('left' => 10, 'top' => 10, 'right' => 10, 'bottom' => 10);
- $this->_axisX =& Image_Graph::factory('Image_Graph_Axis_Radar');
- $this->_axisX->_setParent($this);
- $this->_axisY =& Image_Graph::factory('Image_Graph_Axis', IMAGE_GRAPH_AXIS_Y);
- $this->_axisY->_setParent($this);
- $this->_axisY->_setMinimum(0);
- }
-
- /**
- * Get the width of the 'real' plotarea
- *
- * @return int The width of the 'real' plotarea, ie not including space occupied by padding and axis
- * @access private
- */
- function _plotWidth()
- {
- return (min($this->height(), $this->width())) * 0.80;
- }
-
- /**
- * Get the height of the 'real' plotarea
- *
- * @return int The height of the 'real' plotarea, ie not including space occupied by padding and axis
- * @access private
- */
- function _plotHeight()
- {
- return (min($this->height(), $this->width())) * 0.80;
- }
-
- /**
- * Left boundary of the background fill area
- *
- * @return int Leftmost position on the canvas
- * @access private
- */
- function _fillLeft()
- {
- return (int) (($this->_left + $this->_right - $this->_plotWidth()) / 2);
- }
-
- /**
- * Top boundary of the background fill area
- *
- * @return int Topmost position on the canvas
- * @access private
- */
- function _fillTop()
- {
- return (int) (($this->_top + $this->_bottom - $this->_plotHeight()) / 2);
- }
-
- /**
- * Right boundary of the background fill area
- *
- * @return int Rightmost position on the canvas
- * @access private
- */
- function _fillRight()
- {
- return (int) (($this->_left + $this->_right + $this->_plotWidth()) / 2);
- }
-
- /**
- * Bottom boundary of the background fill area
- *
- * @return int Bottommost position on the canvas
- * @access private
- */
- function _fillBottom()
- {
- return (int) (($this->_top + $this->_bottom + $this->_plotHeight()) / 2);
- }
-
- /**
- * Get the X pixel position represented by a value
- *
- * @param double $value The value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointX($value)
- {
- if (is_array($value)) {
- if ($value['Y'] == '#min#') {
- $radius = 0;
- } elseif (($value['Y'] == '#max#') || ($value['Y'] === false)) {
- $radius = 1;
- } else {
- $radius = ($value['Y'] - $this->_axisY->_getMinimum()) /
- ($this->_axisY->_getMaximum() - $this->_axisY->_getMinimum());
- }
- $x = ($this->_left + $this->_right) / 2 -
- $radius * ($this->_plotWidth() / 2) *
- cos(deg2rad($this->_axisX->_point($value['X'])));
- }
- return max($this->_plotLeft, min($this->_plotRight, $x));
- }
-
- /**
- * Get the Y pixel position represented by a value
- *
- * @param double $value The value to get the pixel-point for
- * @return double The pixel position along the axis
- * @access private
- */
- function _pointY($value)
- {
- if (is_array($value)) {
- if ($value['Y'] == '#min#') {
- $radius = 0;
- } elseif (($value['Y'] == '#max#') || ($value['Y'] === false)) {
- $radius = 1;
- } else {
- $radius = ($value['Y'] - $this->_axisY->_getMinimum()) /
- ($this->_axisY->_getMaximum() - $this->_axisY->_getMinimum());
- }
-
- $y = ($this->_top + $this->_bottom) / 2 -
- $radius * ($this->_plotHeight() / 2) *
- sin(deg2rad($this->_axisX->_point($value['X'])));
- }
- return max($this->_plotTop, min($this->_plotBottom, $y));
- }
-
- /**
- * Update coordinates
- *
- * @access private
- */
- function _updateCoords()
- {
- if (is_array($this->_elements)) {
- $keys = array_keys($this->_elements);
- foreach ($keys as $key) {
- $element =& $this->_elements[$key];
- if (is_a($element, 'Image_Graph_Plot')) {
- $this->_setExtrema($element);
- }
- }
- unset($keys);
- }
-
- $this->_calcEdges();
-
- $centerX = (int) (($this->_left + $this->_right) / 2);
- $centerY = (int) (($this->_top + $this->_bottom) / 2);
- $radius = min($this->_plotHeight(), $this->_plotWidth()) / 2;
-
- if (is_object($this->_axisX)) {
- $this->_axisX->_setCoords(
- $centerX - $radius,
- $centerY - $radius,
- $centerX + $radius,
- $centerY + $radius
- );
- }
-
- if (is_object($this->_axisY)) {
- $this->_axisY->_setCoords(
- $centerX,
- $centerY,
- $centerX - $radius,
- $centerY - $radius
- );
- }
-
- $this->_plotLeft = $this->_fillLeft();
- $this->_plotTop = $this->_fillTop();
- $this->_plotRight = $this->_fillRight();
- $this->_plotBottom = $this->_fillBottom();
-
- Image_Graph_Element::_updateCoords();
-
- if (is_object($this->_axisX)) {
- $this->_axisX->_updateCoords();
- }
-
- if (is_object($this->_axisY)) {
- $this->_axisY->_updateCoords();
- }
-
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Simple.php b/config/dspam/pear/Image/Graph/Simple.php
deleted file mode 100644
index 9d14c4da..00000000
--- a/config/dspam/pear/Image/Graph/Simple.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph.php
- */
-require_once 'Image/Graph.php';
-
-/**
- * Class for simple creation of graphs
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Simple extends Image_Graph
-{
-
- /**
- * Image_Graph_Simple [Constructor]
- *
- * @param int $width The width of the graph in pixels
- * @param int $height The height of the graph in pixels
- */
- function Image_Graph_Simple($width, $height, $plotType, $data, $title, $lineColor = 'black', $fillColor = 'white', $font = false)
- {
- parent::Image_Graph($width, $height);
-
- $plotarea =& Image_Graph::factory('plotarea');
-
- $dataset =& Image_Graph::factory('dataset', array($data));
-
- if ($font === false) {
- $font =& Image_Graph::factory('Image_Graph_Font');
- } elseif (is_string($font)) {
- $font =& Image_Graph::factory('ttf_font', $font);
- $font->setSize(8);
- }
-
- $this->setFont($font);
-
- $this->add(
- Image_Graph::vertical(
- Image_Graph::factory('title',
- array(
- $title,
- array('size_rel' => 2)
- )
- ),
- $plotarea,
- 10
- )
- );
-
- $plotarea->addNew('line_grid', array(), IMAGE_GRAPH_AXIS_Y);
-
- $plot =& $plotarea->addNew($plotType, array(&$dataset));
- $plot->setLineColor($lineColor);
- $plot->setFillColor($fillColor);
-
- $axisX =& $plotarea->getAxis(IMAGE_GRAPH_AXIS_X);
- $axisX->showLabel(
- IMAGE_GRAPH_LABEL_MINIMUM +
- IMAGE_GRAPH_LABEL_ZERO +
- IMAGE_GRAPH_LABEL_MAXIMUM
- );
-
- }
-
- /**
- * Factory method to create the Image_Simple_Graph object.
- */
- function &factory($width, $height, $plotType, $data, $title, $lineColor = 'black', $fillColor = 'white', $font = false)
- {
- $obj =& Image_Graph::factory('Image_Graph_Simple',
- array(
- $width,
- $height,
- $plotType,
- $data,
- $title,
- $lineColor,
- $fillColor,
- $font
- )
- );
- return $obj;
- }
-
-}
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Title.php b/config/dspam/pear/Image/Graph/Title.php
deleted file mode 100644
index 2cffe5f3..00000000
--- a/config/dspam/pear/Image/Graph/Title.php
+++ /dev/null
@@ -1,194 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Text
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * Include file Image/Graph/Layout.php
- */
-require_once 'Image/Graph/Layout.php';
-
-/**
- * Title
- *
- * @category Images
- * @package Image_Graph
- * @subpackage Text
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Title extends Image_Graph_Layout
-{
-
- /**
- * The text to print
- * @var string
- * @access private
- */
- var $_text;
-
- /**
- * The font to use
- * @var Font
- * @access private
- */
- var $_font;
-
- /**
- * The alignment of the title
- * @var int
- * @access private
- */
- var $_alignment = IMAGE_GRAPH_ALIGN_CENTER_X;
-
- /**
- * Create the title.
- *
- * Pass a Image_Graph_Font object - preferably by-ref (&amp;) as second
- * parameter, the font size in pixels or an associated array with some or
- * all of the followin keys:
- *
- * 'size' The size of the title
- *
- * 'angle' The angle at which to write the title (in degrees or 'vertical')
- *
- * 'color' The font-face color
- *
- * @param sting $text The text to represent the title
- * @param mixed $fontOptions The font to use in the title
- */
- function Image_Graph_Title($text, $fontOptions = false)
- {
- parent::Image_Graph_Layout();
- if (is_object($fontOptions)) {
- $this->_font =& $fontOptions;
- } else {
- if (is_array($fontOptions)) {
- $this->_fontOptions = $fontOptions;
- } else {
- $this->_fontOptions['size'] = $fontOptions;
- }
- }
- $this->setText($text);
- }
-
- /**
- * Set the text
- *
- * @param string $text The text to display
- */
- function setText($text)
- {
- $this->_text = $text;
- }
-
- /**
- * Returns the calculated "auto" size
- *
- * @return int The calculated auto size
- * @access private
- */
- function _getAutoSize()
- {
- if ($this->_defaultFontOptions !== false) {
- $this->_canvas->setFont($this->_defaultFontOptions);
- } else {
- $this->_canvas->setFont($this->_getFont());
- }
-
- return $this->_canvas->textHeight($this->_text);
- }
-
- /**
- * Set the alignment of the legend
- *
- * @param int $alignment The alignment
- */
- function setAlignment($alignment)
- {
- $this->_alignment = $alignment & 0x7;
- }
-
- /**
- * Output the text
- *
- * @return bool Was the output 'good' (true) or 'bad' (false).
- * @access private
- */
- function _done()
- {
- if ($this->_defaultFontOptions !== false) {
- $this->_canvas->setFont($this->_defaultFontOptions);
- } else {
- $this->_canvas->setFont($this->_getFont());
- }
-
- if (is_a($this->_parent, 'Image_Graph_Plotarea')) {
- $this->_setCoords(
- $this->_parent->_left,
- $this->_parent->_top,
- $this->_parent->_right,
- $this->_parent->_top + $this->_canvas->textHeight($this->_text)
- );
- } elseif (!is_a($this->_parent, 'Image_Graph_Layout')) {
- $this->_setCoords(
- $this->_parent->_fillLeft(),
- $this->_parent->_fillTop(),
- $this->_parent->_fillRight(),
- $this->_parent->_fillTop() + $this->_canvas->textHeight($this->_text)
- );
- }
-
- if (parent::_done() === false) {
- return false;
- }
-
- if ($this->_alignment == IMAGE_GRAPH_ALIGN_CENTER_X) {
- $x = ($this->_left + $this->_right) / 2;
- } elseif ($this->_alignment == IMAGE_GRAPH_ALIGN_LEFT) {
- $x = $this->_left;
- } else {
- $x = $this->_right;
- }
- $y = ($this->_top + $this->_bottom) / 2;
-
- $this->write(
- $x,
- $y,
- $this->_text,
- $this->_alignment + IMAGE_GRAPH_ALIGN_CENTER_Y
- );
- return true;
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/config/dspam/pear/Image/Graph/Tool.php b/config/dspam/pear/Image/Graph/Tool.php
deleted file mode 100644
index cf245685..00000000
--- a/config/dspam/pear/Image/Graph/Tool.php
+++ /dev/null
@@ -1,291 +0,0 @@
-<?php
-
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Image_Graph - Main class for the graph creation.
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version. This library is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
- * General Public License for more details. You should have received a copy of
- * the GNU Lesser General Public License along with this library; if not, write
- * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version CVS: $Id$
- * @link http://pear.php.net/package/Image_Graph
- */
-
-/**
- * This class contains a set of tool-functions.
- *
- * These functions are all to be called statically
- *
- * @category Images
- * @package Image_Graph
- * @author Jesper Veggerby <pear.nosey@veggerby.dk>
- * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen
- * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
- * @version Release: @package_version@
- * @link http://pear.php.net/package/Image_Graph
- */
-class Image_Graph_Tool
-{
-
- /**
- * Return the average of 2 points
- *
- * @param double P1 1st point
- * @param double P2 2nd point
- * @return double The average of P1 and P2
- * @static
- */
- function mid($p1, $p2)
- {
- return ($p1 + $p2) / 2;
- }
-
- /**
- * Mirrors P1 in P2 by a amount of Factor
- *
- * @param double $p1 1st point, point to mirror
- * @param double $o2 2nd point, mirror point
- * @param double $factor Mirror factor, 0 returns $p2, 1 returns a pure
- * mirror, ie $p1 on the exact other side of $p2
- * @return double $p1 mirrored in $p2 by Factor
- * @static
- */
- function mirror($p1, $p2, $factor = 1)
- {
- return $p2 + $factor * ($p2 - $p1);
- }
-
- /**
- * Calculates a Bezier control point, this function must be called for BOTH
- * X and Y coordinates (will it work for 3D coordinates!?)
- *
- * @param double $p1 1st point
- * @param double $p2 Point to
- * @param double $factor Mirror factor, 0 returns P2, 1 returns a pure
- * mirror, i.e. P1 on the exact other side of P2
- * @return double P1 mirrored in P2 by Factor
- * @static
- */
- function controlPoint($p1, $p2, $factor, $smoothFactor = 0.75)
- {
- $sa = Image_Graph_Tool::mirror($p1, $p2, $smoothFactor);
- $sb = Image_Graph_Tool::mid($p2, $sa);
-
- $m = Image_Graph_Tool::mid($p2, $factor);
-
- $pC = Image_Graph_Tool::mid($sb, $m);
-
- return $pC;
- }
-
- /**
- * Calculates a Bezier point, this function must be called for BOTH X and Y
- * coordinates (will it work for 3D coordinates!?)
- *
- * @param double $t A position between $p2 and $p3, value between 0 and 1
- * @param double $p1 Point to use for calculating control points
- * @param double $p2 Point 1 to calculate bezier curve between
- * @param double $p3 Point 2 to calculate bezier curve between
- * @param double $p4 Point to use for calculating control points
- * @return double The bezier value of the point t between $p2 and $p3 using
- * $p1 and $p4 to calculate control points
- * @static
- */
- function bezier($t, $p1, $p2, $p3, $p4)
- {
- // (1-t)^3*p1 + 3*(1-t)^2*t*p2 + 3*(1-t)*t^2*p3 + t^3*p4
- return pow(1 - $t, 3) * $p1 +
- 3 * pow(1 - $t, 2) * $t * $p2 +
- 3 * (1 - $t) * pow($t, 2) * $p3 +
- pow($t, 3) * $p4;
- }
-
- /**
- * For a given point (x,y) return a point rotated by a given angle aroung the center (xy,yc)
- *
- * @param int $x x coordinate of the point to rotate
- * @param int $y y coordinate of the point to rotate
- * @param int $xc x coordinate of the center of the rotation
- * @param int $yc y coordinate of the center of the rotation
- * @param int $angle angle of the rotation
- * @return array the coordinate of the new point
- * @static
- */
- function rotate($x, $y, $xc, $yc, $angle)
- {
- $cos = cos(deg2rad($angle));
- $sin = sin(deg2rad($angle));
- $xr= $x - $xc;
- $yr= $y - $yc;
- $x1= $xc + $cos * $xr - $sin * $yr;
- $y1= $yc + $sin * $xr + $cos * $yr;
- return array((int) $x1,(int) $y1);
- }
-
- /**
- * If a number is close 0 zero (i.e. 0 within $decimal decimals) it is rounded down to zero
- *
- * @param double $value The value to round
- * @param int $decimal The number of decimals
- * @return double The value or zero if "close enough" to zero
- * @static
- */
- function close2zero($value, $decimal)
- {
- if (abs($value) < pow(10, -$decimal)) {
- return 0;
- }
- else {
- return $value;
- }
- }
-
- /**
- * Calculate the dimensions and center point (of gravity) for an arc
- *
- * @param int $v1 The angle at which the arc starts
- * @param int $v2 The angle at which the arc ends
- * @return array An array with the dimensions in a fraction of a circle width radius 1 'rx', 'ry' and the
- * center point of gravity ('cx', 'cy')
- * @static
- */
- function calculateArcDimensionAndCenter($v1, $v2)
- {
- // $v2 always larger than $v1
- $r1x = Image_Graph_Tool::close2zero(cos(deg2rad($v1)), 3);
- $r2x = Image_Graph_Tool::close2zero(cos(deg2rad($v2)), 3);
-
- $r1y = Image_Graph_Tool::close2zero(sin(deg2rad($v1)), 3);
- $r2y = Image_Graph_Tool::close2zero(sin(deg2rad($v2)), 3);
-
- // $rx = how many percent of the x-diameter of the entire ellipse does the arc x-diameter occupy: 1 entire width, 0 no width
- // $cx = at what percentage of the diameter does the center lie
-
- // if the arc passes through 0/360 degrees the "highest" of r1x and r2x is replaced by 1!
- if ((($v1 <= 0) && ($v2 >= 0)) || (($v1 <= 360) && ($v2 >= 360))) {
- $r1x = min($r1x, $r2x);
- $r2x = 1;
- }
-
- // if the arc passes through 180 degrees the "lowest" of r1x and r2x is replaced by -1!
- if ((($v1 <= 180) && ($v2 >= 180)) || (($v1 <= 540) && ($v2 >= 540))) {
- $r1x = max($r1x, $r2x);
- $r2x = -1;
- }
-
- if ($r1x >= 0) { // start between [270; 360] or [0; 90]
- if ($r2x >= 0) {
- $rx = max($r1x, $r2x) / 2;
- $cx = 0; // center lies 0 percent along this "vector"
- }
- else {
- $rx = abs($r1x - $r2x) / 2;
- $cx = abs($r2x / 2) / $rx;
- }
- }
- else { // start between ]90; 270[
- if ($r2x < 0) {
- $rx = max(abs($r1x), abs($r2x)) / 2;
- $cx = $rx;
- }
- else {
- $rx = abs($r1x - $r2x) / 2;
- $cx = abs($r1x / 2) / $rx;
- }
- }
-
- // $ry = how many percent of the y-diameter of the entire ellipse does the arc y-diameter occupy: 1 entire, 0 none
- // $cy = at what percentage of the y-diameter does the center lie
-
- // if the arc passes through 90 degrees the "lowest" of r1x and r2x is replaced by -1!
- if ((($v1 <= 90) && ($v2 >= 90)) || (($v1 <= 450) && ($v2 >= 450))) {
- $r1y = min($r1y, $r2y);
- $r2y = 1;
- }
-
- // if the arc passes through 270 degrees the "highest" of r1y and r2y is replaced by -1!
- if ((($v1 <= 270) && ($v2 >= 270)) || (($v1 <= 630) && ($v2 >= 630))) {
- $r1y = max($r1y, $r2y);
- $r2y = -1;
- }
-
- if ($r1y >= 0) { // start between [0; 180]
- if ($r2y >= 0) {
- $ry = max($r1y, $r2y) / 2;
- $cy = 0; // center lies 0 percent along this "vector"
- }
- else {
- $ry = abs($r1y - $r2y) / 2;
- $cy = abs($r2y / 2) / $ry;
- }
- }
- else { // start between ]180; 360[
- if ($r2y < 0) {
- $ry = max(abs($r1y), abs($r2y)) / 2;
- $cy = $ry;
- }
- else {
- $ry = abs($r1y - $r2y) / 2;
- $cy = abs($r1y / 2) / $ry;
- }
- }
-
- return array(
- 'rx' => $rx,
- 'cx' => $cx,
- 'ry' => $ry,
- 'cy' => $cy
- );
- }
-
- /**
- * Calculate linear regression on a dataset
- * @param array $data The data to calculate regression upon
- * @return array The slope and intersection of the "best-fit" line
- * @static
- */
- function calculateLinearRegression(&$data)
- {
- $sumX = 0;
- $sumY = 0;
- foreach ($data as $point) {
- $sumX += $point['X'];
- $sumY += $point['Y'];
- }
- $meanX = $sumX / count($data);
- $meanY = $sumY / count($data);
-
- $sumXX = 0;
- $sumYY = 0;
- $sumXY = 0;
- foreach ($data as $point) {
- $sumXX += ($point['X'] - $meanX) * ($point['X'] - $meanX);
- $sumYY += ($point['Y'] - $meanY) * ($point['Y'] - $meanY);
- $sumXY += ($point['X'] - $meanX) * ($point['Y'] - $meanY);
- }
-
- $result = array();
- $result['slope'] = ($sumXY / $sumXX);
- $result['intersection'] = $meanY - ($result['slope'] * $meanX);
- return $result;
- }
-
-}
-
-?> \ No newline at end of file