From 7cc07679f6d12120ad86f7e44d294f2c4e2b471e Mon Sep 17 00:00:00 2001
From: Ramon Novoa <rnovoa@artica.es>
Date: Wed, 22 Dec 2010 16:28:37 +0000
Subject: [PATCH] 2010-12-22  Ramon Novoa  <rnovoa@artica.es>

	* operation/agentes/exportdata.php: Fixed data average export.
	  Fixes bug #3141351.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3685 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
---
 pandora_console/ChangeLog                     |  5 +++
 .../operation/agentes/exportdata.php          | 36 +++++++++----------
 2 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog
index 559390c785..6cf075b0a4 100644
--- a/pandora_console/ChangeLog
+++ b/pandora_console/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-22  Ramon Novoa  <rnovoa@artica.es>
+
+	* operation/agentes/exportdata.php: Fixed data average export.
+	  Fixes bug #3141351.
+
 2010-12-22  Miguel de Dios  <miguel.dedios@artica.es>
 
 	* operation/events/events.php: fixed the show list of events when to delete
diff --git a/pandora_console/operation/agentes/exportdata.php b/pandora_console/operation/agentes/exportdata.php
index 1afc7d72d8..41fd720899 100644
--- a/pandora_console/operation/agentes/exportdata.php
+++ b/pandora_console/operation/agentes/exportdata.php
@@ -54,6 +54,7 @@ if (is_ajax ()) {
 // Load global vars
 require_once ("include/config.php");
 require_once ("include/functions_agents.php");
+require_once ("include/functions_reporting.php");
 
 check_login();
 
@@ -164,6 +165,7 @@ if (!empty ($export_btn) && !empty ($module)) {
 		case "data":
 		case "excel":
 		case "csv":
+		case "avg":
 
 			// Show header
 			echo $datastart;
@@ -183,9 +185,22 @@ if (!empty ($export_btn) && !empty ($module)) {
 					$work_end = $work_end + $work_period;
 
 					$data = array (); // Reinitialize array for each module chunk
-					$data_single = get_agentmodule_data ($selected, $work_period, $work_end);
-					if (!empty ($data_single)) {
-						$data = array_merge ($data, $data_single);
+					if ($export_type == "avg") {
+						$arr = array ();
+						$arr["data"] = get_agentmodule_data_average ($selected, $work_period, $work_end);
+						if ($arr["data"] === false) {
+							continue;
+						}	
+						$arr["module_name"] = get_agentmodule_name ($selected);
+						$arr["agent_name"] = get_agentmodule_agent_name ($selected);
+						$arr["agent_id"] = get_agentmodule_agent ($selected);
+						$arr["utimestamp"] = $end;				
+						array_push ($data, $arr);
+					} else {
+						$data_single = get_agentmodule_data ($selected, $work_period, $work_end);
+						if (!empty ($data_single)) {
+							$data = array_merge ($data, $data_single);
+						}
 					}
 
 /*
@@ -227,21 +242,6 @@ if (!empty ($export_btn) && !empty ($module)) {
 			} // main foreach
 			echo $dataend;
 			break;
-
-		case "avg":
-			foreach ($module as $selected) {
-				$arr = array ();
-				$arr["data"] = get_agentmodule_data_average ($selected, $period, $end);
-				if ($arr["data"] === false) {
-					continue;
-				}	
-				$arr["module_name"] = get_agentmodule_name ($selected);
-				$arr["agent_name"] = get_agentmodule_agent_name ($selected);
-				$arr["agent_id"] = get_agentmodule_agent ($selected);
-				$arr["utimestamp"] = $end;				
-				array_push ($data, $arr);
-			}
-		break;
 		default:
 			print_error_message (__('Invalid method supplied'));
 			return;