From 8c8f368993afab467f216dd592ed9c0658834ce7 Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Thu, 14 Mar 2019 18:51:48 +0100 Subject: [PATCH] WIP: NetworkMaps rebuild Former-commit-id: d3ca9d0de1b718a35bbc4aae80982b2c4705a454 --- pandora_console/godmode/wizards/Wizard.main.php | 15 ++++++++------- .../include/class/NetworkMap.class.php | 8 ++------ pandora_console/include/constants.php | 15 +++++++++++++++ pandora_console/include/functions_networkmap.php | 10 ++++++++++ pandora_console/include/functions_servers.php | 3 +++ .../operation/agentes/pandora_networkmap.php | 2 ++ 6 files changed, 40 insertions(+), 13 deletions(-) diff --git a/pandora_console/godmode/wizards/Wizard.main.php b/pandora_console/godmode/wizards/Wizard.main.php index 5fc95e7a01..7a1a5916aa 100644 --- a/pandora_console/godmode/wizards/Wizard.main.php +++ b/pandora_console/godmode/wizards/Wizard.main.php @@ -26,14 +26,15 @@ * ============================================================================ */ -define('CLOUDWIZARD_AWS_DESCRIPTION', 'Discovery.Cloud.AWS.EC2'); +// Begin. -/** - * Global Wizard generic class. Needs to be inherited. - * - * Used in Hostdevices class, Applications class and others, is the core of - * Discovery proyect. - */ + + /** + * Global Wizard generic class. Needs to be inherited. + * + * Used in Hostdevices class, Applications class and others, is the core of + * Discovery proyect. + */ class Wizard { diff --git a/pandora_console/include/class/NetworkMap.class.php b/pandora_console/include/class/NetworkMap.class.php index 3adf1b44b5..8f153eb415 100644 --- a/pandora_console/include/class/NetworkMap.class.php +++ b/pandora_console/include/class/NetworkMap.class.php @@ -32,10 +32,6 @@ global $config; require_once $config['homedir'].'/include/functions_networkmap.php'; enterprise_include_once('include/functions_networkmap.php'); -define('SOURCE_GROUP', 0); -define('SOURCE_TASK', 1); -define('SOURCE_NETWORK', 2); - /** * Manage networkmaps in Pandora FMS */ @@ -217,7 +213,7 @@ class NetworkMap $this->loadMap(); if (empty($this->nodes) - || empty($this->relations) + && empty($this->relations) ) { $this->createMap(); } @@ -423,7 +419,7 @@ class NetworkMap $relations = $this->relations; // Generate if there's no data in DB about nodes or relations. - if (empty($nodes) || empty($relations)) { + if (empty($nodes) && empty($relations)) { $this->generateNetworkMap(); return; } diff --git a/pandora_console/include/constants.php b/pandora_console/include/constants.php index 699264b17a..a82d36c1d0 100644 --- a/pandora_console/include/constants.php +++ b/pandora_console/include/constants.php @@ -548,13 +548,28 @@ define('LAYOUT_SPRING2', 4); // Extra: radial dynamic. define('LAYOUT_RADIAL_DYNAMIC', 6); +// Map sources. +define('SOURCE_GROUP', 0); +define('SOURCE_TASK', 1); +define('SOURCE_NETWORK', 2); +// Backward compatibility ~ Migration. define('MAP_SOURCE_GROUP', 0); define('MAP_SOURCE_IP_MASK', 1); define('NETWORKMAP_DEFAULT_WIDTH', 800); define('NETWORKMAP_DEFAULT_HEIGHT', 800); +// Discovery task types. +define('DISCOVERY_HOSTDEVICES', 0); +define('DISCOVERY_HOSTDEVICES_CUSTOM', 1); +define('DISCOVERY_CLOUD_AWS', 10); +define('DISCOVERY_APP_VMWARE', 100); + +// Discovery task descriptions. +define('CLOUDWIZARD_AWS_DESCRIPTION', 'Discovery.Cloud.AWS.EC2'); +define('CLOUDWIZARD_VMWARE_DESCRIPTION', 'Discovery.App.VMware'); + // Background options. define('CENTER', 0); define('MOSAIC', 1); diff --git a/pandora_console/include/functions_networkmap.php b/pandora_console/include/functions_networkmap.php index 28fa630f0a..fba71431bd 100644 --- a/pandora_console/include/functions_networkmap.php +++ b/pandora_console/include/functions_networkmap.php @@ -305,6 +305,16 @@ function networkmap_generate_dot( $filter[] = '(nombre COLLATE utf8_general_ci LIKE "%'.$text_filter.'%")'; } + /* + * Select data origin. + * group + * discovery task + * - Cloud + * - Application + * - Standar or custom + * network/mask + */ + if ($group >= 0 && empty($ip_mask)) { if ($dont_show_subgroups) { $filter['id_grupo'] = $group; diff --git a/pandora_console/include/functions_servers.php b/pandora_console/include/functions_servers.php index 0d8b581f5a..0850dcbfac 100644 --- a/pandora_console/include/functions_servers.php +++ b/pandora_console/include/functions_servers.php @@ -1041,6 +1041,9 @@ function servers_get_server_string_name(int $server) case SERVER_TYPE_WUX: return __('WUX server'); + case SERVER_TYPE_ENTERPRISE_SATELLITE: + return __('Satellite'); + default: return __('N/A'); } diff --git a/pandora_console/operation/agentes/pandora_networkmap.php b/pandora_console/operation/agentes/pandora_networkmap.php index b9f67e5bb0..cca936a396 100644 --- a/pandora_console/operation/agentes/pandora_networkmap.php +++ b/pandora_console/operation/agentes/pandora_networkmap.php @@ -732,6 +732,8 @@ switch ($tab) { if (($count == 0) && ($network_map['source'] != 'empty')) { if ($network_map['generated']) { $data['nodes'] = __('Empty map'); + } else if ($network_map['generation_method'] == LAYOUT_RADIAL_DYNAMIC) { + $data['nodes'] = __('Dynamic'); } else { $data['nodes'] = __('Pending to generate'); }