From 4924556a2163bbc92917d8851de548dd93b42dbb Mon Sep 17 00:00:00 2001
From: mdtrooper
Date: Wed, 25 Mar 2015 18:28:58 +0100
Subject: [PATCH] Working in the refactoring the code of reports (fixed
max_value, added min_value and avg_value).
---
.../include/functions_reporting.php | 75 +++++++++++++---
.../include/functions_reporting_html.php | 87 ++++---------------
2 files changed, 83 insertions(+), 79 deletions(-)
diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php
index 880fe0ef97..e2823d7cf4 100644
--- a/pandora_console/include/functions_reporting.php
+++ b/pandora_console/include/functions_reporting.php
@@ -180,9 +180,22 @@ function reporting_make_reporting_data($id_report, $date, $time,
$type);
break;
case 'max_value':
- $report['contents'][] = reporting_max_value(
+ $report['contents'][] = reporting_value(
$report,
- $content);
+ $content,
+ 'max');
+ break;
+ case 'avg_value':
+ $report['contents'][] = reporting_value(
+ $report,
+ $content,
+ 'avg');
+ break;
+ case 'min_value':
+ $report['contents'][] = reporting_value(
+ $report,
+ $content,
+ 'min');
break;
}
}
@@ -190,21 +203,61 @@ function reporting_make_reporting_data($id_report, $date, $time,
return reporting_check_structure_report($report);
}
-function reporting_max_value($report, $content) {
+function reporting_value($report, $content, $type) {
global $config;
$return = array();
- $return['type'] = 'max_value';
-
- if (empty($content['name'])) {
- $content['name'] = __('Max. Value');
+ switch ($type) {
+ case 'max':
+ $return['type'] = 'max_value';
+ break;
+ case 'min':
+ $return['type'] = 'min_value';
+ break;
+ case 'avg':
+ $return['type'] = 'avg_value';
+ break;
}
- $return['title'] = $content['name'];
- $return["description"] = $content["description"];
- $return["date"] = reporting_get_date_text();
- $value = reporting_get_agentmodule_data_max ($content['id_agent_module'], $content['period'], $report["datetime"]);
+ if (empty($content['name'])) {
+ switch ($type) {
+ case 'max':
+ $content['name'] = __('Max. Value');
+ break;
+ case 'min':
+ $content['name'] = __('Min. Value');
+ break;
+ case 'avg':
+ $content['name'] = __('AVG. Value');
+ break;
+ }
+ }
+
+ $module_name = io_safe_output(
+ modules_get_agentmodule_name($content['id_agent_module']));
+ $agent_name = io_safe_output(
+ modules_get_agentmodule_agent_name ($content['id_agent_module']));
+
+ $return['title'] = $content['name'];
+ $return['subtitle'] = $agent_name . " - " . $module_name;
+ $return["description"] = $content["description"];
+ $return["date"] = reporting_get_date_text($report, $content);
+
+ switch ($type) {
+ case 'max':
+ $value = reporting_get_agentmodule_data_max(
+ $content['id_agent_module'], $content['period'], $report["datetime"]);
+ break;
+ case 'min':
+ $value = reporting_get_agentmodule_data_min(
+ $content['id_agent_module'], $content['period'], $report["datetime"]);
+ break;
+ case 'avg':
+ $value = reporting_get_agentmodule_data_average(
+ $content['id_agent_module'], $content['period'], $report["datetime"]);
+ break;
+ }
$unit = db_get_value('unit', 'tagente_modulo', 'id_agente_modulo', $content ['id_agent_module']);
diff --git a/pandora_console/include/functions_reporting_html.php b/pandora_console/include/functions_reporting_html.php
index c10aab2016..26b530878c 100644
--- a/pandora_console/include/functions_reporting_html.php
+++ b/pandora_console/include/functions_reporting_html.php
@@ -146,6 +146,12 @@ function reporting_html_print_report($report, $mini = false) {
case 'max_value':
reporting_html_max_value($table, $item, $mini);
break;
+ case 'avg_value':
+ reporting_html_avg_value($table, $item, $mini);
+ break;
+ case 'min_value':
+ reporting_html_min_value($table, $item, $mini);
+ break;
}
if ($item['type'] == 'agent_module')
@@ -158,7 +164,19 @@ function reporting_html_print_report($report, $mini = false) {
}
}
-function reporting_html_max_value($table, $item, $mini) {
+function reporting_html_avg_value(&$table, $item, $mini) {
+ reporting_html_value($table, $item, $mini);
+}
+
+function reporting_html_max_value(&$table, $item, $mini) {
+ reporting_html_value($table, $item, $mini);
+}
+
+function reporting_html_min_value(&$table, $item, $mini) {
+ reporting_html_value($table, $item, $mini);
+}
+
+function reporting_html_value(&$table, $item, $mini) {
if ($mini) {
$font_size = '1.5';
}
@@ -3836,75 +3854,8 @@ function reporting_render_report_html_item ($content, $table, $report, $mini = f
$data[1] .= html_print_image("images/module_critical.png", true) . ' ' .__('Not OK') . ': ' .$monitor_value.' % ' . '
';
array_push ($table->data, $data);
- break;
- case 7:
- case 'avg_value':
- if (empty($item_title)) {
- $item_title = __('Avg. Value');
- }
- reporting_header_content($mini, $content, $report, $table, $item_title,
- ui_print_truncate_text($agent_name, 'agent_medium', false) .
- '
'.ui_print_truncate_text($module_name, 'module_medium', false));
-
- //RUNNING
-
- // Put description at the end of the module (if exists)
- $table->colspan[1][0] = 3;
- if ($content["description"] != "") {
- $data_desc = array();
- $data_desc[0] = $content["description"];
- array_push ($table->data, $data_desc);
- }
-
- $data = array ();
- $table->colspan[2][0] = 3;
- $unit = db_get_value('unit', 'tagente_modulo', 'id_agente_modulo', $content['id_agent_module']);
- $value = reporting_get_agentmodule_data_average ($content['id_agent_module'], $content['period'], $report["datetime"]);
- if ($value === false) {
- $value = __('Unknown');
- }
- else {
- $value = format_for_graph($value, 2) . " " . $unit;
- }
- $data[0] = ''.$value.'
';
- array_push ($table->data, $data);
-
break;
- case 9:
- case 'min_value':
- if (empty($item_title)) {
- $item_title = __('Min. Value');
- }
- reporting_header_content($mini, $content, $report, $table, $item_title,
- ui_print_truncate_text($agent_name, 'agent_medium', false) .
- '
'.ui_print_truncate_text($module_name, 'module_medium', false));
-
- //RUNNING
-
- // Put description at the end of the module (if exists)
- $table->colspan[1][0] = 3;
- if ($content["description"] != "") {
- $data_desc = array();
- $data_desc[0] = $content["description"];
- array_push ($table->data, $data_desc);
- }
-
- $data = array ();
- $table->colspan[2][0] = 3;
-
- $value = reporting_get_agentmodule_data_min ($content['id_agent_module'], $content['period'], $report["datetime"]);
- $unit = db_get_value('unit', 'tagente_modulo', 'id_agente_modulo', $content ['id_agent_module']);
- if ($value === false) {
- $value = __('Unknown');
- }
- else {
- $value = format_for_graph($value, 2) . " " . $unit;
- }
- $data[0] = ''.$value.'
';
- array_push ($table->data, $data);
-
- break;
case 10:
case 'sumatory':
if (empty($item_title)) {