diff --git a/pandora_console/godmode/setup/os_version.list.php b/pandora_console/godmode/setup/os_version.list.php index eac41fae71..3e15725793 100644 --- a/pandora_console/godmode/setup/os_version.list.php +++ b/pandora_console/godmode/setup/os_version.list.php @@ -108,7 +108,7 @@ html_print_action_buttons( echo ''; echo '
'; - +html_print_input_hidden('os_type_regex', ''); html_print_input_hidden('os_version_regex', ''); echo '
'; @@ -129,6 +129,8 @@ echo ''; item.options += '" > __('Edit'), 'class' => 'main_menu_icon invert_filter']); ?>'; item.options += ' __('Show agents'), 'class' => 'main_menu_icon invert_filter']); ?>'; @@ -140,7 +142,8 @@ echo ''; item.options += '
'; } - function redirect_to_agents_by_version(version) { + function redirect_to_agents_by_version(product, version) { + $('#hidden-os_type_regex').val(product); $('#hidden-os_version_regex').val(version); $('#redirect-form').submit(); } diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php index 7e22befbee..1cccf382ba 100644 --- a/pandora_console/include/functions_api.php +++ b/pandora_console/include/functions_api.php @@ -1528,6 +1528,7 @@ function api_set_update_agent($id_agent, $thrash2, $other, $thrash3) $learningMode = $other['data'][10]; $disabled = $other['data'][11]; $description = $other['data'][12]; + $osVersion = $other['data'][13]; // Check parameters. if ($idGroup == 0) { @@ -1623,6 +1624,7 @@ function api_set_update_agent($id_agent, $thrash2, $other, $thrash3) 'server_name' => $nameServer, 'id_parent' => $idParent, 'custom_id' => $customId, + 'os_version' => $osVersion, ], ['id_agente' => $id_agent] ); diff --git a/pandora_console/operation/agentes/estado_agente.php b/pandora_console/operation/agentes/estado_agente.php index 4235e3e14e..c27632c1fa 100644 --- a/pandora_console/operation/agentes/estado_agente.php +++ b/pandora_console/operation/agentes/estado_agente.php @@ -170,6 +170,7 @@ $recursion = get_parameter('recursion', 0); $status = (int) get_parameter('status', -1); $os = (int) get_parameter('os', 0); $os_version_regex = trim(get_parameter('os_version_regex', '')); +$os_type_regex = trim(get_parameter('os_type_regex', '')); $policies = (array) get_parameter('policies', []); $ag_custom_fields = (array) get_parameter('ag_custom_fields', []); @@ -182,6 +183,10 @@ $onheader = []; $load_filter_id = (int) get_parameter('filter_id', 0); +if (empty($os_type_regex) !== true) { + $os = (int) db_get_value_sql('SELECT id_os FROM tconfig_os WHERE `name` REGEXP "'.$os_type_regex.'"'); +} + if ($load_filter_id > 0) { $user_groups_fl = users_get_groups( $config['id_user'],