diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 62362f97c1..c32112c39a 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,11 @@ +2012-07-24 Dario Rodriguez + + * include/functions_networkmap.php + operation/agentes/networkmap_list.php: Fixed several problems with + network maps + + MERGED FROM 4.0.2 + 2012-07-24 Miguel de Dios * godmode/servers/manage_recontask_form.php, diff --git a/pandora_console/include/functions_networkmap.php b/pandora_console/include/functions_networkmap.php index aeccbc842b..496a4ea704 100644 --- a/pandora_console/include/functions_networkmap.php +++ b/pandora_console/include/functions_networkmap.php @@ -90,7 +90,7 @@ function networkmap_generate_dot ($pandora_name, $group = 0, $simple = 0, foreach ($agents as $agent) { // Save node parent information to define edges later - if ($agent['id_parent'] != "0") { + if ($agent['id_parent'] != "0" && array_key_exists($agent['id_parent'], $node_ref)) { $parents[$node_count] = $node_ref[$agent['id_parent']]; } else { @@ -683,9 +683,14 @@ function networkmap_get_networkmap ($id_networkmap, $filter = false, $fields = f $filter['id_networkmap'] = $id_networkmap; if($check_user) { - $filter['id_user'] = $config['id_user']; - } + //If hte user has admin flag don't filter by user + $user_info = users_get_user_by_id($config['id_user']); + if (!$user_info['is_admin']) { + $filter['id_user'] = $config['id_user']; + } + } + $networkmap = db_get_row_filter ('tnetwork_map', $filter, $fields); return $networkmap; diff --git a/pandora_console/operation/agentes/networkmap_list.php b/pandora_console/operation/agentes/networkmap_list.php index d07e8c07d0..6cb4086b27 100644 --- a/pandora_console/operation/agentes/networkmap_list.php +++ b/pandora_console/operation/agentes/networkmap_list.php @@ -110,6 +110,14 @@ if ($group_search != '0') if ($type_search != '0') $where['type'] = $type_search; +//Check for maps only visible for this user +$user_info = users_get_user_by_id($config['id_user']); + +//If the user is not admin only user map are shown. +if (!$user_info['is_admin']) { + $where['id_user'] = $config['id_user']; +} + $network_maps = db_get_all_rows_filter('tnetwork_map', $where);