diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php index 7ec49b4d08..03c5d09216 100755 --- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php +++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php @@ -6988,7 +6988,7 @@ function chooseType() { case 'group_report': $("#row_group").show(); - $("#row_servers").show(); + $("#row_servers_all_opt").show(); $("#row_description").show(); $("#row_historical_db_check").hide(); break; diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php index 1c3a88e73d..2597b0b18b 100755 --- a/pandora_console/godmode/reporting/reporting_builder.php +++ b/pandora_console/godmode/reporting/reporting_builder.php @@ -1925,6 +1925,11 @@ switch ($action) { $good_format = true; break; + case 'group_report': + $values['server_name'] = get_parameter('combo_server'); + $good_format = true; + break; + default: $values['period'] = get_parameter('period'); $values['top_n'] = get_parameter( @@ -2798,7 +2803,7 @@ switch ($action) { break; } - if ($values['server_name'] == '') { + if ($values['server_name'] == '' || $values['server_name'] === null) { $values['server_name'] = get_parameter( 'combo_server' ); @@ -3226,6 +3231,10 @@ switch ($action) { $es['agent_not_assigned_to_ip'] = get_parameter('agent_not_assigned_to_ip'); break; + case 'group_report': + $values['server_name'] = get_parameter('combo_server'); + break; + case 'top_n': case 'general': case 'exception': diff --git a/pandora_console/include/functions_agents.php b/pandora_console/include/functions_agents.php index f8bb2fc024..70c9ec14af 100644 --- a/pandora_console/include/functions_agents.php +++ b/pandora_console/include/functions_agents.php @@ -801,15 +801,16 @@ function agents_get_agents_selected($group) 0, true ); - - $all = array_reduce( - $all, - function ($carry, $item) { - $carry[$item['id_tmetaconsole_setup'].'|'.$item['id_tagente']] = $item['server_name'].' » '.$item['alias']; - return $carry; - }, - [] - ); + if ($all !== false) { + $all = array_reduce( + $all, + function ($carry, $item) { + $carry[$item['id_tmetaconsole_setup'].'|'.$item['id_tagente']] = $item['server_name'].' » '.$item['alias']; + return $carry; + }, + [] + ); + } } else { $all = agents_get_agents( ['id_grupo' => $group], diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php index 18b5b9eda6..d75505e358 100755 --- a/pandora_console/include/functions_reporting.php +++ b/pandora_console/include/functions_reporting.php @@ -4198,6 +4198,7 @@ function reporting_group_report($report, $content) if (is_metaconsole() === true) { if (isset($content['server_name']) === true && empty($content['server_name']) === false + && $content['server_name'] !== 'all' ) { $id_meta = metaconsole_get_id_server($content['server_name']); $server = metaconsole_get_connection_by_id($id_meta); @@ -4253,7 +4254,9 @@ function reporting_group_report($report, $content) $data_node = reporting_groups_nodes($content); $count_events += $data_node['count_events']; foreach ($data_node['group_stats'] as $key => $value) { - $group_stats[$key] += $value; + if (array_key_exists($key, $group_stats)) { + $group_stats[$key] += $value; + } } if (is_metaconsole() === true) {