From 6a3c9024e134e1916c00ab5aa896d641eff90e99 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Thu, 4 Apr 2024 18:54:36 +0200 Subject: [PATCH] #13331 fixed filter in inventory --- .../include/functions_inventory.php | 19 ++++++++------ .../operation/inventory/inventory.php | 26 ++++++++++++------- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/pandora_console/include/functions_inventory.php b/pandora_console/include/functions_inventory.php index 932b1c23d7..dbf58e79f0 100644 --- a/pandora_console/include/functions_inventory.php +++ b/pandora_console/include/functions_inventory.php @@ -710,7 +710,8 @@ function inventory_get_datatable( $inventory_search_string='', $export_csv=false, $return_mode=false, - $order_by_agent=false + $order_by_agent=false, + $date_init=false, ) { global $config; @@ -750,21 +751,23 @@ function inventory_get_datatable( } if ($utimestamp > 0) { - array_push($where, 'tagente_datos_inventory.utimestamp <= '.$utimestamp.' '); + array_push($where, 'tagent_module_inventory.utimestamp <= '.$utimestamp.' '); + } + + if ($date_init !== false) { + array_push($where, 'tagent_module_inventory.utimestamp >= '.$date_init.' '); } $sql = sprintf( 'SELECT tmodule_inventory.*, tagent_module_inventory.*, tagente.alias as name_agent, - tagente_datos_inventory.utimestamp as last_update, - tagente_datos_inventory.timestamp as last_update_timestamp, - tagente_datos_inventory.data as data_inventory + tagent_module_inventory.utimestamp as last_update, + tagent_module_inventory.timestamp as last_update_timestamp, + tagent_module_inventory.data as data_inventory FROM tmodule_inventory - INNER JOIN tagent_module_inventory + LEFT JOIN tagent_module_inventory ON tmodule_inventory.id_module_inventory = tagent_module_inventory.id_module_inventory - INNER JOIN tagente_datos_inventory - ON tagent_module_inventory.id_agent_module_inventory = tagente_datos_inventory.id_agent_module_inventory LEFT JOIN tagente ON tagente.id_agente = tagent_module_inventory.id_agente diff --git a/pandora_console/operation/inventory/inventory.php b/pandora_console/operation/inventory/inventory.php index 6b569289a3..b6e53403a0 100755 --- a/pandora_console/operation/inventory/inventory.php +++ b/pandora_console/operation/inventory/inventory.php @@ -451,6 +451,8 @@ if ($is_metaconsole === true) { if ($inventory_id_agent > 0) { $sql .= ' AND id_agente = '.$inventory_id_agent; $agents_node = [$inventory_id_agent => $inventory_id_agent]; + } else { + $agents_node = [-1 => true]; } $result_module = db_get_all_rows_sql($sql); @@ -464,8 +466,7 @@ if ($is_metaconsole === true) { $export, false, $order_by_agent, - $server, - $pagination_url_parameters + $date_init ); $data_tmp['server_name'] = $connection['server_name']; @@ -497,6 +498,8 @@ if ($is_metaconsole === true) { if ($inventory_id_agent > 0) { $sql .= ' AND id_agente = '.$inventory_id_agent; $agents_node = [$inventory_id_agent => $inventory_id_agent]; + } else { + $agents_node = [-1 => true]; } $result = db_get_all_rows_sql($sql); @@ -512,8 +515,7 @@ if ($is_metaconsole === true) { $export, false, $order_by_agent, - $server, - $pagination_url_parameters + $date_init ); $data_tmp['server_name'] = $server['server_name']; @@ -1073,12 +1075,17 @@ if ($inventory_module !== 'basic') { } } } else { - // Single agent selected. - if ($inventory_id_agent > 0 && isset($agents[$inventory_id_agent]) === true) { - $agents = [$inventory_id_agent => $agents[$inventory_id_agent]]; + if ($inventory_id_agent > 0) { + // Single agent selected. + if ($inventory_id_agent > 0 && isset($agents[$inventory_id_agent]) === true) { + $agents = [$inventory_id_agent => $agents[$inventory_id_agent]]; + } + + $agents_ids = array_keys($agents); + } else { + $agents_ids = [-1]; } - $agents_ids = array_keys($agents); if (count($agents_ids) > 0) { $rows = inventory_get_datatable( $agents_ids, @@ -1087,7 +1094,8 @@ if ($inventory_module !== 'basic') { $inventory_search_string, $export, false, - $order_by_agent + $order_by_agent, + $date_init ); }