diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php
index d969729c5a..af78bf979d 100755
--- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php
+++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php
@@ -1014,11 +1014,9 @@ You can of course remove the warnings, that's why we include the source and do n
|
|
@@ -1881,7 +1879,7 @@ $(document).ready (function () {
{"page" : "operation/agentes/ver_agente",
"get_modules_group_json" : 1,
"id_module_group" : this.value,
- "id_agents" : $("#id_agents").val()
+ "id_agents" : $("#id_agents2").val()
},
function (data, status) {
$("#module").html('');
diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php
index 21806f80ec..07f908c559 100755
--- a/pandora_console/godmode/reporting/reporting_builder.php
+++ b/pandora_console/godmode/reporting/reporting_builder.php
@@ -950,8 +950,12 @@ switch ($action) {
$good_format = true;
break;
case 'agent_module':
- $es['id_agents'] = get_parameter('id_agents2');
- $es['module'] = get_parameter('module', "");
+ $agents_to_report = get_parameter('id_agents2');
+ $modules_to_report = get_parameter('module', "");
+
+ $es['module'] = get_same_modules($agents_to_report, $modules_to_report);
+ $es['id_agents'] = $agents_to_report;
+
$values['external_source'] = json_encode($es);
$good_format = true;
break;
@@ -1270,8 +1274,12 @@ switch ($action) {
$good_format = true;
break;
case 'agent_module':
- $es['id_agents'] = get_parameter('id_agents');
- $es['module'] = get_parameter('module', "");
+ $agents_to_report = get_parameter('id_agents2');
+ $modules_to_report = get_parameter('module', "");
+
+ $es['module'] = get_same_modules($agents_to_report, $modules_to_report);
+ $es['id_agents'] = $agents_to_report;
+
$values['external_source'] = json_encode($es);
$good_format = true;
break;
diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php
index 366a16cab7..d1493c006b 100755
--- a/pandora_console/include/functions_modules.php
+++ b/pandora_console/include/functions_modules.php
@@ -2480,4 +2480,25 @@ function modules_get_modules_name ($sql_from , $sql_conditions = '', $meta = fal
}
}
+function get_same_modules ($agents, $modules) {
+ $modules_to_report = array();
+ if ($modules != "") {
+ foreach ($modules as $m) {
+ $module_name = modules_get_agentmodule_name($m);
+ foreach ($agents as $a) {
+ $module_in_agent = db_get_value_filter('id_agente_modulo',
+ 'tagente_modulo', array('id_agente' => $a, 'nombre' => $module_name));
+ if ($module_in_agent) {
+ $modules_to_report[] = $module_in_agent;
+ }
+ }
+ }
+ }
+
+ $modules_to_report = array_merge($modules_to_report, $modules);
+ $modules_to_report = array_unique($modules_to_report);
+
+ return $modules_to_report;
+}
+
?>
diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php
index 93bba7b345..43f477cd42 100644
--- a/pandora_console/operation/agentes/ver_agente.php
+++ b/pandora_console/operation/agentes/ver_agente.php
@@ -137,10 +137,19 @@ if (is_ajax ()) {
$filter_agent = " AND id_agente IN (" . $agents . ")";
}
- $modules = db_get_all_rows_sql("SELECT nombre, id_agente_modulo FROM tagente_modulo WHERE 1 = 1" . $filter_agent . $filter_group);
+ $modules = db_get_all_rows_sql("SELECT DISTINCT nombre, id_agente_modulo FROM tagente_modulo WHERE 1 = 1" . $filter_agent . $filter_group);
if (empty($modules)) $modules = array();
+
+ foreach ($modules as $k => $v) {
+ for ($j = $k + 1; $j <= sizeof($modules); $j++) {
+ if ($modules[$j]['nombre'] == $v['nombre']) {
+ unset($modules[$j]);
+ }
+ }
+ }
+
foreach ($modules as $k => $v) {
$modules[$k] = io_safe_output($v);
}