';
$output .= "
";
if (!$return)
echo $output;
return $output;
}
}
///////////////////////////////
////////// AREA GRAPHS ////////
///////////////////////////////
function flot_area_graph (
$agent_module_id, $array_data, $color,
$legend, $series_type, $date_array,
$data_module_graph, $show_elements_graph,
$format_graph, $water_mark, $series_suffix_str,
$array_events_alerts ) {
global $config;
// include_javascript_dependencies_flot_graph();
// Get a unique identifier to graph
$graph_id = uniqid('graph_');
$background_style = '';
switch ($format_graph['background']) {
default:
case 'white':
$background_style = ' background: #fff; ';
break;
case 'black':
$background_style = ' background: #000; ';
break;
case 'transparent':
$background_style = '';
break;
}
///XXXXXXX los px caca
// Parent layer
$return = "
";
// Set some containers to legend, graph, timestamp tooltip, etc.
$return .= "
";
$yellow_threshold = $data_module_graph['w_min'];
$red_threshold = $data_module_graph['c_min'];
// Get other required module datas to draw warning and critical
if ($agent_module_id == 0) {
$yellow_up = 0;
$red_up = 0;
$yellow_inverse = false;
$red_inverse = false;
} else {
$yellow_up = $data_module_graph['w_max'];
$red_up = $data_module_graph['c_max'];
$yellow_inverse = !($data_module_graph['w_inv'] == 0);
$red_inverse = !($data_module_graph['c_inv'] == 0);
}
if ($show_elements_graph['menu']) {
$return .= menu_graph(
$yellow_threshold, $red_threshold,
$yellow_up, $red_up, $yellow_inverse,
$red_inverse, $show_elements_graph['dashboard'],
$show_elements_graph['vconsole'],
$graph_id, $format_graph['width'],
$format_graph['homeurl']
);
}
$return .= html_print_input_hidden('line_width_graph', $config['custom_graph_width'], true);
$return .= "
";
$return .= "
";
if ($show_elements_graph['menu']) {
$format_graph['height'] = 100;
}
else {
$format_graph['height'] = 1;
}
if (!$vconsole){
$return .= "
";
}
//XXXXTODO
$water_mark = '';
if ($water_mark != '') {
$return .= "
";
$watermark = 'true';
}
else {
$watermark = 'false';
}
foreach($series_type as $k => $v){
$series_type_unique["data_" . $graph_id . "_" . $k] = $v;
}
// Store data series in javascript format
$extra_width = (int)($format_graph['width'] / 3);
$return .= "";
if(substr($background_style, -6, 4) == '#fff'){
$background_color = "#eee";
$legend_color = "#151515";
}
else if(substr($background_style, -6, 4) == '#000'){
$background_color = "#151515";
$legend_color = "#BDBDBD";
}
else{
$background_color = "#A4A4A4";
$legend_color = "#A4A4A4";
}
//XXXX force_integer TODO
$force_integer = 0;
// Trick to get translated string from javascript
$return .= html_print_input_hidden('unknown_text', __('Unknown'), true);
if (!isset($config["short_module_graph_data"])){
$config["short_module_graph_data"] = '';
}
$short_data = $config["short_module_graph_data"];
$values = json_encode($array_data);
$legend = json_encode($legend);
$series_type = json_encode($series_type);
$date_array = json_encode($date_array);
$data_module_graph = json_encode($data_module_graph);
$show_elements_graph = json_encode($show_elements_graph);
$format_graph = json_encode($format_graph);
$array_events_alerts = json_encode($array_events_alerts);
// Javascript code
if ($font_size == '') $font_size = '\'\'';
$return .= "";
// Parent layer
$return .= "
";
return $return;
}
function menu_graph(
$yellow_threshold, $red_threshold,
$yellow_up, $red_up, $yellow_inverse,
$red_inverse, $dashboard, $vconsole,
$graph_id, $width, $homeurl
){
$return = '';
$threshold = false;
if ($yellow_threshold != $yellow_up || $red_threshold != $red_up) {
$threshold = true;
}
$nbuttons = 3;
if ($threshold) {
$nbuttons++;
}
$menu_width = 25 * $nbuttons + 15;
if ( $dashboard == false AND $vconsole == false) {
$return .= "";
}
if ($dashboard) {
$return .= "";
}
return $return;
}
///////////////////////////////
///////////////////////////////
///////////////////////////////
// Prints a FLOT pie chart
function flot_pie_chart ($values, $labels, $width, $height, $water_mark,
$font = '', $font_size = 8, $legend_position = '', $colors = '',
$hide_labels = false) {
// include_javascript_dependencies_flot_graph();
$series = sizeof($values);
if (($series != sizeof ($labels)) || ($series == 0) ) {
return;
}
$graph_id = uniqid('graph_');
switch ($legend_position) {
case 'bottom':
$height = $height + (count($values) * 24);
break;
case 'right':
default:
//TODO FOR TOP OR LEFT OR RIGHT
break;
}
$return = "