2011-03-30 14:34:25 +02:00
|
|
|
<?php
|
2011-04-01 14:28:50 +02:00
|
|
|
// Copyright (c) 2011-2011 Ártica Soluciones Tecnológicas
|
2011-03-30 14:34:25 +02:00
|
|
|
// http://www.artica.es <info@artica.es>
|
|
|
|
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU General Public License
|
|
|
|
// as published by the Free Software Foundation; 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.
|
|
|
|
|
2011-05-12 13:38:14 +02:00
|
|
|
$ttl = 1;
|
|
|
|
$homeurl = '';
|
2011-04-18 16:05:54 +02:00
|
|
|
|
2011-05-17 17:59:40 +02:00
|
|
|
/*function include_graphs_dependencies($home_url = '', $serialize_ttl = 1) {
|
2011-05-12 13:38:14 +02:00
|
|
|
global $ttl;
|
|
|
|
global $homeurl;
|
|
|
|
|
|
|
|
$ttl = $serialize_ttl;
|
|
|
|
$homeurl = $home_url;
|
|
|
|
|
|
|
|
include_once($homeurl . 'include/functions.php');
|
|
|
|
include_once($homeurl . 'include/functions_html.php');
|
|
|
|
|
|
|
|
include_once($homeurl . 'include/graphs/functions_fsgraph.php');
|
|
|
|
include_once($homeurl . 'include/graphs/functions_gd.php');
|
|
|
|
include_once($homeurl . 'include/graphs/functions_utils.php');
|
2011-05-17 17:59:40 +02:00
|
|
|
}*/
|
2011-05-12 13:38:14 +02:00
|
|
|
/*
|
2011-04-12 12:04:41 +02:00
|
|
|
// If is called from index
|
|
|
|
if(file_exists('include/functions.php')) {
|
|
|
|
include_once('include/functions.php');
|
|
|
|
include_once('include/graphs/functions_fsgraph.php');
|
|
|
|
include_once('include/graphs/functions_utils.php');
|
|
|
|
} // If is called through url
|
|
|
|
else if(file_exists('../functions.php')) {
|
|
|
|
include_once('../functions.php');
|
|
|
|
include_once('../functions_html.php');
|
|
|
|
include_once('functions_fsgraph.php');
|
|
|
|
include_once('functions_gd.php');
|
|
|
|
include_once('functions_utils.php');
|
|
|
|
}
|
|
|
|
|
2011-05-12 13:38:14 +02:00
|
|
|
|
2011-04-13 17:11:51 +02:00
|
|
|
include_once('functions_fsgraph.php');
|
|
|
|
include_once('functions_utils.php');
|
2011-05-12 13:38:14 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
if (isset($_GET['homeurl'])) {
|
2012-06-11 12:24:02 +02:00
|
|
|
$homeurl = $_GET['homeurl'];
|
2011-05-12 13:38:14 +02:00
|
|
|
}
|
|
|
|
else $homeurl = '';
|
|
|
|
|
|
|
|
if (isset($_GET['ttl'])) {
|
2012-06-11 12:24:02 +02:00
|
|
|
$ttl = $_GET['ttl'];
|
2011-05-12 13:38:14 +02:00
|
|
|
}
|
|
|
|
else $ttl_param = 1;
|
|
|
|
|
|
|
|
if (isset($_GET['graph_type'])) {
|
2012-06-11 12:24:02 +02:00
|
|
|
$graph_type = $_GET['graph_type'];
|
2011-05-12 13:38:14 +02:00
|
|
|
}
|
|
|
|
else $graph_type = '';
|
2011-04-13 17:11:51 +02:00
|
|
|
|
2011-05-12 13:38:14 +02:00
|
|
|
//$graph_type = get_parameter('graph_type', '');
|
|
|
|
//$ttl_param = get_parameter('ttl', 1);
|
|
|
|
//$homeurl_param = get_parameter('homeurl', '');
|
|
|
|
|
2012-06-08 14:18:03 +02:00
|
|
|
// Turn on output buffering.
|
|
|
|
// The entire buffer will be discarded later so that any accidental output
|
|
|
|
// does not corrupt images generated by fgraph.
|
|
|
|
ob_start ();
|
|
|
|
|
2011-05-12 13:38:14 +02:00
|
|
|
if (!empty($graph_type)) {
|
|
|
|
include_once($homeurl . 'include/functions.php');
|
|
|
|
include_once($homeurl . 'include/functions_html.php');
|
|
|
|
|
|
|
|
include_once($homeurl . 'include/graphs/functions_gd.php');
|
|
|
|
include_once($homeurl . 'include/graphs/functions_utils.php');
|
|
|
|
}
|
2011-04-12 12:04:41 +02:00
|
|
|
|
2012-06-08 14:18:03 +02:00
|
|
|
// Clean the output buffer and turn off output buffering
|
|
|
|
ob_end_clean ();
|
|
|
|
|
2011-04-12 12:04:41 +02:00
|
|
|
switch($graph_type) {
|
|
|
|
case 'histogram':
|
2011-05-12 13:38:14 +02:00
|
|
|
$width = get_parameter('width');
|
|
|
|
$height = get_parameter('height');
|
|
|
|
$font = get_parameter('font');
|
|
|
|
$data = json_decode(io_safe_output(get_parameter('data')), true);
|
2012-03-05 Miguel de Dios <miguel.dedios@artica.es>
* extensions/update_manager/main.php, general/shortcut_bar.php,
godmode/reporting/reporting_builder.item_editor.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/reporting_builder.preview.php, include/functions_api.php,
include/functions_html.php, include/htmlawed.php, include/pchart_graph.php,
operation/events/events_list.php, operation/netflow/nf_live_view.php:
cleaned source code style.
* godmode/menu.php, godmode/agentes/manage_config_remote.php: removed the
enterprise feature that have been wrong for years.
* general/header.php: changed to load the jquery-ui and jquery javascript
library to last version.
* extensions/insert_data.php, extensions/snmp_explorer.php,
godmode/agentes/agent_manager.php, include/ajax/agent.php,
include/javascript/pandora.js, operation/agentes/exportdata.php,
operation/events/events.php: changed the unknow plugin autocomplete for
the autocomple from jquery-ui.
* include/functions_ui.php: cleaned source code style and into the function
"ui_process_page_head" added the blacklist hardwrote for to use old jquery.
* include/styles/jquery-ui-1.8.17.custom.css,
include/javascript/jquery-1.7.1.min.js,
include/javascript/jquery.jquery-ui-1.8.17.custom.min.js: added the last
version of Jquery and Jquery-ui.
Merge from the branch "pandora_4.0"
* godmode/reporting/visual_console_builder.constans.php,
godmode/reporting/visual_console_builder.editor.js,
godmode/reporting/visual_console_builder.editor.php,
include/functions_visual_map.php,
include/ajax/visual_console_builder.ajax.php,
include/javascript/pandora_visual_console.js: changed the unknow
plugin autocomplete for the autocomple from jquery-ui and added function to
paint a Bubble Chart (http://en.wikipedia.org/wiki/Bubble_chart) with the
name "progress_bubble".
* images/percentile_item.disabled.png, images/percentile_item.png: added
images for button of percentile item (new item in visual map).
* include/styles/pandora.css: added the style for the new button percentile
item.
* include/functions_graph.php, include/graphs/fgraph.php,
include/graphs/functions_gd.php: cleaned source code style, and added the
params to set text and color in the function "progress_bar" and added
function to paint a Bubble Chart (http://en.wikipedia.org/wiki/Bubble_chart)
with the name "progress_bubble".
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5693 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-03-05 18:56:56 +01:00
|
|
|
|
2011-05-12 13:38:14 +02:00
|
|
|
$max = get_parameter('max');
|
|
|
|
$title = get_parameter('title');
|
|
|
|
$mode = get_parameter ('mode', 1);
|
|
|
|
gd_histogram ($width, $height, $mode, $data, $max, $font, $title);
|
|
|
|
break;
|
2011-04-12 12:04:41 +02:00
|
|
|
case 'progressbar':
|
2011-05-12 13:38:14 +02:00
|
|
|
$width = get_parameter('width');
|
|
|
|
$height = get_parameter('height');
|
|
|
|
$progress = get_parameter('progress');
|
|
|
|
|
|
|
|
$out_of_lim_str = get_parameter('out_of_lim_str', false);
|
|
|
|
$out_of_lim_image = get_parameter('out_of_lim_image', false);
|
2012-03-05 Miguel de Dios <miguel.dedios@artica.es>
* extensions/update_manager/main.php, general/shortcut_bar.php,
godmode/reporting/reporting_builder.item_editor.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/reporting_builder.preview.php, include/functions_api.php,
include/functions_html.php, include/htmlawed.php, include/pchart_graph.php,
operation/events/events_list.php, operation/netflow/nf_live_view.php:
cleaned source code style.
* godmode/menu.php, godmode/agentes/manage_config_remote.php: removed the
enterprise feature that have been wrong for years.
* general/header.php: changed to load the jquery-ui and jquery javascript
library to last version.
* extensions/insert_data.php, extensions/snmp_explorer.php,
godmode/agentes/agent_manager.php, include/ajax/agent.php,
include/javascript/pandora.js, operation/agentes/exportdata.php,
operation/events/events.php: changed the unknow plugin autocomplete for
the autocomple from jquery-ui.
* include/functions_ui.php: cleaned source code style and into the function
"ui_process_page_head" added the blacklist hardwrote for to use old jquery.
* include/styles/jquery-ui-1.8.17.custom.css,
include/javascript/jquery-1.7.1.min.js,
include/javascript/jquery.jquery-ui-1.8.17.custom.min.js: added the last
version of Jquery and Jquery-ui.
Merge from the branch "pandora_4.0"
* godmode/reporting/visual_console_builder.constans.php,
godmode/reporting/visual_console_builder.editor.js,
godmode/reporting/visual_console_builder.editor.php,
include/functions_visual_map.php,
include/ajax/visual_console_builder.ajax.php,
include/javascript/pandora_visual_console.js: changed the unknow
plugin autocomplete for the autocomple from jquery-ui and added function to
paint a Bubble Chart (http://en.wikipedia.org/wiki/Bubble_chart) with the
name "progress_bubble".
* images/percentile_item.disabled.png, images/percentile_item.png: added
images for button of percentile item (new item in visual map).
* include/styles/pandora.css: added the style for the new button percentile
item.
* include/functions_graph.php, include/graphs/fgraph.php,
include/graphs/functions_gd.php: cleaned source code style, and added the
params to set text and color in the function "progress_bar" and added
function to paint a Bubble Chart (http://en.wikipedia.org/wiki/Bubble_chart)
with the name "progress_bubble".
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5693 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-03-05 18:56:56 +01:00
|
|
|
|
2011-05-12 13:38:14 +02:00
|
|
|
$font = get_parameter('font');
|
|
|
|
$title = get_parameter('title');
|
|
|
|
|
|
|
|
$mode = get_parameter('mode', 1);
|
|
|
|
|
2012-03-05 Miguel de Dios <miguel.dedios@artica.es>
* extensions/update_manager/main.php, general/shortcut_bar.php,
godmode/reporting/reporting_builder.item_editor.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/reporting_builder.preview.php, include/functions_api.php,
include/functions_html.php, include/htmlawed.php, include/pchart_graph.php,
operation/events/events_list.php, operation/netflow/nf_live_view.php:
cleaned source code style.
* godmode/menu.php, godmode/agentes/manage_config_remote.php: removed the
enterprise feature that have been wrong for years.
* general/header.php: changed to load the jquery-ui and jquery javascript
library to last version.
* extensions/insert_data.php, extensions/snmp_explorer.php,
godmode/agentes/agent_manager.php, include/ajax/agent.php,
include/javascript/pandora.js, operation/agentes/exportdata.php,
operation/events/events.php: changed the unknow plugin autocomplete for
the autocomple from jquery-ui.
* include/functions_ui.php: cleaned source code style and into the function
"ui_process_page_head" added the blacklist hardwrote for to use old jquery.
* include/styles/jquery-ui-1.8.17.custom.css,
include/javascript/jquery-1.7.1.min.js,
include/javascript/jquery.jquery-ui-1.8.17.custom.min.js: added the last
version of Jquery and Jquery-ui.
Merge from the branch "pandora_4.0"
* godmode/reporting/visual_console_builder.constans.php,
godmode/reporting/visual_console_builder.editor.js,
godmode/reporting/visual_console_builder.editor.php,
include/functions_visual_map.php,
include/ajax/visual_console_builder.ajax.php,
include/javascript/pandora_visual_console.js: changed the unknow
plugin autocomplete for the autocomple from jquery-ui and added function to
paint a Bubble Chart (http://en.wikipedia.org/wiki/Bubble_chart) with the
name "progress_bubble".
* images/percentile_item.disabled.png, images/percentile_item.png: added
images for button of percentile item (new item in visual map).
* include/styles/pandora.css: added the style for the new button percentile
item.
* include/functions_graph.php, include/graphs/fgraph.php,
include/graphs/functions_gd.php: cleaned source code style, and added the
params to set text and color in the function "progress_bar" and added
function to paint a Bubble Chart (http://en.wikipedia.org/wiki/Bubble_chart)
with the name "progress_bubble".
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5693 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-03-05 18:56:56 +01:00
|
|
|
$fontsize = get_parameter('fontsize', 10);
|
|
|
|
|
|
|
|
$value_text = get_parameter('value_text', '');
|
|
|
|
$colorRGB = get_parameter('colorRGB', '');
|
|
|
|
|
|
|
|
gd_progress_bar ($width, $height, $progress, $title, $font,
|
|
|
|
$out_of_lim_str, $out_of_lim_image, $mode, $fontsize, $value_text, $colorRGB);
|
|
|
|
break;
|
|
|
|
case 'progressbubble':
|
|
|
|
$width = get_parameter('width');
|
|
|
|
$height = get_parameter('height');
|
|
|
|
$progress = get_parameter('progress');
|
|
|
|
|
|
|
|
$out_of_lim_str = get_parameter('out_of_lim_str', false);
|
|
|
|
$out_of_lim_image = get_parameter('out_of_lim_image', false);
|
|
|
|
|
|
|
|
$font = get_parameter('font');
|
|
|
|
$title = get_parameter('title');
|
|
|
|
|
|
|
|
$mode = get_parameter('mode', 1);
|
|
|
|
|
|
|
|
$fontsize = get_parameter('fontsize', 7);
|
|
|
|
|
|
|
|
$value_text = get_parameter('value_text', '');
|
|
|
|
$colorRGB = get_parameter('colorRGB', '');
|
|
|
|
|
|
|
|
gd_progress_bubble ($width, $height, $progress, $title, $font,
|
|
|
|
$out_of_lim_str, $out_of_lim_image, $mode, $fontsize, $value_text, $colorRGB);
|
2011-05-12 13:38:14 +02:00
|
|
|
break;
|
2011-04-12 12:04:41 +02:00
|
|
|
}
|
2011-03-30 14:34:25 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
function histogram($chart_data, $width, $height, $font, $max, $title, $mode, $ttl = 1) {
|
2011-04-14 10:25:41 +02:00
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['max'] = $max;
|
|
|
|
$graph['title'] = $title;
|
|
|
|
$graph['mode'] = $mode;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='include/graphs/functions_gd.php?static_graph=1&graph_type=histogram&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-04-14 10:25:41 +02:00
|
|
|
}
|
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
function progressbar($progress, $width, $height, $title, $font, $mode = 1,
|
|
|
|
$out_of_lim_str = false, $out_of_lim_image = false, $ttl = 1) {
|
2011-04-14 10:25:41 +02:00
|
|
|
$graph = array();
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-04-14 10:25:41 +02:00
|
|
|
$graph['progress'] = $progress;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['out_of_lim_str'] = $out_of_lim_str;
|
|
|
|
$graph['out_of_lim_image'] = $out_of_lim_image;
|
|
|
|
$graph['title'] = $title;
|
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['mode'] = $mode;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='include/graphs/functions_gd.php?static_graph=1&graph_type=progressbar&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-04-14 10:25:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
function slicesbar_graph($chart_data, $period, $width, $height, $colors, $font,
|
|
|
|
$round_corner, $home_url = '', $ttl = 1) {
|
2011-04-13 15:01:37 +02:00
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
2011-05-09 17:20:58 +02:00
|
|
|
$graph['period'] = $period;
|
2011-04-13 15:01:37 +02:00
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['round_corner'] = $round_corner;
|
|
|
|
$graph['color'] = $colors;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='".$home_url."include/graphs/functions_pchart.php?static_graph=1&graph_type=slicebar&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-04-13 15:01:37 +02:00
|
|
|
}
|
|
|
|
|
2011-04-14 18:52:50 +02:00
|
|
|
function vbar_graph($flash_chart, $chart_data, $width, $height, $color = array(),
|
2011-04-20 17:54:31 +02:00
|
|
|
$legend = array(), $xaxisname = "", $yaxisname = "", $homedir="",
|
2012-03-08 13:32:59 +01:00
|
|
|
$water_mark = '', $font = '', $font_size = '', $force_steps = true, $ttl = 1, $reduce_data_columns = false,
|
|
|
|
$adapt_key) {
|
2012-03-01 17:41:02 +01:00
|
|
|
|
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
|
|
|
|
2011-03-30 14:34:25 +02:00
|
|
|
if($flash_chart) {
|
2012-03-08 13:32:59 +01:00
|
|
|
return flot_vcolumn_chart ($chart_data, $width, $height, $color, $legend, $long_index, $homeurl, $unit, $water_mark_url, $homedir, $reduce_data_columns, $adapt_key);
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
else {
|
2011-04-01 14:28:50 +02:00
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['color'] = $color;
|
|
|
|
$graph['legend'] = $legend;
|
2011-04-11 14:29:09 +02:00
|
|
|
$graph['xaxisname'] = $xaxisname;
|
|
|
|
$graph['yaxisname'] = $yaxisname;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2011-04-25 13:48:27 +02:00
|
|
|
$graph['force_steps'] = $force_steps;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='" . $homedir . "include/graphs/functions_pchart.php?static_graph=1&graph_type=vbar&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-03-08 13:32:59 +01:00
|
|
|
// NOT USED ACTUALLY
|
2011-06-14 10:46:57 +02:00
|
|
|
function threshold_graph($flash_chart, $chart_data, $width, $height, $ttl = 1) {
|
2011-03-30 14:34:25 +02:00
|
|
|
if($flash_chart) {
|
2012-03-05 11:26:34 +01:00
|
|
|
return flot_area_simple_graph($chart_data, $width, $height);
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
else {
|
2012-03-01 17:41:02 +01:00
|
|
|
echo "<img src='include/graphs/functions_pchart.php?static_graph=1&graph_type=threshold&ttl=".$ttl."&data=".json_encode($chart_data)."&width=".$width."&height=".$height."'>";
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-04-15 14:19:12 +02:00
|
|
|
function area_graph($flash_chart, $chart_data, $width, $height, $color, $legend,
|
2011-12-22 19:42:50 +01:00
|
|
|
$long_index, $no_data_image, $xaxisname = "", $yaxisname = "", $homeurl="",
|
2012-03-01 17:41:02 +01:00
|
|
|
$water_mark = "", $font = '', $font_size = '', $unit = '', $ttl = 1, $series_type = array(),
|
2012-03-08 17:32:11 +01:00
|
|
|
$chart_extra_data = array(), $yellow_threshold = 0, $red_threshold = 0, $adapt_key = '', $force_integer = false) {
|
2011-05-25 11:57:05 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
2012-03-07 16:39:50 +01:00
|
|
|
|
2012-04-16 17:34:54 +02:00
|
|
|
// ATTENTION: The min size is 130x150
|
|
|
|
// It's not the same minsize for all graphs, but we are choosed a prudent minsize for all
|
|
|
|
if($height <= 130) {
|
|
|
|
$height = 130;
|
|
|
|
}
|
|
|
|
if($width < 150) {
|
|
|
|
$width = 150;
|
2012-02-13 14:25:29 +01:00
|
|
|
}
|
|
|
|
|
2011-04-11 18:45:03 +02:00
|
|
|
if (empty($chart_data)) {
|
|
|
|
return '<img src="' . $no_data_image . '" />';
|
|
|
|
}
|
|
|
|
|
2011-03-30 14:34:25 +02:00
|
|
|
if($flash_chart) {
|
2012-03-08 17:32:11 +01:00
|
|
|
return flot_area_simple_graph($chart_data, $width, $height, $color, $legend, $long_index, $homeurl, $unit, $water_mark_url, $series_type, $chart_extra_data, $yellow_threshold, $red_threshold, $adapt_key, $force_integer);
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['color'] = $color;
|
2011-03-31 19:07:00 +02:00
|
|
|
$graph['legend'] = $legend;
|
2011-04-12 12:04:41 +02:00
|
|
|
$graph['xaxisname'] = $xaxisname;
|
|
|
|
$graph['yaxisname'] = $yaxisname;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-13 18:55:19 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='".$homeurl."include/graphs/functions_pchart.php?static_graph=1&graph_type=area&ttl=".$ttl."&id_graph=" . $id_graph . "'>";
|
2012-06-11 12:24:02 +02:00
|
|
|
}
|
2011-04-07 19:36:08 +02:00
|
|
|
}
|
|
|
|
|
2011-04-20 11:23:54 +02:00
|
|
|
function stacked_area_graph($flash_chart, $chart_data, $width, $height, $color,
|
2011-04-20 17:54:31 +02:00
|
|
|
$legend, $long_index, $no_data_image, $xaxisname = "", $yaxisname = "",
|
2011-11-29 17:07:44 +01:00
|
|
|
$water_mark = "", $font = '', $font_size = '', $unit = '', $ttl = 1, $homeurl = '') {
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
|
|
|
|
2011-04-11 18:45:03 +02:00
|
|
|
if (empty($chart_data)) {
|
|
|
|
return '<img src="' . $no_data_image . '" />';
|
|
|
|
}
|
2011-04-07 19:36:08 +02:00
|
|
|
|
|
|
|
if($flash_chart) {
|
2012-03-01 17:41:02 +01:00
|
|
|
return flot_area_stacked_graph($chart_data, $width, $height, $color, $legend, $long_index, $homeurl, $unit, $water_mark_url);
|
2011-04-07 19:36:08 +02:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
//Stack the data
|
2011-04-11 18:45:03 +02:00
|
|
|
stack_data($chart_data, $legend, $color);
|
2011-04-07 19:36:08 +02:00
|
|
|
|
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['color'] = $color;
|
|
|
|
$graph['legend'] = $legend;
|
2011-04-14 10:25:41 +02:00
|
|
|
$graph['xaxisname'] = $xaxisname;
|
|
|
|
$graph['yaxisname'] = $yaxisname;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2011-04-07 19:36:08 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2011-04-07 19:36:08 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='" . $homeurl . "include/graphs/functions_pchart.php?static_graph=1&graph_type=stacked_area&ttl=".$ttl."&id_graph=" . $id_graph . "' />";
|
2012-06-11 12:24:02 +02:00
|
|
|
}
|
2011-04-07 19:36:08 +02:00
|
|
|
}
|
|
|
|
|
2011-04-20 11:23:54 +02:00
|
|
|
function stacked_line_graph($flash_chart, $chart_data, $width, $height, $color,
|
2011-04-20 17:54:31 +02:00
|
|
|
$legend, $long_index, $no_data_image, $xaxisname = "", $yaxisname = "",
|
2011-11-29 17:07:44 +01:00
|
|
|
$water_mark = "", $font = '', $font_size = '', $unit = '', $ttl = 1, $homeurl = '') {
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
|
|
|
|
2011-04-11 18:45:03 +02:00
|
|
|
if (empty($chart_data)) {
|
|
|
|
return '<img src="' . $no_data_image . '" />';
|
|
|
|
}
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-04-11 18:45:03 +02:00
|
|
|
if($flash_chart) {
|
2012-03-01 17:41:02 +01:00
|
|
|
return flot_line_stacked_graph($chart_data, $width, $height, $color, $legend, $long_index, $homeurl, $unit, $water_mark_url);
|
2011-04-11 18:45:03 +02:00
|
|
|
}
|
2012-06-11 12:24:02 +02:00
|
|
|
else {
|
2012-03-01 17:41:02 +01:00
|
|
|
//Stack the data
|
|
|
|
stack_data($chart_data, $legend, $color);
|
|
|
|
|
2011-04-11 18:45:03 +02:00
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['color'] = $color;
|
|
|
|
$graph['legend'] = $legend;
|
2011-04-14 10:25:41 +02:00
|
|
|
$graph['xaxisname'] = $xaxisname;
|
|
|
|
$graph['yaxisname'] = $yaxisname;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2011-04-11 18:45:03 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2011-04-11 18:45:03 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='" . $homeurl . "include/graphs/functions_pchart.php?static_graph=1&graph_type=line&ttl=".$ttl."&id_graph=" . $id_graph . "' />";
|
2011-04-11 18:45:03 +02:00
|
|
|
}
|
|
|
|
}
|
2011-04-07 19:36:08 +02:00
|
|
|
|
2011-04-20 11:23:54 +02:00
|
|
|
function line_graph($flash_chart, $chart_data, $width, $height, $color, $legend,
|
2011-04-20 17:54:31 +02:00
|
|
|
$long_index, $no_data_image, $xaxisname = "", $yaxisname = "",
|
2011-11-29 17:07:44 +01:00
|
|
|
$water_mark = "", $font = '', $font_size = '', $unit = '', $ttl = 1, $homeurl = '') {
|
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
|
|
|
|
2011-04-11 18:45:03 +02:00
|
|
|
if (empty($chart_data)) {
|
|
|
|
return '<img src="' . $no_data_image . '" />';
|
|
|
|
}
|
2011-04-07 19:36:08 +02:00
|
|
|
|
|
|
|
if($flash_chart) {
|
2012-03-01 17:41:02 +01:00
|
|
|
return flot_line_simple_graph($chart_data, $width, $height, $color, $legend, $long_index, $homeurl, $unit, $water_mark_url);
|
2011-04-07 19:36:08 +02:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['color'] = $color;
|
|
|
|
$graph['legend'] = $legend;
|
2011-04-14 10:25:41 +02:00
|
|
|
$graph['xaxisname'] = $xaxisname;
|
|
|
|
$graph['yaxisname'] = $yaxisname;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2011-04-07 19:36:08 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2011-04-07 19:36:08 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='" . $homeurl . "include/graphs/functions_pchart.php?static_graph=1&graph_type=line&ttl=".$ttl."&id_graph=" . $id_graph . "' />";
|
2012-06-11 12:24:02 +02:00
|
|
|
}
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
|
2011-06-15 16:39:30 +02:00
|
|
|
function kiviat_graph($graph_type, $flash_chart, $chart_data, $width, $height, $no_data_image, $ttl = 1, $homedir="") {
|
2011-04-13 10:49:18 +02:00
|
|
|
if (empty($chart_data)) {
|
|
|
|
return '<img src="' . $no_data_image . '" />';
|
|
|
|
}
|
|
|
|
|
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='".$homedir."include/graphs/functions_pchart.php?static_graph=1&graph_type=".$graph_type."&ttl=".$ttl."&id_graph=" . $id_graph . "' />";
|
2011-04-13 10:49:18 +02:00
|
|
|
}
|
|
|
|
|
2011-06-15 16:39:30 +02:00
|
|
|
function radar_graph($flash_chart, $chart_data, $width, $height, $no_data_image, $ttl = 1, $homedir="") {
|
|
|
|
return kiviat_graph('radar', $flash_chart, $chart_data, $width, $height, $no_data_image, $ttl, $homedir);
|
2011-04-13 10:49:18 +02:00
|
|
|
}
|
|
|
|
|
2011-06-15 16:39:30 +02:00
|
|
|
function polar_graph($flash_chart, $chart_data, $width, $height, $no_data_image, $ttl = 1, $homedir="") {
|
|
|
|
return kiviat_graph('polar', $flash_chart, $chart_data, $width, $height, $no_data_image, $ttl, $homedir="");
|
2011-04-13 10:49:18 +02:00
|
|
|
}
|
|
|
|
|
2011-04-14 18:52:50 +02:00
|
|
|
function hbar_graph($flash_chart, $chart_data, $width, $height, $color = array(),
|
2011-04-20 11:23:54 +02:00
|
|
|
$legend = array(), $xaxisname = "", $yaxisname = "", $force_height = true,
|
2011-11-04 13:03:13 +01:00
|
|
|
$homedir="", $water_mark = '', $font = '', $font_size = '', $force_steps = true, $ttl = 1, $return = false) {
|
2012-03-01 17:41:02 +01:00
|
|
|
|
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
|
|
|
|
2011-03-30 14:34:25 +02:00
|
|
|
if($flash_chart) {
|
2011-11-04 13:03:13 +01:00
|
|
|
if ($return){
|
2012-03-01 17:41:02 +01:00
|
|
|
return flot_hcolumn_chart ($chart_data, $width, $height, $water_mark_url);
|
2011-11-04 13:03:13 +01:00
|
|
|
}
|
|
|
|
else{
|
2012-03-01 17:41:02 +01:00
|
|
|
echo flot_hcolumn_chart ($chart_data, $width, $height, $water_mark_url);
|
2011-11-04 13:03:13 +01:00
|
|
|
}
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
else {
|
2011-04-11 14:29:09 +02:00
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
|
|
|
$graph['color'] = $color;
|
|
|
|
$graph['legend'] = $legend;
|
|
|
|
$graph['xaxisname'] = $xaxisname;
|
|
|
|
$graph['yaxisname'] = $yaxisname;
|
2011-04-14 15:53:46 +02:00
|
|
|
$graph['force_height'] = $force_height;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2011-04-25 13:48:27 +02:00
|
|
|
$graph['force_steps'] = $force_steps;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='".$homedir."include/graphs/functions_pchart.php?static_graph=1&graph_type=hbar&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-04-20 17:54:31 +02:00
|
|
|
function pie3d_graph($flash_chart, $chart_data, $width, $height,
|
2011-06-14 10:46:57 +02:00
|
|
|
$others_str = "other", $homedir="", $water_mark = "", $font = '', $font_size = '', $ttl = 1) {
|
2011-04-20 17:54:31 +02:00
|
|
|
return pie_graph('3d', $flash_chart, $chart_data, $width, $height,
|
2011-06-14 10:46:57 +02:00
|
|
|
$others_str, $homedir, $water_mark, $font, $font_size, $ttl);
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
|
2011-04-20 17:54:31 +02:00
|
|
|
function pie2d_graph($flash_chart, $chart_data, $width, $height,
|
2011-06-14 10:46:57 +02:00
|
|
|
$others_str = "other", $homedir="", $water_mark = "", $font = '', $font_size = '', $ttl = 1) {
|
2011-04-20 17:54:31 +02:00
|
|
|
return pie_graph('2d', $flash_chart, $chart_data, $width, $height,
|
2011-06-14 10:46:57 +02:00
|
|
|
$others_str, $homedir, $water_mark, $font, $font_size, $ttl);
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
|
2011-04-20 17:54:31 +02:00
|
|
|
function pie_graph($graph_type, $flash_chart, $chart_data, $width, $height,
|
2011-06-14 10:46:57 +02:00
|
|
|
$others_str = "other", $homedir="", $water_mark = "", $font = '', $font_size = '', $ttl = 1) {
|
2012-03-01 17:41:02 +01:00
|
|
|
|
|
|
|
setup_watermark($water_mark, $water_mark_file, $water_mark_url);
|
|
|
|
|
2011-04-14 14:02:45 +02:00
|
|
|
// This library allows only 8 colors
|
|
|
|
$max_values = 8;
|
2012-06-11 12:24:02 +02:00
|
|
|
|
2011-03-30 14:34:25 +02:00
|
|
|
if(count($chart_data) > $max_values) {
|
|
|
|
$chart_data_trunc = array();
|
|
|
|
$n = 1;
|
|
|
|
foreach($chart_data as $key => $value) {
|
|
|
|
if($n < $max_values) {
|
|
|
|
$chart_data_trunc[$key] = $value;
|
|
|
|
}
|
|
|
|
else {
|
2011-04-14 14:02:45 +02:00
|
|
|
if (!isset($chart_data_trunc[$others_str])) {
|
|
|
|
$chart_data_trunc[$others_str] = 0;
|
|
|
|
}
|
2011-03-30 14:34:25 +02:00
|
|
|
$chart_data_trunc[$others_str] += $value;
|
|
|
|
}
|
|
|
|
$n++;
|
|
|
|
}
|
|
|
|
$chart_data = $chart_data_trunc;
|
|
|
|
}
|
|
|
|
|
2011-04-11 14:29:09 +02:00
|
|
|
if($flash_chart) {
|
2012-03-05 11:26:34 +01:00
|
|
|
return flot_pie_chart(array_values($chart_data), array_keys($chart_data), $width, $height, $water_mark_url, $font, $font_size);
|
2011-04-11 14:29:09 +02:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
$graph = array();
|
|
|
|
$graph['data'] = $chart_data;
|
|
|
|
$graph['width'] = $width;
|
|
|
|
$graph['height'] = $height;
|
2012-03-01 17:41:02 +01:00
|
|
|
$graph['water_mark'] = $water_mark_file;
|
2011-04-20 17:54:31 +02:00
|
|
|
$graph['font'] = $font;
|
|
|
|
$graph['font_size'] = $font_size;
|
2011-04-11 14:29:09 +02:00
|
|
|
|
2011-06-14 10:46:57 +02:00
|
|
|
$id_graph = serialize_in_temp($graph, null, $ttl);
|
2011-04-14 14:02:45 +02:00
|
|
|
|
2011-04-11 14:29:09 +02:00
|
|
|
switch($graph_type) {
|
|
|
|
case "2d":
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='" . $homedir . "include/graphs/functions_pchart.php?static_graph=1&graph_type=pie2d&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-04-11 14:29:09 +02:00
|
|
|
break;
|
|
|
|
case "3d":
|
2012-03-01 17:41:02 +01:00
|
|
|
return "<img src='" . $homedir . "include/graphs/functions_pchart.php?static_graph=1&graph_type=pie3d&ttl=".$ttl."&id_graph=".$id_graph."'>";
|
2011-04-11 14:29:09 +02:00
|
|
|
break;
|
|
|
|
}
|
2011-03-30 14:34:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|