diff --git a/pandora_console/include/functions_networkmap.php b/pandora_console/include/functions_networkmap.php index 5351a0f50d..4b62ec61aa 100644 --- a/pandora_console/include/functions_networkmap.php +++ b/pandora_console/include/functions_networkmap.php @@ -524,85 +524,96 @@ function networkmap_generate_dot ($pandora_name, $group = 0, // Define edges for the module interfaces relations // Get the remote_snmp_proc relations $relations = modules_get_relations(); + if ($relations === false) $relations = array(); foreach ($relations as $key => $relation) { $module_a = $relation['module_a']; + $module_a_type = modules_get_agentmodule_type($module_a); $agent_a = modules_get_agentmodule_agent($module_a); $module_b = $relation['module_b']; + $module_b_type = modules_get_agentmodule_type($module_b); $agent_b = modules_get_agentmodule_agent($module_b); - if (isset($modules_node_ref[$module_a]) && - isset($modules_node_ref[$module_b])) { - $graph .= networkmap_create_edge( - $modules_node_ref[$module_a], - $modules_node_ref[$module_b], - $layout, - $nooverlap, - $pure, - $zoom, - $ranksep, - $simple, - $regen, - $font_size, - $group, - 'operation/agentes/networkmap', - 'topology', - $id_networkmap); + if ($module_a_type == 18 && $module_b_type == 18) { + if (isset($modules_node_ref[$module_a]) && + isset($modules_node_ref[$module_b])) { + $graph .= networkmap_create_edge( + $modules_node_ref[$module_a], + $modules_node_ref[$module_b], + $layout, + $nooverlap, + $pure, + $zoom, + $ranksep, + $simple, + $regen, + $font_size, + $group, + 'operation/agentes/networkmap', + 'topology', + $id_networkmap); + } } - elseif (isset($node_ref[$agent_a]) && - isset($node_ref[$agent_b])) { - $graph .= networkmap_create_edge( - $node_ref[$agent_a], - $node_ref[$agent_b], - $layout, - $nooverlap, - $pure, - $zoom, - $ranksep, - $simple, - $regen, - $font_size, - $group, - 'operation/agentes/networkmap', - 'topology', - $id_networkmap); + elseif ($module_a_type == 6 && $module_b_type == 6) { + if (isset($node_ref[$agent_a]) && + isset($node_ref[$agent_b])) { + $graph .= networkmap_create_edge( + $node_ref[$agent_a], + $node_ref[$agent_b], + $layout, + $nooverlap, + $pure, + $zoom, + $ranksep, + $simple, + $regen, + $font_size, + $group, + 'operation/agentes/networkmap', + 'topology', + $id_networkmap); + } } - elseif (isset($node_ref[$agent_a]) && - isset($modules_node_ref[$module_b])) { - $graph .= networkmap_create_edge( - $node_ref[$agent_a], - $modules_node_ref[$module_b], - $layout, - $nooverlap, - $pure, - $zoom, - $ranksep, - $simple, - $regen, - $font_size, - $group, - 'operation/agentes/networkmap', - 'topology', - $id_networkmap); + elseif ($module_a_type == 6 && $module_b_type == 18) { + if (isset($node_ref[$agent_a]) && + isset($modules_node_ref[$module_b])) { + $graph .= networkmap_create_edge( + $node_ref[$agent_a], + $modules_node_ref[$module_b], + $layout, + $nooverlap, + $pure, + $zoom, + $ranksep, + $simple, + $regen, + $font_size, + $group, + 'operation/agentes/networkmap', + 'topology', + $id_networkmap); + } } - elseif (isset($node_ref[$agent_b]) && - isset($modules_node_ref[$module_a])) { - $graph .= networkmap_create_edge( - $node_ref[$agent_b], - $modules_node_ref[$module_a], - $layout, - $nooverlap, - $pure, - $zoom, - $ranksep, - $simple, - $regen, - $font_size, - $group, - 'operation/agentes/networkmap', - 'topology', - $id_networkmap); + elseif ($module_b_type == 6 && $module_a_type == 18) { + if (isset($node_ref[$agent_b]) && + isset($modules_node_ref[$module_a])) { + $graph .= networkmap_create_edge( + $node_ref[$agent_b], + $modules_node_ref[$module_a], + $layout, + $nooverlap, + $pure, + $zoom, + $ranksep, + $simple, + $regen, + $font_size, + $group, + 'operation/agentes/networkmap', + 'topology', + $id_networkmap); + } } } diff --git a/pandora_console/operation/agentes/pandora_networkmap.php b/pandora_console/operation/agentes/pandora_networkmap.php index 0038c531e3..c6c22f3e78 100644 --- a/pandora_console/operation/agentes/pandora_networkmap.php +++ b/pandora_console/operation/agentes/pandora_networkmap.php @@ -456,7 +456,7 @@ switch ($tab) { $count = db_get_value_sql( 'SELECT COUNT(*) FROM titem - WHERE id_map = ' . $network_map['id'] . ' AND deleted = 0'); + WHERE id_map = ' . $network_map['id'] . ' AND deleted = 0 AND type = 0'); } if (empty($count)) @@ -466,7 +466,7 @@ switch ($tab) { $data['nodes'] = __('Pending to generate'); } else { - $data['nodes'] = $count; + $data['nodes'] = $count - 1; //PandoraFMS node is not an agent } $data['groups'] = ui_print_group_icon ($network_map['id_group'], true);