mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-29 08:45:12 +02:00
2011-04-12 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_graph.php: added constants for some graphs. Added function "graphic_agentaccess2" and function "graph_event_module2". * include/graphs/functions_pchart.php: added checked previous $color and $legend to avoid PHP warnings, added some code to calculate the bottom margin. * include/graphs/fgraph.php: at the moment in this file call "fs_3d_pie_chart2" instead "fs_3d_pie_chart". Erased the color and legend in the piegraph. * operation/agentes/estado_generalagente.php: use new graphics functions. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4193 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
f31e80b50d
commit
c2e5e148be
@ -1,3 +1,18 @@
|
|||||||
|
2011-04-12 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
|
||||||
|
* include/functions_graph.php: added constants for some graphs. Added
|
||||||
|
function "graphic_agentaccess2" and function "graph_event_module2".
|
||||||
|
|
||||||
|
* include/graphs/functions_pchart.php: added checked previous $color and
|
||||||
|
$legend to avoid PHP warnings, added some code to calculate the bottom
|
||||||
|
margin.
|
||||||
|
|
||||||
|
* include/graphs/fgraph.php: at the moment in this file call
|
||||||
|
"fs_3d_pie_chart2" instead "fs_3d_pie_chart". Erased the color and legend in
|
||||||
|
the piegraph.
|
||||||
|
|
||||||
|
* operation/agentes/estado_generalagente.php: use new graphics functions.
|
||||||
|
|
||||||
2011-04-12 Sergio Martin <sergio.martin@artica.es>
|
2011-04-12 Sergio Martin <sergio.martin@artica.es>
|
||||||
|
|
||||||
* include/graphs/functions_fsgraph.php
|
* include/graphs/functions_fsgraph.php
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
include_once($config["homedir"] . "/include/graphs/fgraph.php");
|
include_once($config["homedir"] . "/include/graphs/fgraph.php");
|
||||||
include_once($config["homedir"] . "/include/functions_reporting.php");
|
include_once($config["homedir"] . "/include/functions_reporting.php");
|
||||||
|
|
||||||
|
define("GRAPH_AREA", 0);
|
||||||
|
define("GRAPH_STACKED_AREA", 1);
|
||||||
|
define("GRAPH_LINE", 2);
|
||||||
|
define("GRAPH_STACKED_LINE", 3);
|
||||||
|
|
||||||
function grafico_modulo_sparse2 ($agent_module_id, $period, $show_events,
|
function grafico_modulo_sparse2 ($agent_module_id, $period, $show_events,
|
||||||
$width, $height , $title, $unit_name,
|
$width, $height , $title, $unit_name,
|
||||||
$show_alerts, $avg_only = 0, $pure = false,
|
$show_alerts, $avg_only = 0, $pure = false,
|
||||||
@ -600,56 +605,115 @@ function graphic_combined_module2 ($module_list, $weight_list, $period, $width,
|
|||||||
$title_period = __('Last %s days', format_numeric (($period / (3600 * 24)), 2));
|
$title_period = __('Last %s days', format_numeric (($period / (3600 * 24)), 2));
|
||||||
$time_format = 'M j';
|
$time_format = 'M j';
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
switch ($stacked) {
|
switch ($stacked) {
|
||||||
case 0:
|
case GRAPH_AREA:
|
||||||
$color = null;
|
$color = null;
|
||||||
return area_graph($config['flash_charts'], $graph_values, $width, $height,
|
return area_graph($config['flash_charts'], $graph_values, $width, $height,
|
||||||
$color, $module_name_list, $long_index);
|
$color, $module_name_list, $long_index, "images/image_problem.opaque.png");
|
||||||
return;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case 1:
|
case GRAPH_STACKED_AREA:
|
||||||
$color = null;
|
$color = null;
|
||||||
return stacked_area_graph($config['flash_charts'], $graph_values, $width, $height,
|
return stacked_area_graph($config['flash_charts'], $graph_values, $width, $height,
|
||||||
$color, $module_name_list, $long_index);
|
$color, $module_name_list, $long_index, "images/image_problem.opaque.png");
|
||||||
break;
|
break;
|
||||||
case 2:
|
case GRAPH_LINE:
|
||||||
$color = null;
|
$color = null;
|
||||||
return line_graph($config['flash_charts'], $graph_values, $width, $height,
|
return line_graph($config['flash_charts'], $graph_values, $width, $height,
|
||||||
$color, $module_name_list, $long_index);
|
$color, $module_name_list, $long_index, "images/image_problem.opaque.png");
|
||||||
break;
|
break;
|
||||||
case 3:
|
case GRAPH_STACKED_LINE:
|
||||||
$color = null;
|
$color = null;
|
||||||
return line_graph($config['flash_charts'], $graph_values, $width, $height,
|
return stacked_line_graph($config['flash_charts'], $graph_values, $width, $height,
|
||||||
$color, $module_name_list, $long_index);
|
$color, $module_name_list, $long_index, "images/image_problem.opaque.png");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print a graph with access data of agents
|
||||||
|
*
|
||||||
|
* @param integer id_agent Agent ID
|
||||||
|
* @param integer width pie graph width
|
||||||
|
* @param integer height pie graph height
|
||||||
|
* @param integer period time period
|
||||||
|
*/
|
||||||
|
function graphic_agentaccess2 ($id_agent, $width, $height, $period = 0) {
|
||||||
|
global $config;
|
||||||
|
global $graphic_type;
|
||||||
|
|
||||||
|
$data = array ();
|
||||||
|
|
||||||
|
$resolution = $config["graph_res"] * ($period * 2 / $width); // Number of "slices" we want in graph
|
||||||
|
|
||||||
|
$interval = (int) ($period / $resolution);
|
||||||
|
$date = get_system_time ();
|
||||||
|
$datelimit = $date - $period;
|
||||||
|
$periodtime = floor ($period / $interval);
|
||||||
|
$time = array ();
|
||||||
|
$data = array ();
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
for ($i = 0; $i < $interval; $i++) {
|
||||||
if (! $graphic_type) {
|
$bottom = $datelimit + ($periodtime * $i);
|
||||||
return fs_combined_chart ($graph_values, $graph, $module_name_list, $width, $height, $stacked, $resolution / 10, $time_format);
|
if (! $graphic_type) {
|
||||||
|
$name = date('G:i', $bottom);
|
||||||
|
} else {
|
||||||
|
$name = $bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
$top = $datelimit + ($periodtime * ($i + 1));
|
||||||
|
$data[$name]['data'] = (int) get_db_value_filter ('COUNT(*)',
|
||||||
|
'tagent_access',
|
||||||
|
array ('id_agent' => $id_agent,
|
||||||
|
'utimestamp > '.$bottom,
|
||||||
|
'utimestamp < '.$top));
|
||||||
|
}
|
||||||
|
|
||||||
|
echo area_graph($config['flash_charts'], $data, $width, $height,
|
||||||
|
null, null, null, "images/image_problem.opaque.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print a pie graph with events data of agent
|
||||||
|
*
|
||||||
|
* @param integer width pie graph width
|
||||||
|
* @param integer height pie graph height
|
||||||
|
* @param integer id_agent Agent ID
|
||||||
|
*/
|
||||||
|
function graph_event_module2 ($width = 300, $height = 200, $id_agent) {
|
||||||
|
global $config;
|
||||||
|
global $graphic_type;
|
||||||
|
|
||||||
|
$data = array ();
|
||||||
|
$max_items = 6;
|
||||||
|
$sql = sprintf ('SELECT COUNT(id_evento) as count_number, nombre
|
||||||
|
FROM tevento, tagente_modulo
|
||||||
|
WHERE id_agentmodule = id_agente_modulo
|
||||||
|
AND disabled = 0 AND tevento.id_agente = %d
|
||||||
|
GROUP BY id_agentmodule LIMIT %d', $id_agent, $max_items);
|
||||||
|
$events = get_db_all_rows_sql ($sql);
|
||||||
|
if ($events === false) {
|
||||||
|
if (! $graphic_type) {
|
||||||
|
return fs_error_image ();
|
||||||
|
}
|
||||||
|
graphic_error ();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$engine = get_graph_engine ($period);
|
|
||||||
|
foreach ($events as $event) {
|
||||||
$engine->width = $width;
|
$data[$event['nombre'].' ('.$event['count_number'].')'] = $event["count_number"];
|
||||||
$engine->height = $height;
|
|
||||||
$engine->data = &$graph_values;
|
|
||||||
$engine->legend = $module_name_list;
|
|
||||||
$engine->fontpath = $config['fontpath'];
|
|
||||||
$engine->title = "";
|
|
||||||
$engine->subtitle = "";
|
|
||||||
$engine->show_title = !$pure;
|
|
||||||
$engine->stacked = $stacked;
|
|
||||||
$engine->xaxis_interval = $resolution;
|
|
||||||
$events = false;
|
|
||||||
$alerts = false;
|
|
||||||
if (!isset($max_value)) {
|
|
||||||
$max_value = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$engine->combined_graph ($graph, $events, $alerts, $unit_name, $max_value, $stacked);
|
/* System events */
|
||||||
|
$sql = "SELECT COUNT(*) FROM tevento WHERE id_agentmodule = 0 AND id_agente = $id_agent";
|
||||||
|
$value = get_db_sql ($sql);
|
||||||
|
if ($value > 0) {
|
||||||
|
$data[__('System').' ('.$value.')'] = $value;
|
||||||
|
}
|
||||||
|
asort ($data);
|
||||||
|
|
||||||
|
return pie3d_graph(0, $data, $width, $height, __("other"));
|
||||||
}
|
}
|
||||||
?>
|
?>
|
@ -133,7 +133,7 @@ function stacked_area_graph($flash_chart, $chart_data, $width, $height, $color,
|
|||||||
serialize_in_temp($graph, $id_graph);
|
serialize_in_temp($graph, $id_graph);
|
||||||
|
|
||||||
return "<img src='http://127.0.0.1/pandora_console/include/graphs/functions_pchart.php?graph_type=stacked_area&id_graph=" . $id_graph . "' />";
|
return "<img src='http://127.0.0.1/pandora_console/include/graphs/functions_pchart.php?graph_type=stacked_area&id_graph=" . $id_graph . "' />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function stacked_line_graph($flash_chart, $chart_data, $width, $height, $color, $legend, $long_index, $no_data_image) {
|
function stacked_line_graph($flash_chart, $chart_data, $width, $height, $color, $legend, $long_index, $no_data_image) {
|
||||||
@ -241,7 +241,7 @@ function pie_graph($graph_type, $flash_chart, $chart_data, $width, $height, $oth
|
|||||||
return fs_2d_pie_chart (array_values($chart_data), array_keys($chart_data), $width, $height);
|
return fs_2d_pie_chart (array_values($chart_data), array_keys($chart_data), $width, $height);
|
||||||
break;
|
break;
|
||||||
case "3d":
|
case "3d":
|
||||||
return fs_3d_pie_chart (array_values($chart_data), array_keys($chart_data), $width, $height);
|
return fs_3d_pie_chart2(array_values($chart_data), array_keys($chart_data), $width, $height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -250,8 +250,6 @@ function pie_graph($graph_type, $flash_chart, $chart_data, $width, $height, $oth
|
|||||||
$graph['data'] = $chart_data;
|
$graph['data'] = $chart_data;
|
||||||
$graph['width'] = $width;
|
$graph['width'] = $width;
|
||||||
$graph['height'] = $height;
|
$graph['height'] = $height;
|
||||||
$graph['color'] = $color;
|
|
||||||
$graph['legend'] = $legend;
|
|
||||||
|
|
||||||
$id_graph = serialize_in_temp($graph);
|
$id_graph = serialize_in_temp($graph);
|
||||||
|
|
||||||
|
@ -52,8 +52,12 @@ if (!isset($graph)) {
|
|||||||
$data = $graph['data'];
|
$data = $graph['data'];
|
||||||
$width = $graph['width'];
|
$width = $graph['width'];
|
||||||
$height = $graph['height'];
|
$height = $graph['height'];
|
||||||
$colors = $graph['color'];
|
$colors = null;
|
||||||
$legend = $graph['legend'];
|
if (isset($graph['color']))
|
||||||
|
$colors = $graph['color'];
|
||||||
|
$legend = null;
|
||||||
|
if (isset($graph['legend']))
|
||||||
|
$legend = $graph['legend'];
|
||||||
$xaxisname = '';
|
$xaxisname = '';
|
||||||
if(isset($graph['xaxisname'])) {
|
if(isset($graph['xaxisname'])) {
|
||||||
$xaxisname = $graph['xaxisname'];
|
$xaxisname = $graph['xaxisname'];
|
||||||
@ -124,6 +128,8 @@ switch($graph_type) {
|
|||||||
case 'radar':
|
case 'radar':
|
||||||
case 'progress':
|
case 'progress':
|
||||||
case 'area':
|
case 'area':
|
||||||
|
case 'stacked_area':
|
||||||
|
case 'stacked_line':
|
||||||
case 'line':
|
case 'line':
|
||||||
case 'threshold':
|
case 'threshold':
|
||||||
case 'scatter':
|
case 'scatter':
|
||||||
@ -147,11 +153,12 @@ switch($graph_type) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (($graph_type != 'pie3d') && ($graph_type != 'pie2d')) {
|
||||||
if(!is_array(reset($data_values))) {
|
if(!is_array(reset($data_values))) {
|
||||||
$data_values = array($data_values);
|
$data_values = array($data_values);
|
||||||
if(is_array($colors) && !empty($colors)) {
|
if(is_array($colors) && !empty($colors)) {
|
||||||
$colors = array($colors);
|
$colors = array($colors);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +247,7 @@ function pch_pie_graph ($graph_type, $data_values, $legend_values, $width, $heig
|
|||||||
|
|
||||||
/* Set the default font properties */
|
/* Set the default font properties */
|
||||||
$myPicture->setFontProperties(array("FontName"=>"../fonts/code.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
|
$myPicture->setFontProperties(array("FontName"=>"../fonts/code.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
|
||||||
|
|
||||||
/* Create the pPie object */
|
/* Create the pPie object */
|
||||||
$PieChart = new pPie($myPicture,$MyData);
|
$PieChart = new pPie($myPicture,$MyData);
|
||||||
|
|
||||||
@ -489,13 +496,28 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height, $rgb_c
|
|||||||
$myPicture->drawLegend($width-$size['Width'], 8,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_VERTICAL));
|
$myPicture->drawLegend($width-$size['Width'], 8,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_VERTICAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Calculate the bottom margin from the size of string in each index
|
||||||
|
$max_chars = 0;
|
||||||
|
foreach ($index as $string_index) {
|
||||||
|
if (empty($string_index)) continue;
|
||||||
|
|
||||||
|
$len = strlen($string_index);
|
||||||
|
if ($len > $max_chars) {
|
||||||
|
$max_chars = $len;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$margin_bottom = 10 * $max_chars;
|
||||||
|
//$margin_bottom = 90;
|
||||||
|
|
||||||
if (isset($size['Height'])) {
|
if (isset($size['Height'])) {
|
||||||
/* Define the chart area */
|
/* Define the chart area */
|
||||||
$myPicture->setGraphArea(40,$size['Height'],$width,$height - 90);
|
//$myPicture->setGraphArea(40,$size['Height'],$width,$height - 90);
|
||||||
|
$myPicture->setGraphArea(40,$size['Height'],$width,$height - $margin_bottom);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* Define the chart area */
|
/* Define the chart area */
|
||||||
$myPicture->setGraphArea(40, 5,$width,$height - 90);
|
//$myPicture->setGraphArea(40, 5,$width,$height - 90);
|
||||||
|
$myPicture->setGraphArea(40, 5,$width,$height - $margin_bottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw the scale */
|
/* Draw the scale */
|
||||||
|
@ -20,6 +20,8 @@ global $config;
|
|||||||
|
|
||||||
require_once ("include/functions_agents.php");
|
require_once ("include/functions_agents.php");
|
||||||
|
|
||||||
|
require_once ($config["homedir"] . '/include/functions_graph.php');
|
||||||
|
|
||||||
if ($config['flash_charts']) {
|
if ($config['flash_charts']) {
|
||||||
require_once ("include/fgraph.php");
|
require_once ("include/fgraph.php");
|
||||||
}
|
}
|
||||||
@ -49,16 +51,17 @@ echo '<div style="height: 10px"> </div>';
|
|||||||
//Floating div
|
//Floating div
|
||||||
echo '<div style="float:right; width:320px; padding-top:11px;">';
|
echo '<div style="float:right; width:320px; padding-top:11px;">';
|
||||||
echo '<b>'.__('Agent access rate (24h)').'</b><br />';
|
echo '<b>'.__('Agent access rate (24h)').'</b><br />';
|
||||||
if ($config['flash_charts']) {
|
|
||||||
echo graphic_agentaccess ($id_agente, 280, 110, 86400);
|
graphic_agentaccess2($id_agente, 280, 110, 86400);
|
||||||
} else {
|
|
||||||
echo '<img border="1" src="include/fgraph.php?id='.$id_agente.'&tipo=agentaccess&height=90&width=290" />';
|
|
||||||
}
|
|
||||||
echo '<div style="height:25px"> </div>';
|
echo '<div style="height:25px"> </div>';
|
||||||
echo '<b>'.__('Events generated -by module-').'</b><br />';
|
echo '<b>'.__('Events generated -by module-').'</b><br />';
|
||||||
if ($config['flash_charts']) {
|
if ($config['flash_charts']) {
|
||||||
|
///////
|
||||||
echo graphic_agentevents ($id_agente, 290, 60, 86400);
|
echo graphic_agentevents ($id_agente, 290, 60, 86400);
|
||||||
echo graph_event_module (290, 120, $id_agente);
|
///////
|
||||||
|
echo graph_event_module2 (290, 120, $id_agente);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
echo '<img border="1" src="include/fgraph.php?tipo=event_module&width=290&height=180&id_agent='.$id_agente.'" />';
|
echo '<img border="1" src="include/fgraph.php?tipo=event_module&width=290&height=180&id_agent='.$id_agente.'" />';
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user