diff --git a/pandora_console/include/functions_agents.php b/pandora_console/include/functions_agents.php
index f1cb4e1f0e..c65b0b21e0 100644
--- a/pandora_console/include/functions_agents.php
+++ b/pandora_console/include/functions_agents.php
@@ -4738,7 +4738,7 @@ function get_resume_agent_concat($id_agente, $all_groups, $agent)
$secondary_groups = enterprise_hook('agents_get_secondary_groups', [$id_agente]);
$secondaryLinks = [];
if (empty($secondary_groups['for_select']) === true) {
- $secondaryLinks[] = ''.__('N/A').'';
+ $secondaryLinks = [];
} else {
foreach ($secondary_groups['for_select'] as $id => $name) {
$secondaryLinks[] = html_print_anchor(
@@ -4797,22 +4797,22 @@ function get_resume_agent_concat($id_agente, $all_groups, $agent)
'content' => groups_get_name($agent['id_grupo']),
],
true
- );
+ ).' '.ui_print_group_icon($agent['id_grupo'], true, '', '', true, false, false, '', true);
$table_contact->data[] = $data;
// Secondary groups.
$data = [];
- $data[0] = ''.__('Secondary groups').'';
- $data[1] = implode(', ', $secondaryLinks);
- $table_contact->data[] = $data;
+ if (!empty($secondaryLinks) === true) {
+ $data[0] = ''.__('Secondary groups').'';
+ $data[1] = implode(', ', $secondaryLinks);
+ $table_contact->data[] = $data;
+ }
// Parent agent line.
if (enterprise_installed() === true) {
- $data = [];
- $data[0] = ''.__('Parent').'';
- if ((int) $agent['id_parent'] === 0) {
- $data[1] = ''.__('N/A').'';
- } else {
+ if ((int) $agent['id_parent'] !== 0) {
+ $data = [];
+ $data[0] = ''.__('Parent').'';
$data[1] = html_print_anchor(
[
'href' => 'index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_parent'],
@@ -4820,9 +4820,9 @@ function get_resume_agent_concat($id_agente, $all_groups, $agent)
],
true
);
- }
- $table_contact->data[] = $data;
+ $table_contact->data[] = $data;
+ }
}
// Last status change line.
@@ -4831,6 +4831,81 @@ function get_resume_agent_concat($id_agente, $all_groups, $agent)
$data[1] = $time_elapsed;
$table_contact->data[] = $data;
+ $has_remote_conf = enterprise_hook(
+ 'config_agents_has_remote_configuration',
+ [$agent['id_agente']]
+ );
+
+ $data = [];
+ if ((bool) $has_remote_conf) {
+ $data[0] = __('Remote configuration');
+ $data[1] = ''.__('Enabled').'';
+ $data[1] .= html_print_menu_button(
+ [
+ 'href' => ui_get_full_url('index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=remote_configuration&id_agente='.$agent['id_agente'].'&disk_conf=1'),
+ 'image' => 'images/remote-configuration@svg.svg',
+ 'title' => __('Edit remote config'),
+ ],
+ true
+ );
+
+ $satellite_server = (int) db_get_value_filter(
+ 'satellite_server',
+ 'tagente',
+ ['id_agente' => $id_agente]
+ );
+
+ if (empty($satellite_server) === false) {
+ $satellite_name = db_get_value_filter(
+ 'name',
+ 'tserver',
+ ['id_server' => $satellite_server]
+ );
+
+ $data[0] = __('Satellite server');
+ $data[1] = $satellite_name;
+ }
+ }
+
+ $table_contact->data[] = $data;
+
+ // Optional data
+ // Position Information.
+ if ((bool) $config['activate_gis'] === true) {
+ $data = [];
+
+ $dataPositionAgent = gis_get_data_last_position_agent(
+ $agent['id_agente']
+ );
+ if (is_array($dataPositionAgent) === true && $dataPositionAgent['stored_longitude'] !== '' && $dataPositionAgent['stored_latitude'] !== '') {
+ $data[0] = __('Position (Long, Lat)');
+
+ $dataOptionalOutput = html_print_anchor(
+ [
+ 'href' => 'index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=gis&id_agente='.$id_agente,
+ 'content' => $dataPositionAgent['stored_longitude'].', '.$dataPositionAgent['stored_latitude'],
+ ],
+ true
+ );
+
+ if (empty($dataPositionAgent['description']) === false) {
+ $dataOptionalOutput .= ' ('.$dataPositionAgent['description'].')';
+ }
+
+ $data[1] = $dataOptionalOutput;
+ }
+
+ $table_contact->data[] = $data;
+ }
+
+ // Timezone Offset.
+ if ((int) $agent['timezone_offset'] !== 0) {
+ $data = [];
+ $data[0] = __('Timezone Offset');
+ $data[1] = $agent['timezone_offset'];
+ $table_contact->data[] = $data;
+ }
+
$agent_contact = html_print_div(
[
'class' => 'agent_details_header',
diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php
index eab4e761d3..463b058176 100755
--- a/pandora_console/include/functions_reporting.php
+++ b/pandora_console/include/functions_reporting.php
@@ -13503,38 +13503,47 @@ function reporting_tiny_stats(
}
if ($modern === true) {
- $out .= '
';
if (isset($fired_count) && $fired_count > 0) {
+ $out .= '
';
$out .= '
';
$out .= '
'.$fired_count.'';
+ $out .= '
';
}
if (isset($critical_count) && $critical_count > 0) {
+ $out .= '
';
$out .= '
';
$out .= '
'.$critical_count.'';
+ $out .= '
';
}
if (isset($warning_count) && $warning_count > 0) {
+ $out .= '
';
$out .= '
';
$out .= '
'.$warning_count.'';
+ $out .= '
';
}
if (isset($unknown_count) && $unknown_count > 0) {
+ $out .= '
';
$out .= '
';
$out .= '
'.$unknown_count.'';
+ $out .= '
';
}
if (isset($not_init_count) && $not_init_count > 0) {
+ $out .= '
';
$out .= '
';
$out .= '
'.$not_init_count.'';
+ $out .= '
';
}
if (isset($normal_count) && $normal_count > 0) {
+ $out .= '
';
$out .= '
';
$out .= '
'.$normal_count.'';
+ $out .= '
';
}
-
- $out .= '
';
} else {
// Classic ones.
$out .= ''.$total_count.'';
diff --git a/pandora_console/include/styles/agent_view.css b/pandora_console/include/styles/agent_view.css
index d4a1d89a4e..1df8efdb84 100644
--- a/pandora_console/include/styles/agent_view.css
+++ b/pandora_console/include/styles/agent_view.css
@@ -6,6 +6,10 @@ div#bullets_modules span {
font-weight: 700;
}
+div.bullets_modules span {
+ font-weight: 700;
+}
+
div.agent_details_agent_caption {
flex: 1;
}
diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css
index 45cacafb6b..21ac227110 100644
--- a/pandora_console/include/styles/pandora.css
+++ b/pandora_console/include/styles/pandora.css
@@ -6037,18 +6037,18 @@ div.switch_radio_button label:last-of-type {
margin-top: -2px;
}
-/*
-div#bullets_modules {
- display: flex;
- margin-left: 2em;
-}
-*/
div#bullets_modules div {
display: flex;
align-items: center;
margin: 0 5px;
}
+div.bullets_modules div {
+ display: flex;
+ align-items: center;
+ margin: 0 5px;
+}
+
.orange_background {
background: #ffa631;
}
@@ -6309,6 +6309,7 @@ div#status_pie {
flex-direction: column;
justify-content: center;
align-items: center;
+ width: 100%;
}
.agent_details_agent_data {
@@ -6338,23 +6339,45 @@ div#status_pie {
justify-content: flex-start;
}
+.agent_details_bullets .bullets_modules {
+ display: flex;
+ justify-content: flex-start;
+}
+
.agent_details_bullets_cluster #bullets_modules {
display: flex;
justify-content: flex-start;
flex-direction: column;
}
+.agent_details_bullets_cluster .bullets_modules {
+ display: flex;
+ justify-content: flex-start;
+ flex-direction: column;
+}
+
.agent_details_bullets_cluster #bullets_modules > div {
padding: 0px;
margin-bottom: 10px;
}
+.agent_details_bullets_cluster .bullets_modules > div {
+ padding: 0px;
+ margin-bottom: 10px;
+}
+
.agent_details_bullets #bullets_modules > div {
display: flex;
align-items: center;
padding-bottom: 20px;
}
+.agent_details_bullets .bullets_modules > div {
+ display: flex;
+ align-items: center;
+ padding-bottom: 20px;
+}
+
#agent_contact_main tr td img {
max-width: 100%;
}
@@ -6406,6 +6429,11 @@ div#status_pie {
float: right;
}
+.white_table_graph_header div.bullets_modules {
+ display: flex;
+ float: right;
+}
+
.white_table_graph_header img,
.white_table_graph_header span {
vertical-align: middle;
diff --git a/pandora_console/operation/agentes/estado_generalagente.php b/pandora_console/operation/agentes/estado_generalagente.php
index 62963f6b29..c25ff3a5c1 100755
--- a/pandora_console/operation/agentes/estado_generalagente.php
+++ b/pandora_console/operation/agentes/estado_generalagente.php
@@ -124,8 +124,15 @@ foreach ($addresses as $k => $add) {
}
if (empty($address) === false) {
+ $address_text = ''.$address.'';
+ if (!empty($addresses) === true) {
+ foreach ($addresses as $sec_address) {
+ $address_text .= '
'.$sec_address.'';
+ }
+ }
+
$table_status->data['ip_address'][0] = __('IP address');
- $table_status->data['ip_address'][1] = (empty($address) === true) ? ''.__('N/A').'' : $address;
+ $table_status->data['ip_address'][1] = (empty($address) === true) ? ''.__('N/A').'' : $address_text;
}
$table_status->data['agent_version'][0] = __('Agent Version');
@@ -134,34 +141,6 @@ $table_status->data['agent_version'][1] = (empty($agent['agent_version']) === tr
$table_status->data['description'][0] = __('Description');
$table_status->data['description'][1] = (empty($agent['comentarios']) === true) ? ''.__('N/A').'' : $agent['comentarios'];
-$has_remote_conf = enterprise_hook(
- 'config_agents_has_remote_configuration',
- [$agent['id_agente']]
-);
-
-if ((bool) $has_remote_conf) {
- $table_status->data['remote_config'][0] = __('Remote configuration');
- $table_status->data['remote_config'][1] = __('Enabled');
-
- $satellite_server = (int) db_get_value_filter(
- 'satellite_server',
- 'tagente',
- ['id_agente' => $id_agente]
- );
-
- if (empty($satellite_server) === false) {
- $satellite_name = db_get_value_filter(
- 'name',
- 'tserver',
- ['id_server' => $satellite_server]
- );
-
- $table_status->data['remote_config'][0] = __('Satellite server');
- $table_status->data['remote_config'][1] = $satellite_name;
- }
-}
-
-
$table_agent = $agentStatusHeader.'
@@ -189,11 +168,12 @@ $data_opcional->class = 'floating_form';
// Gis and url address.
$agentAdditionalContent = '';
// Position Information.
-if ((bool) $config['activate_gis'] === true) {
+/*
+ if ((bool) $config['activate_gis'] === true) {
$dataPositionAgent = gis_get_data_last_position_agent(
$agent['id_agente']
);
- if (is_array($dataPositionAgent) === true && $dataPositionAgent['stored_longitude'] !== '' && $dataPositionAgent['stored_longitude'] !== '') {
+ if (is_array($dataPositionAgent) === true && $dataPositionAgent['stored_longitude'] !== '' && $dataPositionAgent['stored_latitude'] !== '') {
$data_opcional->data['agent_position'][0] = __('Position (Long, Lat)');
$dataOptionalOutput = html_print_anchor(
@@ -210,10 +190,11 @@ if ((bool) $config['activate_gis'] === true) {
$data_opcional->data['agent_position'][1] = $dataOptionalOutput;
}
-}
+}*/
// If the url description is set.
-if (empty($agent['url_address']) === false) {
+/*
+ if (empty($agent['url_address']) === false) {
$data_opcional->data['url_address'][0] = __('Url address');
$data_opcional->data['url_address'][1] = html_print_anchor(
[
@@ -222,11 +203,12 @@ if (empty($agent['url_address']) === false) {
],
true
);
-}
+}*/
// Other IP address and timezone offset.
-if (empty($addresses) === false) {
+/*
+ if (empty($addresses) === false) {
$data_opcional->data['other_ip_address'][0] = __('Other IP addresses');
$data_opcional->data['other_ip_address'][1] = html_print_div(
[
@@ -235,13 +217,14 @@ if (empty($addresses) === false) {
],
true
);
-}
-
+ }
+*/
// Timezone Offset.
-if ((int) $agent['timezone_offset'] !== 0) {
+/*
+ if ((int) $agent['timezone_offset'] !== 0) {
$data_opcional->data['timezone_offset'][0] = __('Timezone Offset');
$data_opcional->data['timezone_offset'][1] = $agent['timezone_offset'];
-}
+}*/
// Custom fields.
$fields = db_get_all_rows_filter(