From 938e8cd777d47679cb8dc77768853db668a44a93 Mon Sep 17 00:00:00 2001 From: Pablo Aragon Date: Wed, 15 Mar 2023 11:30:22 +0100 Subject: [PATCH 1/6] Dashboards widgets --- pandora_console/include/ajax/module.php | 34 +++++++++++++++++-- pandora_console/include/functions_ui.php | 26 +++++++++++--- .../Dashboard/Widgets/AvgSumMaxMinModule.php | 22 ++++++------ .../lib/Dashboard/Widgets/ModulesByStatus.php | 28 +++++++++++++-- .../lib/Dashboard/Widgets/alerts_fired.php | 11 ++++-- .../lib/Dashboard/Widgets/module_icon.php | 22 ++++++------ .../lib/Dashboard/Widgets/module_status.php | 20 +++++------ .../lib/Dashboard/Widgets/module_value.php | 22 ++++++------ .../lib/Dashboard/Widgets/os_quick_report.php | 10 +++--- .../lib/Dashboard/Widgets/sla_percent.php | 22 ++++++------ pandora_console/include/styles/tables.css | 4 +++ 11 files changed, 151 insertions(+), 70 deletions(-) diff --git a/pandora_console/include/ajax/module.php b/pandora_console/include/ajax/module.php index 5b34b6860c..94e573c4bc 100755 --- a/pandora_console/include/ajax/module.php +++ b/pandora_console/include/ajax/module.php @@ -1750,7 +1750,9 @@ if (check_login()) { INNER JOIN tagente ON tagente_modulo.id_agente = tagente.id_agente INNER JOIN tagente_estado - ON tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo' + ON tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo + WHERE %s', + $where ); $recordsTotal = db_get_value_sql($sql_count); @@ -1795,6 +1797,32 @@ if (check_login()) { } } + if (in_array(0, $servers_ids) === true) { + $sql = sprintf( + 'SELECT + tagente_modulo.nombre, + tagente.alias, + tagente.id_agente, + tagente_estado.last_status_change, + tagente_estado.estado + FROM tagente_modulo + INNER JOIN tagente + ON tagente_modulo.id_agente = tagente.id_agente + INNER JOIN tagente_estado + ON tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo + WHERE %s', + $where + ); + + $res_sql = db_get_all_rows_sql($sql); + + foreach ($res_sql as $row_sql) { + $row_sql['server_name'] = __('Metaconsole'); + $row_sql['server_url'] = $config['homeurl']; + array_push($data, $row_sql); + } + } + // Drop temporary table if exist. db_process_sql('DROP TEMPORARY TABLE IF EXISTS temp_modules_status;'); @@ -1852,7 +1880,9 @@ if (check_login()) { $sql_count = sprintf( 'SELECT COUNT(*) AS "total" - FROM temp_modules_status' + FROM temp_modules_status + WHERE %s', + $where ); $recordsTotal = db_get_value_sql($sql_count); diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index 1c632d6f9e..89dc45d586 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -723,7 +723,23 @@ function ui_print_group_icon($id_group, $return=false, $path='', $style='', $lin $output .= ''.groups_get_name($id_group, true).' '; } else { if (empty($icon) === true) { - $output .= '  '; + $output .= ''; + $output .= ''; + $output .= html_print_image( + 'images/unknown@groups.svg', + true, + [ + 'style' => $style, + 'class' => 'main_menu_icon '.$class, + 'alt' => groups_get_name($id_group, true), + 'title' => groups_get_name($id_group, true), + ], + false, + false, + false, + true + ); + $output .= ''; } else { if (empty($class) === true) { $class = 'bot'; @@ -3879,8 +3895,8 @@ function ui_print_datatable(array $parameters) } $js .= 'if ($("#'.$table_id.' tr td").length == 1) { - $("div[id^=info_box_]").show(); - $("div[id^=info_box_]").removeClass(\'invisible_important\'); + $(".datatable-msg-info-'.$table_id.'").show(); + $(".datatable-msg-info-'.$table_id.'").removeClass(\'invisible_important\'); $("table#'.$table_id.'").hide(); $("div.dataTables_paginate").hide(); $("div.dataTables_info").hide(); @@ -3891,7 +3907,7 @@ function ui_print_datatable(array $parameters) $(".dataTables_paginate.paging_simple_numbers").show() } } else { - $("div[id^=info_box_]").hide(); + $(".datatable-msg-info-'.$table_id.'").hide(); $("table#'.$table_id.'").show(); $("div.dataTables_paginate").show(); $("div.dataTables_info").show(); @@ -4028,7 +4044,7 @@ function ui_print_datatable(array $parameters) // Order. $info_msg_arr = []; $info_msg_arr['message'] = $emptyTable; - $info_msg_arr['div_class'] = 'info_box_container invisible_important'; + $info_msg_arr['div_class'] = 'info_box_container invisible_important datatable-msg-info-'.$table_id; $info_msg = '
'.ui_print_info_message($info_msg_arr).'
'; $err_msg = '
'; diff --git a/pandora_console/include/lib/Dashboard/Widgets/AvgSumMaxMinModule.php b/pandora_console/include/lib/Dashboard/Widgets/AvgSumMaxMinModule.php index cf7edb70c6..033761afdf 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/AvgSumMaxMinModule.php +++ b/pandora_console/include/lib/Dashboard/Widgets/AvgSumMaxMinModule.php @@ -316,8 +316,8 @@ class AvgSumMaxMinModule extends Widget $values['unit'] = $decoder['unit']; } - if (isset($decoder['layout']) === true) { - $values['layout'] = $decoder['layout']; + if (isset($decoder['horizontal']) === true) { + $values['horizontal'] = $decoder['horizontal']; } return $values; @@ -505,14 +505,14 @@ class AvgSumMaxMinModule extends Widget ], ]; - // Layout. + // Horizontal. $inputs[] = [ - 'label' => __('Layout').ui_print_help_tip(__('Off: vertical. On: horizontal'), true), + 'label' => __('Horizontal').ui_print_help_tip(__('If not, layout is vertical'), true), 'arguments' => [ 'wrapper' => 'div', - 'name' => 'layout', + 'name' => 'horizontal', 'type' => 'switch', - 'value' => $values['layout'], + 'value' => $values['horizontal'], 'return' => true, ], ]; @@ -541,7 +541,7 @@ class AvgSumMaxMinModule extends Widget $values['sizeLabel'] = \get_parameter_switch('sizeLabel'); $values['text_color'] = \get_parameter('text_color', 0); $values['unit'] = \get_parameter_switch('unit'); - $values['layout'] = \get_parameter_switch('layout'); + $values['horizontal'] = \get_parameter_switch('horizontal'); return $values; } @@ -643,8 +643,8 @@ class AvgSumMaxMinModule extends Widget $output .= '
'; $orientation = ''; - if ((int) $this->values['layout'] === 1) { - $orientation = 'flex'; + if ((int) $this->values['horizontal'] === 1) { + $orientation = 'flex aligni_center'; } else { $orientation = 'grid'; } @@ -653,7 +653,7 @@ class AvgSumMaxMinModule extends Widget $output .= '
'; // Div value. - $output .= '
'; + $output .= '
'; if (is_numeric($data) === true) { $dataDatos = remove_right_zeros( @@ -679,7 +679,7 @@ class AvgSumMaxMinModule extends Widget if (empty($label) === false) { // Div Label. - $output .= '
'.$label.'
'; + $output .= '
'.$label.'
'; } $output .= '
'; diff --git a/pandora_console/include/lib/Dashboard/Widgets/ModulesByStatus.php b/pandora_console/include/lib/Dashboard/Widgets/ModulesByStatus.php index 21fa53d21c..2944663135 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/ModulesByStatus.php +++ b/pandora_console/include/lib/Dashboard/Widgets/ModulesByStatus.php @@ -179,7 +179,7 @@ class ModulesByStatus extends Widget // This forces at least a first configuration. // This forces at least a first configuration. $this->configurationRequired = false; - if (empty($this->values['status']) === true) { + if (empty($this->values['status']) === true && $this->values['status'] !== '0') { $this->configurationRequired = true; } @@ -311,6 +311,8 @@ class ModulesByStatus extends Widget $nodes_fields[$server['id']] = $server['server_name']; } + $nodes_fields[0] = __('Metaconsola'); + $nodes_selected = explode(',', $values['nodes']); (isset($values['nodes']) === false) ? $nodes_selected = $servers_ids : ''; @@ -369,6 +371,8 @@ class ModulesByStatus extends Widget { $this->size = parent::getSize(); + global $config; + $output = ''; if (is_metaconsole() === true) { @@ -413,7 +417,7 @@ class ModulesByStatus extends Widget [ 'id' => $tableId, 'class' => 'info_table align-left-important', - 'style' => 'width: 100%', + 'style' => 'width: 99%', 'columns' => $columns, 'column_names' => $column_names, 'ajax_url' => 'include/ajax/module', @@ -430,6 +434,26 @@ class ModulesByStatus extends Widget 'direction' => 'desc', ], 'csv' => 0, + 'pagination_options' => [ + [ + 5, + 10, + 25, + 100, + 200, + 500, + 1000, + ], + [ + 5, + 10, + 25, + 100, + 200, + 500, + 1000, + ], + ], ] ); } catch (\Exception $e) { diff --git a/pandora_console/include/lib/Dashboard/Widgets/alerts_fired.php b/pandora_console/include/lib/Dashboard/Widgets/alerts_fired.php index 68107388b4..48eeefac75 100755 --- a/pandora_console/include/lib/Dashboard/Widgets/alerts_fired.php +++ b/pandora_console/include/lib/Dashboard/Widgets/alerts_fired.php @@ -284,11 +284,16 @@ class AlertsFiredWidget extends Widget if (isset($groups) === true && is_array($groups) === true) { $table = new \StdClass(); - $table->class = 'databox data'; + $table->class = 'databox data centered'; $table->cellspacing = '0'; - $table->width = '90%'; + $table->width = '100%'; $table->data = []; $table->size = []; + $table->style = []; + $table->style[0] = 'text-align: left;'; + $table->style[1] = 'text-align: left;'; + $table->style[2] = 'text-align: left;'; + $table->style[3] = 'text-align: left;'; $url = $config['homeurl']; $url .= 'index.php?sec=estado&sec2=operation/agentes/alerts_status'; @@ -335,7 +340,7 @@ class AlertsFiredWidget extends Widget if ($flag === true) { $height = (count($table->data) * 30); $style = 'min-width:300px; min-height:'.$height.'px;'; - $output .= '
'; + $output .= '
'; $output .= html_print_table($table, true); $output .= '
'; } else { diff --git a/pandora_console/include/lib/Dashboard/Widgets/module_icon.php b/pandora_console/include/lib/Dashboard/Widgets/module_icon.php index 316e8813b3..6790d70616 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/module_icon.php +++ b/pandora_console/include/lib/Dashboard/Widgets/module_icon.php @@ -305,8 +305,8 @@ class ModuleIconWidget extends Widget $values['imageSrc'] = $decoder['imageSrc']; } - if (isset($decoder['layout']) === true) { - $values['layout'] = $decoder['layout']; + if (isset($decoder['horizontal']) === true) { + $values['horizontal'] = $decoder['horizontal']; } return $values; @@ -486,14 +486,14 @@ class ModuleIconWidget extends Widget ], ]; - // Layout. + // Horizontal. $inputs[] = [ - 'label' => __('Layout').ui_print_help_tip(__('Off: vertical. On: horizontal'), true), + 'label' => __('Horizontal').ui_print_help_tip(__('If not, layout is vertical'), true), 'arguments' => [ 'wrapper' => 'div', - 'name' => 'layout', + 'name' => 'horizontal', 'type' => 'switch', - 'value' => $values['layout'], + 'value' => $values['horizontal'], 'return' => true, ], ]; @@ -520,7 +520,7 @@ class ModuleIconWidget extends Widget $values['sizeValue'] = \get_parameter('sizeValue', 0); $values['sizeLabel'] = \get_parameter_switch('sizeLabel'); $values['sizeIcon'] = \get_parameter_switch('sizeIcon'); - $values['layout'] = \get_parameter_switch('layout'); + $values['horizontal'] = \get_parameter_switch('horizontal'); return $values; } @@ -563,7 +563,7 @@ class ModuleIconWidget extends Widget $output .= '
'; $orientation = ''; - if ((int) $this->values['layout'] === 1) { + if ((int) $this->values['horizontal'] === 1) { $orientation = 'flex aligni_center'; } else { $orientation = 'grid'; @@ -596,7 +596,7 @@ class ModuleIconWidget extends Widget // Div image. $style_icon = 'flex: 0 1 '.$sizeIcon.'px;'; - $output .= '
'; + $output .= '
'; $output .= html_print_image( 'images/console/icons/'.$icon.$color_icon.'.png', true, @@ -604,7 +604,7 @@ class ModuleIconWidget extends Widget ); $output .= '
'; // Div value. - $output .= '
'; + $output .= '
'; $output .= remove_right_zeros( number_format($data_module, $config['graph_precision'], $config['decimal_separator'], $config['thousand_separator']) ).$unit; @@ -612,7 +612,7 @@ class ModuleIconWidget extends Widget if (empty($label) === false) { // Div Label. - $output .= '
'.$label.'
'; + $output .= '
'.$label.'
'; } $output .= '
'; diff --git a/pandora_console/include/lib/Dashboard/Widgets/module_status.php b/pandora_console/include/lib/Dashboard/Widgets/module_status.php index f8b7dda933..a9e72fd528 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/module_status.php +++ b/pandora_console/include/lib/Dashboard/Widgets/module_status.php @@ -300,8 +300,8 @@ class ModuleStatusWidget extends Widget $values['imageSrc'] = $decoder['imageSrc']; } - if (isset($decoder['layout']) === true) { - $values['layout'] = $decoder['layout']; + if (isset($decoder['horizontal']) === true) { + $values['horizontal'] = $decoder['horizontal']; } return $values; @@ -465,14 +465,14 @@ class ModuleStatusWidget extends Widget ], ]; - // Layout. + // Horizontal. $inputs[] = [ - 'label' => __('Layout').ui_print_help_tip(__('Off: vertical. On: horizontal'), true), + 'label' => __('Horizontal').ui_print_help_tip(__('If not, layout is vertical'), true), 'arguments' => [ 'wrapper' => 'div', - 'name' => 'layout', + 'name' => 'horizontal', 'type' => 'switch', - 'value' => $values['layout'], + 'value' => $values['horizontal'], 'return' => true, ], ]; @@ -499,7 +499,7 @@ class ModuleStatusWidget extends Widget $values['sizeValue'] = \get_parameter('sizeValue', 0); $values['sizeLabel'] = \get_parameter_switch('sizeLabel'); $values['sizeIcon'] = \get_parameter_switch('sizeIcon'); - $values['layout'] = \get_parameter_switch('layout'); + $values['horizontal'] = \get_parameter_switch('horizontal'); return $values; } @@ -560,7 +560,7 @@ class ModuleStatusWidget extends Widget $output .= '
'; $orientation = ''; - if ((int) $this->values['layout'] === 1) { + if ((int) $this->values['horizontal'] === 1) { $orientation = 'flex aligni_center'; } else { $orientation = 'grid'; @@ -570,7 +570,7 @@ class ModuleStatusWidget extends Widget $output .= '
'; // Div image. - $output .= '
'; + $output .= '
'; $output .= html_print_image( 'images/console/icons/'.$icon, true, @@ -580,7 +580,7 @@ class ModuleStatusWidget extends Widget if (empty($label) === false) { // Div Label. - $output .= '
'.$label.'
'; + $output .= '
'.$label.'
'; } $output .= '
'; diff --git a/pandora_console/include/lib/Dashboard/Widgets/module_value.php b/pandora_console/include/lib/Dashboard/Widgets/module_value.php index 818db36b92..83521f6b25 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/module_value.php +++ b/pandora_console/include/lib/Dashboard/Widgets/module_value.php @@ -284,8 +284,8 @@ class ModuleValueWidget extends Widget $values['sizeLabel'] = $decoder['sizeLabel']; } - if (isset($decoder['layout']) === true) { - $values['layout'] = $decoder['layout']; + if (isset($decoder['horizontal']) === true) { + $values['horizontal'] = $decoder['horizontal']; } return $values; @@ -389,14 +389,14 @@ class ModuleValueWidget extends Widget ], ]; - // Layout. + // Horizontal. $inputs[] = [ - 'label' => __('Layout').ui_print_help_tip(__('Off: vertical. On: horizontal'), true), + 'label' => __('Horizontal').ui_print_help_tip(__('If not, layout is vertical'), true), 'arguments' => [ 'wrapper' => 'div', - 'name' => 'layout', + 'name' => 'horizontal', 'type' => 'switch', - 'value' => $values['layout'], + 'value' => $values['horizontal'], 'return' => true, ], ]; @@ -421,7 +421,7 @@ class ModuleValueWidget extends Widget $values['moduleId'] = \get_parameter('moduleId', 0); $values['sizeValue'] = \get_parameter('sizeValue', 0); $values['sizeLabel'] = \get_parameter_switch('sizeLabel'); - $values['layout'] = \get_parameter_switch('layout'); + $values['horizontal'] = \get_parameter_switch('horizontal'); return $values; } @@ -471,8 +471,8 @@ class ModuleValueWidget extends Widget $output .= '
'; $orientation = ''; - if ((int) $this->values['layout'] === 1) { - $orientation = 'flex'; + if ((int) $this->values['horizontal'] === 1) { + $orientation = 'flex aligni_center'; } else { $orientation = 'grid'; } @@ -481,7 +481,7 @@ class ModuleValueWidget extends Widget $output .= '
'; // Div value. - $output .= '
'; + $output .= '
'; if (is_numeric($data_module) === true) { $dataDatos = remove_right_zeros( @@ -502,7 +502,7 @@ class ModuleValueWidget extends Widget if (empty($label) === false) { // Div Label. - $output .= '
'.$label.'
'; + $output .= '
'.$label.'
'; } $output .= '
'; diff --git a/pandora_console/include/lib/Dashboard/Widgets/os_quick_report.php b/pandora_console/include/lib/Dashboard/Widgets/os_quick_report.php index f775ec7444..cd500e2972 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/os_quick_report.php +++ b/pandora_console/include/lib/Dashboard/Widgets/os_quick_report.php @@ -300,18 +300,20 @@ class OsQuickReportWidget extends Widget $table->style[1] = 'background-color: '.$values['background'].';'; $table->style[2] = 'background-color: '.$values['background'].'; font-size: 1.5em; font-weight: bolder;'; $table->style[3] = 'background-color: '.$values['background'].'; font-size: 1.5em; font-weight: bolder;'; - $table->style[4] = 'background-color: '.$values['background'].'; font-size: 1.5em; font-weight: bolder;'; - $table->style[5] = 'background-color: '.$values['background'].'; font-size: 1.5em; font-weight: bolder;'; + $table->style[4] = 'background-color: '.$values['background'].';'; + $table->style[5] = 'background-color: '.$values['background'].';'; foreach ($result as $id => $os) { $data = []; + ($os['critical'] > 0) ? $color_critical = 'color: '.COL_CRITICAL.';' : $color_critical = ''; + ($os['unknown'] > 0) ? $color_unknown = 'color: '.COL_UNKNOWN.';' : $color_unknown = ''; $data[0] = ui_print_os_icon($id, false, true); $data[1] = $os['name']; $data[2] = $os['total']; $data[3] = $os['normal']; - $data[4] = $os['critical']; - $data[5] = $os['unknown']; + $data[4] = ''.$os['critical'].''; + $data[5] = ''.$os['unknown'].''; $table->data[] = $data; } diff --git a/pandora_console/include/lib/Dashboard/Widgets/sla_percent.php b/pandora_console/include/lib/Dashboard/Widgets/sla_percent.php index 874d07fee2..2e7483d58e 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/sla_percent.php +++ b/pandora_console/include/lib/Dashboard/Widgets/sla_percent.php @@ -289,8 +289,8 @@ class SLAPercentWidget extends Widget $values['period'] = $decoder['period']; } - if (isset($decoder['layout']) === true) { - $values['layout'] = $decoder['layout']; + if (isset($decoder['horizontal']) === true) { + $values['horizontal'] = $decoder['horizontal']; } return $values; @@ -408,14 +408,14 @@ class SLAPercentWidget extends Widget ], ]; - // Layout. + // Horizontal. $inputs[] = [ - 'label' => __('Layout').ui_print_help_tip(__('Off: vertical. On: horizontal'), true), + 'label' => __('Horizontal').ui_print_help_tip(__('If not, layout is vertical'), true), 'arguments' => [ 'wrapper' => 'div', - 'name' => 'layout', + 'name' => 'horizontal', 'type' => 'switch', - 'value' => $values['layout'], + 'value' => $values['horizontal'], 'return' => true, ], ]; @@ -441,7 +441,7 @@ class SLAPercentWidget extends Widget $values['period'] = \get_parameter('period', 0); $values['sizeValue'] = \get_parameter('sizeValue', ''); $values['sizeLabel'] = \get_parameter('sizeLabel', ''); - $values['layout'] = \get_parameter_switch('layout'); + $values['horizontal'] = \get_parameter_switch('horizontal'); return $values; } @@ -516,8 +516,8 @@ class SLAPercentWidget extends Widget $output .= '
'; $orientation = ''; - if ((int) $this->values['layout'] === 1) { - $orientation = 'flex'; + if ((int) $this->values['horizontal'] === 1) { + $orientation = 'flex aligni_center'; } else { $orientation = 'grid'; } @@ -525,13 +525,13 @@ class SLAPercentWidget extends Widget // General div. $output .= '
'; // Div value. - $output .= '
'; + $output .= '
'; $output .= $sla_array['sla_fixed'].'%'; $output .= '
'; if (empty($label) === false) { // Div Label. - $output .= '
'.$label.'
'; + $output .= '
'.$label.'
'; } $output .= '
'; diff --git a/pandora_console/include/styles/tables.css b/pandora_console/include/styles/tables.css index 39b3368e69..25be958969 100644 --- a/pandora_console/include/styles/tables.css +++ b/pandora_console/include/styles/tables.css @@ -806,3 +806,7 @@ div[id^="auto-os-"] > img { .dataTables_paginate.paging_simple_numbers { margin-right: 0; } + +.w22px { + width: 22px; +} From c346aefeaa76aa323fa7a3810a4d4c5af9486553 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Wed, 15 Mar 2023 12:41:10 +0100 Subject: [PATCH 2/6] #10685 changed in system fav, tips and Tactical group view --- pandora_console/godmode/agentes/configurar_agente.php | 6 ------ pandora_console/godmode/groups/group_list.php | 5 ++--- pandora_console/godmode/groups/tactical.php | 7 ++++--- pandora_console/include/class/TipsWindow.class.php | 11 ++++++----- pandora_console/include/styles/tactical_groups.css | 3 +++ pandora_console/include/styles/tips_window.css | 9 +++++---- pandora_console/operation/agentes/group_view.php | 2 +- pandora_console/operation/agentes/ver_agente.php | 6 ++++++ pandora_console/views/dashboard/tipsWindow.php | 7 +++++-- 9 files changed, 32 insertions(+), 24 deletions(-) diff --git a/pandora_console/godmode/agentes/configurar_agente.php b/pandora_console/godmode/agentes/configurar_agente.php index 385f4a5a8c..f559b4e3eb 100644 --- a/pandora_console/godmode/agentes/configurar_agente.php +++ b/pandora_console/godmode/agentes/configurar_agente.php @@ -827,12 +827,6 @@ if ($id_agente) { 'link' => '', 'label' => $tab_name, ], - ], - [ - 'id_element' => $id_agente, - 'url' => 'godmode/agentes/configurar_agente&tab=main&id_agente='.$id_agente, - 'label' => agents_get_alias($id_agente), - 'section' => 'Agents', ] ); } diff --git a/pandora_console/godmode/groups/group_list.php b/pandora_console/godmode/groups/group_list.php index 6e604c7e1a..1afd26363e 100644 --- a/pandora_console/godmode/groups/group_list.php +++ b/pandora_console/godmode/groups/group_list.php @@ -718,7 +718,7 @@ if ($is_management_allowed === true 'tfavmenu_user', [ 'id_element' => $id_group, - 'section' => 'Tactic_group', + 'section' => 'Groups', 'id_user' => $config['id_user'], ] ); @@ -906,7 +906,6 @@ if ($tab == 'tree') { foreach ($groups as $key => $group) { $url_edit = 'index.php?sec=gagente&sec2=godmode/groups/configure_group&id_group='.$group['id_grupo']; - $url_tactical = 'index.php?sec=gagente&sec2=godmode/groups/tactical&id_group='.$group['id_grupo']; if (is_metaconsole()) { $url_delete = 'index.php?sec=gagente&sec2=godmode/groups/group_list&delete_group=1&id_group='.$group['id_grupo'].'&tab=groups'; } else { @@ -915,7 +914,7 @@ if ($tab == 'tree') { $table->data[$key][0] = $group['id_grupo']; if ($is_management_allowed === true) { - $table->data[$key][1] = ''.$group['nombre'].''; + $table->data[$key][1] = ''.$group['nombre'].''; } else { $table->data[$key][1] = $group['nombre']; } diff --git a/pandora_console/godmode/groups/tactical.php b/pandora_console/godmode/groups/tactical.php index d7984c3212..5339590bc4 100644 --- a/pandora_console/godmode/groups/tactical.php +++ b/pandora_console/godmode/groups/tactical.php @@ -72,14 +72,14 @@ if (is_metaconsole() === false) { ], [ 'link' => '', - 'label' => __('Tactic group'), + 'label' => __('Tactical group view'), ], ], [ 'id_element' => $id_group, 'url' => 'gagent&sec2=godmode/groups/tactical&id_group='.$id_group, 'label' => groups_get_name($id_group), - 'section' => 'Tactic_group', + 'section' => 'Groups', ] ); } @@ -187,7 +187,7 @@ try { [ 'id' => 'list_agents_tactical', 'class' => 'info_table', - 'style' => 'width: 100%', + 'style' => 'width: 99%', 'columns' => $columns, 'column_names' => $columnNames, 'return' => true, @@ -196,6 +196,7 @@ try { 'method' => 'getAgentsByGroup', 'id_group' => $id_group, ], + 'dom_elements' => 'lpfti', 'no_sortable_columns' => [-1], 'order' => [ 'field' => 'alias', diff --git a/pandora_console/include/class/TipsWindow.class.php b/pandora_console/include/class/TipsWindow.class.php index 6f159c8ec7..2ed452cc98 100644 --- a/pandora_console/include/class/TipsWindow.class.php +++ b/pandora_console/include/class/TipsWindow.class.php @@ -157,11 +157,12 @@ class TipsWindow View::render( 'dashboard/tipsWindow', [ - 'title' => $initialTip['title'], - 'text' => $initialTip['text'], - 'url' => $initialTip['url'], - 'files' => $initialTip['files'], - 'id' => $initialTip['id'], + 'title' => $initialTip['title'], + 'text' => $initialTip['text'], + 'url' => $initialTip['url'], + 'files' => $initialTip['files'], + 'id' => $initialTip['id'], + 'totalTips' => $this->getTotalTipsShowUser(), ] ); } diff --git a/pandora_console/include/styles/tactical_groups.css b/pandora_console/include/styles/tactical_groups.css index 383e9ef37f..1c399d1b3b 100644 --- a/pandora_console/include/styles/tactical_groups.css +++ b/pandora_console/include/styles/tactical_groups.css @@ -29,3 +29,6 @@ rect { .graph-distribution-so { margin-top: 55px; } +#list_agents_tactical_wrapper .dataTables_length { + margin-bottom: 10px; +} diff --git a/pandora_console/include/styles/tips_window.css b/pandora_console/include/styles/tips_window.css index 1fba4472d4..6e8927aa4d 100644 --- a/pandora_console/include/styles/tips_window.css +++ b/pandora_console/include/styles/tips_window.css @@ -12,7 +12,7 @@ padding: 0px; } .window { - background-image: linear-gradient(180deg, #fffce8 0%, #ffffff 100%); + background-image: white; width: 640px; width: 100%; border-radius: 5px; @@ -145,9 +145,6 @@ color: #14524f; font-weight: 600; } -#url_tip .arrow_tips { - font-size: 20px; -} span.count-round-tip { width: 6px !important; height: 6px !important; @@ -211,3 +208,7 @@ span.disable { .buttons_actions input { width: 32px; } +.hide-button { + opacity: 0; + pointer-events: none; +} diff --git a/pandora_console/operation/agentes/group_view.php b/pandora_console/operation/agentes/group_view.php index fa4d171e24..d14a3d3262 100644 --- a/pandora_console/operation/agentes/group_view.php +++ b/pandora_console/operation/agentes/group_view.php @@ -321,7 +321,7 @@ if (empty($result_groups) === false) { $link = ""; } else { $deep = groups_get_group_deep($data['_id_']); - $link = ""; + $link = ""; } $group_name = ''.ui_print_truncate_text($data['_name_'], 50).''; diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index da85b53430..b21cca1b32 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -1940,6 +1940,12 @@ if ((bool) $config['pure'] === false) { 'link' => '', 'label' => $tab_name, ], + ], + [ + 'id_element' => $id_agente, + 'url' => 'operation/agentes/ver_agente&id_agente='.$id_agente, + 'label' => agents_get_alias($id_agente), + 'section' => 'Agents', ] ); } diff --git a/pandora_console/views/dashboard/tipsWindow.php b/pandora_console/views/dashboard/tipsWindow.php index b95cf058c6..8279cfdd39 100644 --- a/pandora_console/views/dashboard/tipsWindow.php +++ b/pandora_console/views/dashboard/tipsWindow.php @@ -73,10 +73,13 @@ $output .= '

'; $output .= $text; $output .= '

'; +$link_class = 'invisible'; if (empty($url) === false && $url !== '') { - $output .= '
'.__('See more info').''; + $link_class = ''; } +$output .= ''.__('See more info').''; + $output .= '
'; $output .= '
'; @@ -116,7 +119,7 @@ if ($preview === true) { '', [ 'onclick' => 'next_tip()', - 'class' => 'mini', + 'class' => ($totalTips === '1') ? 'mini hide-button' : 'mini', ], true ); From 17ba51d2bfb0a6a841e20c6fc6244c04e20375e3 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 15 Mar 2023 13:53:23 +0100 Subject: [PATCH 3/6] cluster view --- .../include/class/SnmpConsole.class.php | 5 +- pandora_console/include/styles/pandora.css | 2 +- .../operation/agentes/estado_monitores.php | 142 ++++++++++-------- .../operation/agentes/log_sources_status.php | 25 +-- pandora_console/views/cluster/list.php | 35 ++--- pandora_console/views/cluster/view.php | 93 ++++++------ 6 files changed, 158 insertions(+), 144 deletions(-) diff --git a/pandora_console/include/class/SnmpConsole.class.php b/pandora_console/include/class/SnmpConsole.class.php index f1895dfc51..3f48eb2c22 100644 --- a/pandora_console/include/class/SnmpConsole.class.php +++ b/pandora_console/include/class/SnmpConsole.class.php @@ -259,7 +259,10 @@ class SnmpConsole extends HTML 'class' => 'snmp-td', ], 'alert', - 'action', + [ + 'text' => 'action', + 'class' => 'table_action_buttons w120px', + ], [ 'text' => 'm', 'class' => 'mw60px pdd_0px', diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index b504b76a44..c99e661547 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -8144,7 +8144,7 @@ div.graph div.legend table { overflow: hidden; background-color: var(--secondary-color); min-height: calc(100vh - 200px); - border: 1px solid #cacaca; + /* border: 1px solid #cacaca; */ } /* diff --git a/pandora_console/operation/agentes/estado_monitores.php b/pandora_console/operation/agentes/estado_monitores.php index 57f06fd940..4edd12ee5f 100755 --- a/pandora_console/operation/agentes/estado_monitores.php +++ b/pandora_console/operation/agentes/estado_monitores.php @@ -187,7 +187,7 @@ html_print_div( 'class' => 'agent_details_line', 'content' => ui_toggle( $html_toggle, - ''.__('List of modules').''.$help_not_init.ui_print_help_tip( + __('List of modules').' '.$help_not_init.ui_print_help_tip( __('To see the list of modules paginated, enable this option in the Styles Configuration.'), true ).reporting_tiny_stats( @@ -201,9 +201,9 @@ html_print_div( false, false, true, - 'box-flat agent_details_col', + '', 'white-box-content', - 'width_available' + 'box-flat white_table_graph w100p' ), ], ); @@ -543,58 +543,83 @@ function print_form_filter_monitors( $form_text = ''; $table = new stdClass(); $table->class = 'filter-table-adv'; - $table->id = 'module_filter_agent_view'; - $table->styleTable = 'border-radius: 0;padding: 0;margin: 0 0 10px;'; + // $table->id = 'module_filter_agent_view'; + // $table->styleTable = 'border-radius: 0;padding: 0;margin: 0 0 10px;'; $table->width = '100%'; - $table->cellstyle[0][0] = 'width: 0'; - $table->cellstyle[0][1] = 'width: 0'; - $table->cellstyle[0][2] = 'width: 0'; + $table->size[0] = '25%'; + $table->size[1] = '25%'; + $table->size[2] = '25%'; + $table->size[3] = '25%'; // Captions. - $table->data[0][0] = html_print_input_hidden('filter_monitors', 1, true); - $table->data[0][0] .= html_print_input_hidden('monitors_change_filter', 1, true); - $table->data[0][0] .= __('Status:'); - $table->data[0][1] = __('Free text for search (*):').ui_print_help_tip( - __('Search by module name, list matches.'), - true + $table->data[0][0] = html_print_label_input_block( + html_print_input_hidden('filter_monitors', 1, true).html_print_input_hidden( + 'monitors_change_filter', + 1, + true + ).__('Status:'), + html_print_select( + $status_list, + 'status_filter_monitor', + $status_filter_monitor, + '', + '', + 0, + true, + false, + true, + 'w100p', + false, + 'width:100%' + ) ); - $table->data[0][2] = __('Module group'); - $table->data[0][3] = __('Show in hierachy mode'); - // Inputs. - $table->data[1][0] = html_print_select( - $status_list, - 'status_filter_monitor', - $status_filter_monitor, - '', - '', - 0, - true + + $table->data[0][1] = html_print_label_input_block( + __('Free text for search (*):').ui_print_help_tip( + __('Search by module name, list matches.'), + true + ), + html_print_input_text( + 'status_text_monitor', + $status_text_monitor, + '', + '', + 100, + true + ) ); - $table->data[1][1] = html_print_input_text( - 'status_text_monitor', - $status_text_monitor, - '', - '', - 100, - true + + $table->data[0][2] = html_print_label_input_block( + __('Module group'), + html_print_select( + $rows_select, + 'status_module_group', + $status_module_group, + '', + '', + 0, + true, + false, + true, + 'w100p', + false, + 'width:100%' + ) ); - $table->data[1][2] = html_print_select( - $rows_select, - 'status_module_group', - $status_module_group, - '', - '', - 0, - true - ); - $table->data[1][3] = html_print_switch( - [ - 'name' => 'status_hierachy_mode', - 'value' => $all_events_24h, - 'onchange' => 'change_module_filter()', - 'id' => 'checkbox-status_hierachy_mode', - ] + + $table->data[0][3] = html_print_label_input_block( + __('Show in hierachy mode'), + html_print_switch( + [ + 'name' => 'status_hierachy_mode', + 'value' => $all_events_24h, + 'onchange' => 'change_module_filter()', + 'id' => 'checkbox-status_hierachy_mode', + ] + ) ); + $form_text = html_print_table($table, true); + $filtersButtons = []; $filtersButtons[] = html_print_button( @@ -603,8 +628,9 @@ function print_form_filter_monitors( false, 'filter_modules();', [ - 'icon' => 'search', - 'mode' => 'secondary mini', + 'icon' => 'search', + 'mode' => 'secondary mini', + 'style' => 'margin-left: 15px', ], true ); @@ -621,16 +647,6 @@ function print_form_filter_monitors( true ); - $table->data[1][4] = html_print_div( - [ - 'class' => 'action-buttons', - 'content' => implode('', $filtersButtons), - ], - true - ); - - $form_text .= html_print_table($table, true); - // TODO. Unused code. if ($status_filter_monitor === -1 && empty($status_text_monitor) === true && $status_module_group === -1) { $filter_hidden = true; @@ -639,4 +655,10 @@ function print_form_filter_monitors( } echo $form_text; + html_print_div( + [ + 'class' => 'action-buttons-right-forced', + 'content' => implode('', $filtersButtons), + ] + ); } diff --git a/pandora_console/operation/agentes/log_sources_status.php b/pandora_console/operation/agentes/log_sources_status.php index 9e4dd50518..bab810fa5f 100644 --- a/pandora_console/operation/agentes/log_sources_status.php +++ b/pandora_console/operation/agentes/log_sources_status.php @@ -94,6 +94,19 @@ if (!empty($table->data)) { echo '
'; html_print_table($table); echo '
'; + $html_content = ob_get_clean(); + // Create controlled toggle content. + ui_toggle( + $html_content, + __('Log sources status'), + 'log_sources_status', + !$log_sources_defined, + false, + '', + 'white_table_graph_content no-padding-imp', + 'white-box-content', + 'box-flat white_thable_graph mrgn_top_30px' + ); } else { ui_print_info_message(['no_close' => true, 'message' => __('No log sources found') ]); $log_sources_defined = false; @@ -109,18 +122,6 @@ html_print_input_hidden('redirect_search', 1, false); echo ''; -$html_content = ob_get_clean(); - -// Create controlled toggle content. -ui_toggle( - $html_content, - __('Log sources status'), - 'log_sources_status', - !$log_sources_defined, - false, - '', - 'white_table_graph_content no-padding-imp' -); ?> diff --git a/pandora_console/views/cluster/list.php b/pandora_console/views/cluster/list.php index c72f1752a1..4a4db2f36f 100644 --- a/pandora_console/views/cluster/list.php +++ b/pandora_console/views/cluster/list.php @@ -50,7 +50,7 @@ try { 'known_status', [ 'text' => 'options', - 'class' => 'action_buttons', + 'class' => 'table_action_buttons', ], ]; @@ -102,6 +102,7 @@ try { ], ], ], + 'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar', ] ); } catch (Exception $e) { @@ -109,24 +110,20 @@ try { } if (check_acl($config['id_user'], 0, 'AW')) { - HTML::printForm( + $buttons[] = html_print_submit_button( + __('New cluster'), + 'submit', + false, [ - 'form' => [ - 'method' => 'POST', - 'action' => ui_get_full_url($model->url.'&op=new'), - ], - 'inputs' => [ - [ - 'class' => 'w100p', - 'arguments' => [ - 'name' => 'submit', - 'label' => __('New cluster'), - 'type' => 'submit', - 'attributes' => 'class="sub next"', - 'return' => true, - ], - ], - ], - ] + 'class' => 'sub ok', + 'icon' => 'next', + ], + true ); + echo '
'; + html_print_action_buttons( + implode('', $buttons), + ['type' => 'form_action'] + ); + echo '
'; } diff --git a/pandora_console/views/cluster/view.php b/pandora_console/views/cluster/view.php index 775ca3e30a..a15bb1584c 100644 --- a/pandora_console/views/cluster/view.php +++ b/pandora_console/views/cluster/view.php @@ -358,17 +358,13 @@ $map_manager = new NetworkMap( * */ -$table_events = '
'; -$table_events .= '
'; -$table_events .= html_print_image( - 'images/arrow_down_green.png', - true -); -$table_events .= ''; +$table_events = '
'; +$table_events .= '
'; +$table_events .= ''; $table_events .= __('Events (Last 24h)'); -$table_events .= ''; +$table_events .= ''; $table_events .= '
'; -$table_events .= '
'; +$table_events .= '
'; $table_events .= graph_graphic_agentevents( $cluster->agent()->id_agente(), 95, @@ -384,29 +380,34 @@ $table_events .= '
'; ?>
-
-
- -
-
-
- -
- +
+
+
+ +
+
+
+ +
+ +
+
+
+
-
- -
+
+ +
+
-
printMap(); ?> @@ -414,10 +415,6 @@ $table_events .= '
';
-
- -
-
agent()->id_agente(); @@ -427,28 +424,22 @@ require_once $config['homedir'].'/operation/agentes/estado_monitores.php'; [ - 'action' => $model->url.'&op=view&id='.$cluster->id(), - 'method' => 'POST', - ], - 'inputs' => [ - [ - 'arguments' => [ - 'name' => 'submit', - 'label' => __('Reload'), - 'type' => 'submit', - 'attributes' => 'class="sub cancel"', - 'return' => true, - ], - ], - ], + 'class' => 'sub ok', + 'icon' => 'next', ], - false + true ); - -echo '
'; +echo '
'; +html_print_action_buttons( + implode('', $buttons), + ['type' => 'form_action'] +); +echo '
'; // Print always go back button. HTML::printForm($model->getGoBackForm(), false); From bed1e34fd216f9f5d28e73d3ac77635ed616bfc7 Mon Sep 17 00:00:00 2001 From: Pablo Aragon Date: Wed, 15 Mar 2023 15:58:28 +0100 Subject: [PATCH 4/6] Dashboards widgets --- .../godmode/agentes/agent_manager.php | 25 ++- .../include/class/ExternalTools.class.php | 159 +++++++++++------- .../javascript/jquery.pandora.controls.js | 39 ++--- pandora_console/include/styles/dashboards.css | 8 + .../agentes/interface_view.functions.php | 38 ++--- 5 files changed, 152 insertions(+), 117 deletions(-) diff --git a/pandora_console/godmode/agentes/agent_manager.php b/pandora_console/godmode/agentes/agent_manager.php index f524fb7d9e..9281c04e44 100644 --- a/pandora_console/godmode/agentes/agent_manager.php +++ b/pandora_console/godmode/agentes/agent_manager.php @@ -487,21 +487,18 @@ if (isset($groups[$grupo]) === true || $new_agent === true) { $tableAgent->data['primary_group'][0] .= html_print_input_hidden('grupo', $grupo, true); } -$tableAgent->data['primary_group'][0] .= html_print_div( - [ - 'content' => ui_print_group_icon( - $grupo, - true, - '', - ($id_agente === 0) ? 'display: none;' : '', - true, - false, - false, - 'after_input_icon' - ), - ], - true +$tableAgent->data['primary_group'][0] .= ''; +$tableAgent->data['primary_group'][0] .= ui_print_group_icon( + $grupo, + true, + '', + ($id_agente === 0) ? 'display: none;' : '', + true, + false, + false, + 'after_input_icon' ); +$tableAgent->data['primary_group'][0] .= ''; $tableAgent->data['caption_interval'][0] = __('Interval'); // $tableAgent->rowstyle['interval'] = 'width: 260px'; diff --git a/pandora_console/include/class/ExternalTools.class.php b/pandora_console/include/class/ExternalTools.class.php index 67345a61f8..3bcdce51ab 100644 --- a/pandora_console/include/class/ExternalTools.class.php +++ b/pandora_console/include/class/ExternalTools.class.php @@ -528,77 +528,103 @@ class ExternalTools extends HTML // Form table. $table = new StdClass(); - $table->class = 'fixed_filter_bar'; + $table->class = 'fixed_filter_bar filter-table-adv pdd_15px'; $table->id = 'externalToolTable'; - $table->cellstyle['captions'][0] = 'width: 0'; - $table->cellstyle['captions'][1] = 'width: 0'; - $table->cellstyle['captions'][2] = 'width: 0'; + $table->size[0] = '25%'; + $table->size[1] = '25%'; + $table->size[2] = '25%'; + $table->size[3] = '25%'; + $table->colspan = []; + $table->colspan[1][0] = 4; + // $table->cellclass[0][2] = 'snmpcolumn'; + // $table->cellclass[0][2] = 'snmpcolumn'; + // $table->cellclass[0][3] = 'snmpcolumn'; + // $table->cellclass[0][3] = 'snmpcolumn'; $table->data = []; - $table->data['captions'][0] = __('Operation'); - - $table->data['inputs'][0] = html_print_select( - $commandList, - 'operation', - $this->operation, - 'mostrarColumns(this.value)', - __('Please select'), - 0, - true + $table->data[0][0] = html_print_label_input_block( + __('Operation'), + html_print_select( + $commandList, + 'operation', + $this->operation, + 'mostrarColumns(this.value)', + __('Please select'), + 0, + true, + false, + true, + 'w100p', + false, + 'width: 100%;' + ) ); - $table->data['captions'][1] = __('IP Adress'); - $table->data['inputs'][1] = html_print_select( - $ipsSelect, - 'select_ips', - $principal_ip, - '', - '', - 0, - true + $table->data[0][1] = html_print_label_input_block( + __('IP Adress'), + html_print_select( + $ipsSelect, + 'select_ips', + $principal_ip, + '', + '', + 0, + true, + false, + true, + 'w100p', + false, + 'width: 100%;' + ) ); - $table->cellclass['captions'][2] = 'snmpcolumn'; - $table->cellclass['inputs'][2] = 'snmpcolumn'; - $table->data['captions'][2] = __('SNMP Version'); - $table->data['inputs'][2] = html_print_select( + $table->data[0][2] = html_print_label_input_block( + __('SNMP Version'), + html_print_select( + [ + '1' => 'v1', + '2c' => 'v2c', + ], + 'select_version', + $this->snmp_version, + '', + '', + 0, + true, + false, + true, + 'w100p', + false, + 'width: 100%;' + ), + ['div_class' => 'snmpcolumn'] + ); + + $table->data[0][3] = html_print_label_input_block( + __('SNMP Community'), + html_print_input_text( + 'community', + $this->community, + '', + 50, + 255, + true, + false, + false, + '', + 'w100p' + ), + ['div_class' => 'snmpcolumn'] + ); + + $table->data[1][0] = html_print_submit_button( + __('Execute'), + 'submit', + false, [ - '1' => 'v1', - '2c' => 'v2c', - ], - 'select_version', - $this->snmp_version, - '', - '', - 0, - true - ); - - $table->cellclass['captions'][3] = 'snmpcolumn'; - $table->cellclass['inputs'][3] = 'snmpcolumn'; - $table->data['captions'][3] = __('SNMP Community'); - $table->data['inputs'][3] = html_print_input_text( - 'community', - $this->community, - '', - 50, - 255, - true - ); - - $table->data['inputs'][4] = html_print_div( - [ - 'class' => 'action-buttons', - 'content' => html_print_submit_button( - __('Execute'), - 'submit', - false, - [ - 'icon' => 'cog', - 'mode' => 'mini', - ], - true - ), + 'icon' => 'cog', + 'mode' => 'mini', + 'class' => 'float-right mrgn_right_10px', ], true ); @@ -716,7 +742,7 @@ class ExternalTools extends HTML */ private function performExecution(string $command='', string $caption='') { - $output = ''; + $output = '
'; try { // If caption is not added, don't show anything. @@ -736,7 +762,7 @@ class ExternalTools extends HTML $output .= __('Command not response'); } - $output .= ''; + $output .= '
'; if ($resultCode !== 0) { throw new Exception( @@ -774,6 +800,8 @@ class ExternalTools extends HTML { $output = ''; + echo '
'; + if (validate_address($ip) === false) { $output .= ui_print_error_message( __('The ip or dns name entered cannot be resolved'), @@ -938,6 +966,7 @@ class ExternalTools extends HTML } } + echo '
'; return $output; } diff --git a/pandora_console/include/javascript/jquery.pandora.controls.js b/pandora_console/include/javascript/jquery.pandora.controls.js index bbb33af07d..92cd39c3ff 100644 --- a/pandora_console/include/javascript/jquery.pandora.controls.js +++ b/pandora_console/include/javascript/jquery.pandora.controls.js @@ -296,7 +296,7 @@ $.extend({ pandoraSelectGroupIcon: new (function() { this.defaults = { - alertSelect: "select#id_group", + alertSelect: "select#grupo", spanPreview: "#group_preview", debug: false }; @@ -315,25 +315,26 @@ $(this).change(function() { var id_group = this.value; + let href = $("a", config.spanPreview).attr("href"); + let hrefPosition = href.search("group_id="); + let hrefNew = href.slice(0, hrefPosition) + "group_id=" + id_group; - $(config.spanPreview).fadeOut("fast", function() { - $("img", config.spanPreview).remove(); - jQuery.post( - "ajax.php", - { - page: "godmode/groups/group_list", - get_group_json: 1, - id_group: id_group - }, - function(data) { - var img = $("").attr("src", "images/" + data["icon"]); - $(config.spanPreview) - .append(img) - .fadeIn("fast"); - }, - "json" - ); - }); + jQuery.post( + "ajax.php", + { + page: "godmode/groups/group_list", + get_group_json: 1, + id_group: id_group + }, + function(data) { + $("img", config.spanPreview).attr( + "src", + "images/" + data["icon"] + ); + $("a", config.spanPreview).attr("href", hrefNew); + }, + "json" + ); }); }); }; diff --git a/pandora_console/include/styles/dashboards.css b/pandora_console/include/styles/dashboards.css index 501cfe40da..3ac49172d4 100644 --- a/pandora_console/include/styles/dashboards.css +++ b/pandora_console/include/styles/dashboards.css @@ -843,3 +843,11 @@ div.widget-mrgn-0px > div.parent_graph { div.widget-mrgn-0px > div.parent_graph > div[id^="graph_"] { width: calc(100% + 14px) !important; } + +div.content-widget + > div.container-center + > div.centered.w90p + > div#container_show_stats + > canvas { + height: 310px; +} diff --git a/pandora_console/operation/agentes/interface_view.functions.php b/pandora_console/operation/agentes/interface_view.functions.php index 591346c526..27e4e0a3e9 100644 --- a/pandora_console/operation/agentes/interface_view.functions.php +++ b/pandora_console/operation/agentes/interface_view.functions.php @@ -146,35 +146,35 @@ function print_filters($sec) $filters .= ''; } else { - $table->style[0] = 'font-weight: bold;'; - - $table->data[0][0] = ''.__('Interfaces').''; - $table->data[0][1] = html_print_select( - [], - 'selected_interfaces[]', - '', - '', - '', - 0, - true, - true, - true, - '', - false, - 'min-width: 180px; max-width: 200px;' + $table->data[0][0] = html_print_label_input_block( + __('Interfaces'), + html_print_select( + [], + 'selected_interfaces[]', + '', + '', + '', + 0, + true, + true, + true, + '', + false, + 'min-width: 200px; max-width: 250px; min-height: 70px;' + ) ); $filters = '
'; $filters .= html_print_table($table, true); - $filters .= "
".html_print_submit_button( + $filters .= html_print_submit_button( __('Show'), 'uptbutton', false, - 'class="sub search mgn_tp_0"', + ['class' => 'float-right mini'], true - ).'
'; + ); $filters .= '
'; } From 30538265e87f6a764d9693dcaf241a47035e9f5c Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 15 Mar 2023 16:06:42 +0100 Subject: [PATCH 5/6] Cluster wizzard visual fix --- .../lib/ClusterViewer/ClusterWizard.php | 5 +++- pandora_console/views/cluster/edit.php | 30 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/pandora_console/include/lib/ClusterViewer/ClusterWizard.php b/pandora_console/include/lib/ClusterViewer/ClusterWizard.php index df7385eabf..4cc04e2318 100644 --- a/pandora_console/include/lib/ClusterViewer/ClusterWizard.php +++ b/pandora_console/include/lib/ClusterViewer/ClusterWizard.php @@ -1250,7 +1250,10 @@ class ClusterWizard extends \HTML 'name' => 'next', 'label' => $str, 'type' => 'submit', - 'attributes' => 'class="sub next"', + 'attributes' => [ + 'icon' => 'wand', + 'mode' => 'primary', + ], 'return' => true, ], ]; diff --git a/pandora_console/views/cluster/edit.php b/pandora_console/views/cluster/edit.php index 525d159bab..eb144c5e72 100644 --- a/pandora_console/views/cluster/edit.php +++ b/pandora_console/views/cluster/edit.php @@ -127,3 +127,33 @@ if (empty($form) === false) { // Print always go back button. HTML::printForm($wizard->getGoBackForm(), false); + +html_print_action_buttons( + '', + [] +); + +?> + + \ No newline at end of file From 9a21c40780347aed1302db6b86cd5c1172cd43d6 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 15 Mar 2023 16:35:49 +0100 Subject: [PATCH 6/6] Background white PDFS --- pandora_console/include/styles/pandoraPDF.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pandora_console/include/styles/pandoraPDF.css b/pandora_console/include/styles/pandoraPDF.css index 05bf20b846..05e6ec9bb9 100644 --- a/pandora_console/include/styles/pandoraPDF.css +++ b/pandora_console/include/styles/pandoraPDF.css @@ -28,6 +28,10 @@ * ============================================================================ */ +body { + background-color: white !important; +} + table.header_table { width: 100%; } @@ -211,3 +215,7 @@ table tbody td.cellBorder1 { table tbody td.cellBig { font-size: 18px; } + +table.info_table > tbody > tr:nth-child(even) { + background-color: #e5e9ed !important; +}