diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php
index 939a15b790..f80313287a 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_common.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_common.php
@@ -1455,18 +1455,18 @@ html_print_input_hidden('module_macro_count', $macro_count);
$table_new_relations = new stdClass();
$table_new_relations->id = 'module_new_relations';
$table_new_relations->width = '100%';
-$table_new_relations->class = 'no-class filter-table-adv';
+$table_new_relations->class = 'filter-table-adv';
$table_new_relations->data = [];
$table_new_relations->style = [];
-$table_new_relations->size[0] = '25%';
-$table_new_relations->size[1] = '25%';
-$table_new_relations->size[2] = '25%';
-$table_new_relations->size[3] = '25%';
+$table_new_relations->size[0] = '33%';
+$table_new_relations->size[1] = '33%';
+$table_new_relations->size[2] = '33%';
$params = [];
$params['return'] = true;
$params['show_helptip'] = true;
$params['input_name'] = 'autocomplete_agent_name';
+$params['helptip_text'] = '';
$params['use_hidden_input_idagent'] = true;
$params['print_hidden_input_idagent'] = true;
$params['hidden_input_idagent_id'] = 'hidden-autocomplete_id_agent';
@@ -1476,15 +1476,15 @@ $table_new_relations->data[0][0] = html_print_label_input_block(
ui_print_agent_autocomplete_input($params)
);
+
$table_new_relations->data[0][1] = html_print_label_input_block(
__('Module'),
- "
'.html_print_input_text('', '', '', false, 255, true, true, false, '', 'w100p').'
'
);
$array_rel_type = [];
$array_rel_type['direct'] = __('Direct');
$array_rel_type['failover'] = __('Failover');
-
$table_new_relations->data[0][2] = html_print_label_input_block(
__('Rel. type'),
html_print_select(
@@ -1497,43 +1497,55 @@ $table_new_relations->data[0][2] = html_print_label_input_block(
true,
false,
true,
- ''
+ 'w100p',
+ false,
+ 'width:100%'
)
);
-$table_new_relations->data[0][3] = html_print_label_input_block(
- ' ',
- '' +
- '' + agent_b_name + ' | ' +
- '' + module_b_name + ' | ' +
- '' + relation_type + ' | ' +
- '' +
+ ' | ' + agent_b_name + ' | ' +
+ '' + module_b_name + ' | ' +
+ '' + relation_type + ' | ' +
+ '' +
'' +
' 'main_menu_icon invert_filter']); ?>' +
'' +
' | ' +
- '' +
+ ' | ' +
'' +
' 'main_menu_icon invert_filter']); ?>' +
'' +
diff --git a/pandora_console/godmode/reporting/graph_container.php b/pandora_console/godmode/reporting/graph_container.php
index 370285d7bf..0ec7c6b242 100644
--- a/pandora_console/godmode/reporting/graph_container.php
+++ b/pandora_console/godmode/reporting/graph_container.php
@@ -71,11 +71,11 @@ $max_graph = $config['max_graph_container'];
$buttons['graph_list'] = [
'active' => false,
'text' => ''.html_print_image(
- 'images/list.png',
+ 'images/logs@svg.svg',
true,
[
'title' => __('Graph list'),
- 'class' => 'invert_filter',
+ 'class' => 'main_menu_icon invert_filter',
]
).'',
];
diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php
index 3494ff8f78..68ff0baf8e 100755
--- a/pandora_console/godmode/reporting/reporting_builder.php
+++ b/pandora_console/godmode/reporting/reporting_builder.php
@@ -3557,7 +3557,7 @@ switch ($action) {
$buttons = [
'list_reports' => [
'active' => false,
- 'text' => ''.html_print_image('images/report_list.png', true, ['title' => __('Reports list'), 'class' => 'invert_filter']).'',
+ 'text' => ''.html_print_image('images/logs@svg.svg', true, ['title' => __('Reports list'), 'class' => 'invert_filter main_menu_icon']).'',
],
];
diff --git a/pandora_console/godmode/users/user_list.php b/pandora_console/godmode/users/user_list.php
index a9f28ef4c6..99c121c180 100644
--- a/pandora_console/godmode/users/user_list.php
+++ b/pandora_console/godmode/users/user_list.php
@@ -1045,20 +1045,6 @@ if ($is_management_allowed === true) {
} else {
echo ''.__("The current authentication scheme doesn't support creating users on %s", get_product_name()).'';
}
-} else {
- html_print_action_buttons(
- html_print_submit_button(
- __('Create user'),
- 'none',
- true,
- [ 'icon' => 'wand' ],
- true
- ),
- [
- 'type' => 'form_action',
- 'right_content' => $tablePagination,
- ],
- );
}
?>
diff --git a/pandora_console/include/ajax/events.php b/pandora_console/include/ajax/events.php
index 45ee2efd9c..e4e9dc9937 100644
--- a/pandora_console/include/ajax/events.php
+++ b/pandora_console/include/ajax/events.php
@@ -729,7 +729,9 @@ function load_form_filter() {
$("#current_filter").text($('#filter_id option:selected').text());
// Search.
- dt_events.draw(false);
+ $("#table_events")
+ .DataTable()
+ .draw(false);
}
$(document).ready (function() {
diff --git a/pandora_console/include/functions_graph.php b/pandora_console/include/functions_graph.php
index 0d5b38f668..434c16a256 100644
--- a/pandora_console/include/functions_graph.php
+++ b/pandora_console/include/functions_graph.php
@@ -2566,7 +2566,6 @@ function graphic_agentaccess(
}
$options = [
- 'width' => 350,
'height' => 125,
'colors' => $colors,
'legend' => ['display' => false],
@@ -4809,20 +4808,6 @@ function graph_nodata_image($options)
{
global $config;
- $height = 200;
- if (isset($options['height']) === true
- && empty($options['height']) === false
- ) {
- $height = $options['height'];
- }
-
- $width_style = 'width: 200px';
- if (isset($options['width']) === true
- && empty($options['width']) === false
- ) {
- $width_style = 'width:'.$options['width'].'px';
- }
-
if ($options['base64'] === true) {
$dataImg = file_get_contents(
$config['homedir'].'/images/image_problem_area_150.png'
@@ -4835,7 +4820,7 @@ function graph_nodata_image($options)
true,
[
'title' => __('No data'),
- 'style' => $width_style,
+ 'style' => 'width: 200px;',
]
);
}
diff --git a/pandora_console/include/functions_inventory.php b/pandora_console/include/functions_inventory.php
index 050f37fe0a..f15f888bf6 100644
--- a/pandora_console/include/functions_inventory.php
+++ b/pandora_console/include/functions_inventory.php
@@ -836,13 +836,19 @@ function get_data_basic_info_sql($params, $count=false)
$order_condition = sprintf('ORDER BY %s', $params['order']);
}
+ $table = 'tagente';
+ if (is_metaconsole() === true) {
+ $table = 'tmetaconsole_agent';
+ }
+
$sql = sprintf(
'SELECT %s
- FROM tagente
+ FROM %s
%s
%s
%s',
$fields,
+ $table,
$where,
$order_condition,
$limit_condition
diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php
index 2a52aed31b..3bf0799599 100644
--- a/pandora_console/include/functions_menu.php
+++ b/pandora_console/include/functions_menu.php
@@ -81,6 +81,12 @@ function menu_print_menu(&$menu)
$sec2 = 'godmode/setup/setup§ion=gis';
} else if ($sec2 === 'enterprise/godmode/agentes/agent_autoconfiguration.definition') {
$sec2 = 'enterprise/godmode/agentes/agent_autoconfiguration';
+ } else if ($sec2 === 'enterprise/godmode/reporting/graph_template_list') {
+ $sec2 = 'godmode/reporting/graphs';
+ } else if ($sec2 === 'enterprise/godmode/reporting/graph_template_wizard') {
+ $sec2 = 'godmode/reporting/graphs';
+ } else if ($sec2 === 'godmode/reporting/graph_container') {
+ $sec2 = 'godmode/reporting/graphs';
} else if ($sec2 === 'operation/gis_maps/render_view') {
$map_id = (int) get_parameter('map_id');
if (empty($map_id) === false) {
diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php
index 6b6815b755..385db94ef8 100755
--- a/pandora_console/include/functions_modules.php
+++ b/pandora_console/include/functions_modules.php
@@ -4577,3 +4577,81 @@ function getStatuses()
'normal',
];
}
+
+
+function policies_type_modules_availables(string $sec2): array
+{
+ $network_available = db_get_sql(
+ 'SELECT count(*)
+ FROM tserver
+ WHERE server_type = '.SERVER_TYPE_NETWORK
+ );
+ $wmi_available = db_get_sql(
+ 'SELECT count(*)
+ FROM tserver
+ WHERE server_type = '.SERVER_TYPE_WMI
+ );
+ $plugin_available = db_get_sql(
+ 'SELECT count(*)
+ FROM tserver
+ WHERE server_type = '.SERVER_TYPE_PLUGIN
+ );
+ $prediction_available = db_get_sql(
+ 'SELECT count(*)
+ FROM tserver
+ WHERE server_type = '.SERVER_TYPE_PREDICTION
+ );
+ $web_available = db_get_sql(
+ 'SELECT count(*)
+ FROM tserver
+ WHERE server_type = '.SERVER_TYPE_WEB
+ );
+
+ if (is_metaconsole()) {
+ $network_available = 1;
+ $wmi_available = 1;
+ $plugin_available = 1;
+ $prediction_available = 1;
+ }
+
+ $modules = [];
+ $modules['dataserver'] = __('Create a new data server module');
+ if ($network_available) {
+ $modules['networkserver'] = __('Create a new network server module');
+ }
+
+ if ($plugin_available) {
+ $modules['pluginserver'] = __('Create a new plugin server module');
+ }
+
+ if ($wmi_available) {
+ $modules['wmiserver'] = __('Create a new WMI server module');
+ }
+
+ if ($prediction_available) {
+ $modules['predictionserver'] = __('Create a new prediction server module');
+ }
+
+ if (is_metaconsole() === true || $web_available >= '1') {
+ $modules['webserver'] = __('Create a new web Server module');
+ }
+
+ if (enterprise_installed() === true) {
+ enterprise_include('godmode/agentes/module_manager.php');
+ set_enterprise_module_types($modules);
+ }
+
+ if (strstr($sec2, 'enterprise/godmode/policies/policies') !== false) {
+ // It is unset because the policies haven't a table tmodule_synth and the
+ // some part of code to apply this kind of modules in policy agents.
+ // But in the future maybe will be good to make this feature, but remember
+ // the modules to show in syntetic module policy form must be the policy
+ // modules from the same policy.
+ unset($modules['predictionserver']);
+ if (enterprise_installed() === true) {
+ unset($modules['webux']);
+ }
+ }
+
+ return $modules;
+}
diff --git a/pandora_console/include/functions_treeview.php b/pandora_console/include/functions_treeview.php
index 0b212eb8aa..e598037684 100755
--- a/pandora_console/include/functions_treeview.php
+++ b/pandora_console/include/functions_treeview.php
@@ -921,7 +921,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
false,
'',
'white-box-content mrgn_top_0 mrgn_btn_0px border-bottom-gray',
- 'white_table_flex'
+ 'white_table_flex margin-bottom-20'
);
if (empty($server_data) === false && is_metaconsole() === true) {
@@ -951,7 +951,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
type: 'hidden',
id: 'graph-counter',
value: 1
- }).appendTo('#container');
+ }).appendTo('body');
if ($('#graph-counter').val() == 1) {
diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php
index 8eebebe339..2f88d2d86f 100755
--- a/pandora_console/include/functions_ui.php
+++ b/pandora_console/include/functions_ui.php
@@ -3760,7 +3760,7 @@ function ui_print_datatable(array $parameters)
// Base table.
$table = '';
$table .= '';
@@ -4027,6 +4027,7 @@ function ui_print_datatable(array $parameters)
$(".pagination-child-div").append($("#'.$table_id.'_wrapper > .dataTables_length"));
$(".pagination-child-div").append($("#'.$table_id.'_wrapper > .dt-buttons"));
$(".pagination-child-div").append($("#'.$table_id.'_wrapper > .dataTables_filter"));
+ $("div.spinner-fixed").hide();
},
columns: [';
@@ -4070,6 +4071,15 @@ function ui_print_datatable(array $parameters)
}
$js .= '});';
+ $js .= '
+ $(function() {
+ $(document).on("preInit.dt", function (ev, settings) {
+ // $("table#'.$table_id.'").hide();
+ $("div.dataTables_length").hide();
+ $("div.dt-buttons").hide();
+ });
+ });
+ ';
$js .= '';
@@ -4078,9 +4088,11 @@ function ui_print_datatable(array $parameters)
$info_msg_arr['message'] = $emptyTable;
$info_msg_arr['div_class'] = 'info_box_container invisible_important datatable-msg-info-'.$table_id;
+ $spinner = ' ';
+
$info_msg = ''.ui_print_info_message($info_msg_arr).' ';
$err_msg = '';
- $output = $info_msg.$err_msg.$filter.$extra.$table.$js;
+ $output = $info_msg.$err_msg.$filter.$extra.$spinner.$table.$js;
if (is_ajax() === false) {
ui_require_css_file('datatables.min', 'include/styles/js/');
ui_require_css_file('tables');
diff --git a/pandora_console/include/javascript/tree/TreeController.js b/pandora_console/include/javascript/tree/TreeController.js
index 5282cf58e4..368ebd69a9 100644
--- a/pandora_console/include/javascript/tree/TreeController.js
+++ b/pandora_console/include/javascript/tree/TreeController.js
@@ -652,13 +652,10 @@ var TreeController = {
typeof element.icon != "undefined" &&
element.icon.length > 0
) {
- console.log("a");
- console.log(controller);
$content.append(
' label,
-div.filter_input_little > label {
- width: 10em;
-}
-
form.flex-row > ul,
form.flex-row > ul > li,
form.flex-row > .box-shadow.white_table_graph {
@@ -504,7 +499,7 @@ div.multi-response-buttons {
}
.events-refr {
- width: 350px;
+ width: 300px;
display: flex;
align-items: center;
flex-direction: row-reverse;
@@ -529,3 +524,29 @@ td#save_filter_form-0-1 > input[type="radio"] {
.module-search > input[type="text"] {
margin-bottom: 6px;
}
+
+div.agent-min-w100p > span {
+ width: 400px;
+}
+
+.events-pure {
+ display: block;
+ position: initial;
+ border-radius: 0px;
+}
+
+.events-pure > .white_table_graph_header {
+ height: 45px;
+}
+
+div.menu_tab_pure {
+ margin-top: 0px !important;
+}
+
+div#main_pure:has(.events-pure) {
+ width: 99%;
+}
+
+.margn-b-50px {
+ margin-bottom: 50px !important;
+}
diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css
index 346e4c26c3..7d4ebc1e6c 100644
--- a/pandora_console/include/styles/pandora.css
+++ b/pandora_console/include/styles/pandora.css
@@ -11743,6 +11743,70 @@ div.relative > div > div#ui-datepicker-div {
width: 400px;
}
+#module_relations > thead > tr {
+ border: none !important;
+ border-bottom: 1px solid #e2e2e2 !important;
+}
+
span.help_icon_15px > img {
height: 15px !important;
}
+
+.select2-dropdown {
+ z-index: 1116 !important;
+}
+
+/* ==== Spinner ==== */
+.spinner-fixed {
+ position: fixed;
+ left: 50%;
+ bottom: 50%;
+ z-index: 1;
+ width: 100px;
+ height: 100px;
+ border-radius: 100%;
+ background: linear-gradient(#82b92e, #c1ccdc);
+ animation: animate 1.2s linear infinite;
+ margin: auto;
+ margin-bottom: 40px;
+}
+.spinner-fixed span {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ border-radius: 100%;
+ background: linear-gradient(#82b92e, #c1ccdc);
+}
+.spinner-fixed span:nth-child(1) {
+ filter: blur(4px);
+}
+.spinner-fixed span:nth-child(2) {
+ filter: blur(8px);
+}
+.spinner-fixed span:nth-child(3) {
+ filter: blur(12px);
+}
+.spinner-fixed span:nth-child(4) {
+ filter: blur(16px);
+}
+.spinner-fixed:after {
+ content: "";
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ right: 10px;
+ bottom: 10px;
+ /* background: transparent; */
+ background: #f1f1f1;
+ border: solid #fff 10px;
+ border-radius: 50%;
+}
+
+@keyframes animate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
diff --git a/pandora_console/operation/agentes/alerts_status.php b/pandora_console/operation/agentes/alerts_status.php
index ec9e330d18..fda858cbc6 100755
--- a/pandora_console/operation/agentes/alerts_status.php
+++ b/pandora_console/operation/agentes/alerts_status.php
@@ -276,8 +276,8 @@ if ((bool) check_acl($config['id_user'], $id_group, 'AW') === true || (bool) che
['text' => 'Module'],
['text' => 'Template'],
[
- 'title' => __('Actions'),
- 'text' => __('Actions'),
+ 'title' => __('Action'),
+ 'text' => __('Action'),
'style' => 'min-width: 15%;',
],
['text' => 'Last fired'],
@@ -288,7 +288,7 @@ if ((bool) check_acl($config['id_user'], $id_group, 'AW') === true || (bool) che
$columns,
['agent_module_name'],
['template_name'],
- ['actions'],
+ ['action'],
['last_fired'],
['status']
);
@@ -326,14 +326,14 @@ if (is_metaconsole() === true) {
1,
2,
3,
- 7,
+ -1,
];
} else {
$no_sortable_columns = [
0,
1,
2,
- 6,
+ -1,
];
}
}
diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php
index 3ec49048d2..12b3471241 100644
--- a/pandora_console/operation/events/events.php
+++ b/pandora_console/operation/events/events.php
@@ -1376,7 +1376,7 @@ if ($pure) {
// Floating menu - Start.
echo ' ';
- echo ' |