From 9f000fcc3584bdd25a5efd352168bd0bd5f8abd1 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian <daniel.cebrian@pandorafms.com> Date: Mon, 19 Feb 2024 12:47:15 +0100 Subject: [PATCH] #12909 fixed macros plugin in policies --- .../agentes/module_manager_editor_plugin.php | 11 ++--- pandora_console/include/ajax/module.php | 44 ++++++++++++++----- .../include/javascript/pandora_modules.js | 3 +- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/pandora_console/godmode/agentes/module_manager_editor_plugin.php b/pandora_console/godmode/agentes/module_manager_editor_plugin.php index abbbc4d9c1..affa225969 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_plugin.php +++ b/pandora_console/godmode/agentes/module_manager_editor_plugin.php @@ -164,12 +164,13 @@ foreach ($password_fields as $k => $p) { return; } - const moduleId = <?php echo $id_agent_module; ?>; - + const moduleId = <?php echo ($module['id_policy'] > 0) ? $module['id'] : $id_agent_module; ?>; + const isPolicy = <?php echo ($module['id_policy'] > 0) ? '1' : '0'; ?>; + load_plugin_description($("#id_plugin").val()); - - load_plugin_macros_fields('simple-macro', moduleId); - + + load_plugin_macros_fields('simple-macro', moduleId, isPolicy); + forced_title_callback(); $('select#id_plugin').select2('close'); diff --git a/pandora_console/include/ajax/module.php b/pandora_console/include/ajax/module.php index 1418024c4d..0e723cafe8 100755 --- a/pandora_console/include/ajax/module.php +++ b/pandora_console/include/ajax/module.php @@ -41,6 +41,7 @@ if (check_login()) { $get_plugin_macros = get_parameter('get_plugin_macros'); $get_module_macros = get_parameter('get_module_macros'); + $is_policy = (bool) get_parameter('is_policy', 0); $search_modules = get_parameter('search_modules'); $get_module_detail = get_parameter('get_module_detail', 0); $get_module_autocomplete_input = (bool) get_parameter( @@ -104,12 +105,22 @@ if (check_login()) { $id_plugin = get_parameter('id_plugin', 0); if ($id_plugin !== 0) { - $id_module_plugin = db_get_value( - 'id_plugin', - 'tagente_modulo', - 'id_agente_modulo', - $get_module_macros - ); + if ($is_policy === true) { + $id_module_plugin = db_get_value( + 'id_plugin', + 'tpolicy_modules', + 'id', + $get_module_macros + ); + } else { + $id_module_plugin = db_get_value( + 'id_plugin', + 'tagente_modulo', + 'id_agente_modulo', + $get_module_macros + ); + } + if ($id_plugin !== $id_module_plugin) { $get_plugin_macros = true; $get_module_macros = 0; @@ -145,12 +156,21 @@ if (check_login()) { $module_id = $get_module_macros; - $module_macros = db_get_value( - 'macros', - 'tagente_modulo', - 'id_agente_modulo', - $module_id - ); + if ($is_policy === true) { + $module_macros = db_get_value( + 'macros', + 'tpolicy_modules', + 'id', + $module_id + ); + } else { + $module_macros = db_get_value( + 'macros', + 'tagente_modulo', + 'id_agente_modulo', + $module_id + ); + } $macros = []; $macros['base64'] = base64_encode($module_macros); diff --git a/pandora_console/include/javascript/pandora_modules.js b/pandora_console/include/javascript/pandora_modules.js index b4445e0877..6b697fc2bb 100644 --- a/pandora_console/include/javascript/pandora_modules.js +++ b/pandora_console/include/javascript/pandora_modules.js @@ -1011,7 +1011,7 @@ function add_macro_field(macro, row_model_id, type_copy, k) { $("#" + row_id).show(); } -function load_plugin_macros_fields(row_model_id, moduleId = 0) { +function load_plugin_macros_fields(row_model_id, moduleId = 0, is_policy = 0) { // Get plugin macros when selected and load macros fields var id_plugin = $("#id_plugin").val(); @@ -1024,6 +1024,7 @@ function load_plugin_macros_fields(row_model_id, moduleId = 0) { params.push("get_plugin_macros=1"); } params.push("id_plugin=" + id_plugin); + params.push("is_policy=" + is_policy); jQuery.ajax({ data: params.join("&"),