pandorafms/pandora_console/include/pandora_graph.php

84 lines
2.5 KiB
PHP
Raw Normal View History

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2009 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program 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 for version 2.
// This program 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 General Public License for more details.
abstract class PandoraGraphAbstract {
public $width = 300;
public $height = 200;
public $data;
public $legend = false;
public $fontpath;
public $three_dimensions = true;
public $graph_color = array ();
public $xaxis_interval = 1;
public $yaxis_interval = 5;
public $xaxis_format = 'numeric';
public $yaxis_format = 'numeric';
public $show_title = false;
public $show_legend = false;
public $background_gradient = false;
public $title = "";
public $subtitle = "";
public $stacked = false;
public $zoom = 85;
public $events = false;
public $alert_top = false;
public $alert_bottom = false;
public $date_format = "d/m";
public $max_value = 0;
public $min_value = 0;
public $background_color = '#FFFFFF';
public $border = true;
2009-03-31 Esteban Sanchez <estebans@artica.es> * godmode/agentes/module_manager_editor_plugin.php: Added plugin components select. Fixes #2707900. * godmode/alerts/alert_list.php: Fixed an error when showing agents list. * include/functions_events.php: Added get_similar_events_ids() to get events which are similars (same description and agent module). Renamed process_event_delete() and process_event_validate(). Added similars flag to both delete_event() an validate_event(). * include/functions_reporting.php: Added timestamp parameter to select statements to fix #2707841. * include/functions_ui.php: Added a class to pagination divs. * operation/agentes/estado_generalagente.php: Style correction. Removed period on agent access graph. * operation/agentes/exportdata.php: Fixed many notices by including config.php instead of using global. Style corrections. * operation/events/events.php: When the events were grouped and deleted or validated, only one was being updated. Added AJAX support to validate and delete single operations. Style corrections. Fixed #2707872 * reporting/fgraph.php: Many fixes on agent access graph. Fixes #2707856 * reporting/pandora_graph.php: Added a couple of properties to the class. * reporting/pchart_graph.php: Do not add the grid or axis labels on charts if asked. Show no progress bar if value is 0 and a title is shown. Style corrections. * include/styles/pandora_width.css: Renamed to panoramic theme. Added style for event_control element. * include/styles/pandora.css: Added style for event_control element. * godmode/modules/manage_network_components.php: Fixed table width for panoramic theme. * ajax.php: Added remote_addr to config array. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1582 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-04-01 10:04:49 +02:00
public $watermark = true;
public $show_axis = true;
public $show_grid = true;
abstract protected function pie_graph ();
abstract protected function horizontal_bar_graph ();
abstract protected function vertical_bar_graph ();
abstract protected function sparse_graph ($period, $avg_only, $min_value, $max_value, $unit_name);
abstract protected function single_graph ();
abstract protected function combined_graph ($values, $events, $alerts, $unit_name, $max_value, $stacked);
abstract protected function progress_bar ($value, $color);
}
function get_graph_engine ($period = 3600) {
global $config;
if (file_exists ('pchart_graph.php')) {
require_once ('pchart_graph.php');
$engine = new PchartGraph ();
if (isset ($config['graphics_palette']))
$engine->load_palette ($config['graphics_palette']);
} else {
exit;
}
$engine->graph_color[1] = $config['graph_color1'];
$engine->graph_color[2] = $config['graph_color2'];
$engine->graph_color[3] = $config['graph_color3'];
if ($period <= 86400)
$engine->date_format = 'g:iA';
elseif ($period <= 604800)
$engine->date_format = 'd/m';
else
$engine->date_format = 'd/m/y';
return $engine;
}
?>