diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index 92cc7efb2b..69a1dd7215 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.759-220125 +Version: 7.0NG.759-220126 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 7fac24aa11..ba945cbf9a 100644 --- a/pandora_agents/unix/DEBIAN/make_deb_package.sh +++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.759-220125" +pandora_version="7.0NG.759-220126" echo "Test if you has the tools for to make the packages." whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent index 361eb971de..9da1329fa0 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -1015,7 +1015,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.759'; -use constant AGENT_BUILD => '220125'; +use constant AGENT_BUILD => '220126'; # Agent log default file size maximum and instances use constant DEFAULT_MAX_LOG_SIZE => 600000; diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index 37532911d4..037e428ed2 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.759 -%define release 220125 +%define release 220126 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 670384af51..15c29eacb6 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.759 -%define release 220125 +%define release 220126 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer index 057d1fb651..3b4b1c1c97 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.759" -PI_BUILD="220125" +PI_BUILD="220126" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index f9f5aa8c01..c4ba7798c6 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{220125} +{220126} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index 2b4e91a163..b2c0f0182f 100644 --- a/pandora_agents/win32/pandora.cc +++ b/pandora_agents/win32/pandora.cc @@ -30,7 +30,7 @@ using namespace Pandora; using namespace Pandora_Strutils; #define PATH_SIZE _MAX_PATH+1 -#define PANDORA_VERSION ("7.0NG.759 Build 220125") +#define PANDORA_VERSION ("7.0NG.759 Build 220126") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index f8ac4f45be..89e7404868 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Artica ST" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.759(Build 220125))" + VALUE "ProductVersion", "(7.0NG.759(Build 220126))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index b7d8475b9c..a38d2f4b6d 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.759-220125 +Version: 7.0NG.759-220126 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index 8ae81efb99..1fe0022220 100644 --- a/pandora_console/DEBIAN/make_deb_package.sh +++ b/pandora_console/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.759-220125" +pandora_version="7.0NG.759-220126" package_pear=0 package_pandora=1 diff --git a/pandora_console/extensions/module_groups.php b/pandora_console/extensions/module_groups.php index affcff93de..0062c25a13 100644 --- a/pandora_console/extensions/module_groups.php +++ b/pandora_console/extensions/module_groups.php @@ -302,7 +302,7 @@ function mainModuleGroups() $table->style[0] = 'color: #ffffff; background-color: #373737; font-weight: bolder; min-width: 230px;'; $table->width = '100%'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $background_color = '#333'; } else { $background_color = '#fff'; diff --git a/pandora_console/extensions/realtime_graphs.php b/pandora_console/extensions/realtime_graphs.php index cd417e3a43..908807d2d0 100644 --- a/pandora_console/extensions/realtime_graphs.php +++ b/pandora_console/extensions/realtime_graphs.php @@ -42,7 +42,7 @@ function pandora_realtime_graphs() global $config; check_login(); - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { ui_require_css_file('pandora_black', 'include/styles/', true); } diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php index 58d38e48fb..265615f28c 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_common.php +++ b/pandora_console/godmode/agentes/module_manager_editor_common.php @@ -98,7 +98,7 @@ function add_component_selection($id_network_component_type) global $table_simple; global $config; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $background_row = 'background-color: #444'; } else { $background_row = 'background-color: #cfcfcf'; diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php index 62d8aa92a0..4a8f9c64d8 100755 --- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php +++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php @@ -3914,7 +3914,7 @@ function print_SLA_list($width, $action, $idItem=null) data['ehorus_test'] = $row; // Print. echo '
'; echo ''; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { html_print_image('include/ehorus/images/ehorus-logo.png'); } else { html_print_image('include/ehorus/images/ehorus-logo-grey.png'); diff --git a/pandora_console/images/histograma.png b/pandora_console/images/histograma.png new file mode 100644 index 0000000000..1cee771613 Binary files /dev/null and b/pandora_console/images/histograma.png differ diff --git a/pandora_console/include/ajax/module.php b/pandora_console/include/ajax/module.php index c34b838ba9..c43da3e146 100755 --- a/pandora_console/include/ajax/module.php +++ b/pandora_console/include/ajax/module.php @@ -1189,14 +1189,25 @@ if (check_login()) { $data[8] = ' '; if ($module['history_data'] == 1) { + $tresholds = true; + if (empty((float) $module['min_warning']) === true + && empty((float) $module['max_warning']) === true + && empty($module['warning_inverse']) === true + && empty((float) $module['min_critical']) === true + && empty((float) $module['max_critical']) === true + && empty($module['critical_inverse']) === true + ) { + $tresholds = false; + } + $nombre_tipo_modulo = modules_get_moduletype_name($module['id_tipo_modulo']); $handle = 'stat'.$nombre_tipo_modulo.'_'.$module['id_agente_modulo']; $url = 'include/procesos.php?agente='.$module['id_agente_modulo']; $win_handle = dechex(crc32($module['id_agente_modulo'].$module['nombre'])); - // Try to display the SNMP module realtime graph + // Try to display the SNMP module realtime graph. $rt_button = get_module_realtime_link_graph($module); - if (!empty($rt_button)) { + if (empty($rt_button) === false) { $data[8] = $rt_button.'  '; } @@ -1207,6 +1218,19 @@ if (check_login()) { $draw_events = 0; } + if ($tresholds === true || $graph_type === 'boolean') { + $link = "winopeng_var('".'operation/agentes/stat_win.php?'."type=$graph_type&".'period='.SECONDS_1DAY.'&id='.$module['id_agente_modulo'].'&refresh='.SECONDS_10MINUTES.'&'."histogram=1', 'day_".$win_handle."', 800, 480)"; + $data[8] .= ''.html_print_image( + 'images/histograma.png', + true, + [ + 'border' => '0', + 'alt' => '', + 'class' => 'invert_filter', + ] + ).'   '; + } + $link = "winopeng_var('".'operation/agentes/stat_win.php?'."type=$graph_type&".'period='.SECONDS_1DAY.'&id='.$module['id_agente_modulo'].'&refresh='.SECONDS_10MINUTES.'&'."draw_events=$draw_events', 'day_".$win_handle."', 800, 480)"; if (!is_snapshot_data($module['datos'])) { $data[8] .= ''.html_print_image( @@ -1349,13 +1373,34 @@ if (check_login()) { metaconsole_connect($server); } - $output .= grafico_modulo_sparse($params); - echo $output; + if ($params['histogram'] === true) { + $params['id_agent_module'] = $params['agent_module_id']; + $params['dinamic_proc'] = 1; + + $output .= '
'; + if ($params['compare'] === 'separated') { + $graph = \reporting_module_histogram_graph( + ['datetime' => ($params['begin_date'] - $params['period'])], + $params + ); + $output .= $graph['chart']; + } + + $graph = \reporting_module_histogram_graph( + ['datetime' => $params['begin_date']], + $params + ); + $output .= $graph['chart']; + $output .= '
'; + } else { + $output .= grafico_modulo_sparse($params); + } if (is_metaconsole() === true && empty($server_id) === false) { metaconsole_restore_db(); } + echo $output; return; } diff --git a/pandora_console/include/class/HTML.class.php b/pandora_console/include/class/HTML.class.php index d5bf6dfc97..4d79456c8f 100644 --- a/pandora_console/include/class/HTML.class.php +++ b/pandora_console/include/class/HTML.class.php @@ -473,7 +473,7 @@ class HTML bool $direct=false ) { global $config; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $text_color = 'style="color: white"'; } diff --git a/pandora_console/include/class/Tree.class.php b/pandora_console/include/class/Tree.class.php index 73e19c0d38..8dd8b97698 100644 --- a/pandora_console/include/class/Tree.class.php +++ b/pandora_console/include/class/Tree.class.php @@ -669,15 +669,20 @@ class Tree // HTML of the server type image $module['serverTypeHTML'] = servers_show_type($module['server_type']); - // Link to the Module graph - // ACL + // Link to the Module graph. + // ACL. $acl_graphs = false; $module['showGraphs'] = 0; - // Avoid the check on the metaconsole. Too slow to show/hide an icon depending on the permissions - if (!empty($group_id) && !is_metaconsole()) { - $acl_graphs = check_acl_one_of_groups($config['id_user'], $all_groups, 'RR'); - } else if (!empty($all_groups)) { + // Avoid the check on the metaconsole. + // Too slow to show/hide an icon depending on the permissions. + if (empty($group_id) === false && is_metaconsole() === false) { + $acl_graphs = check_acl_one_of_groups( + $config['id_user'], + $all_groups, + 'RR' + ); + } else if (empty($all_groups) === false) { $acl_graphs = true; } @@ -686,8 +691,24 @@ class Tree } if ($module['showGraphs']) { + $tresholds = true; + if (empty((float) $module['min_warning']) === true + && empty((float) $module['max_warning']) === true + && empty($module['warning_inverse']) === true + && empty((float) $module['min_critical']) === true + && empty((float) $module['max_critical']) === true + && empty($module['critical_inverse']) === true + ) { + $tresholds = false; + } + $graphType = return_graphtype($module['id_module_type']); - $url = ui_get_full_url('operation/agentes/stat_win.php', false, false, false); + $url = ui_get_full_url( + 'operation/agentes/stat_win.php', + false, + false, + false + ); $winHandle = dechex(crc32($module['id'].$module['name'])); $graph_params = [ @@ -697,20 +718,20 @@ class Tree 'refresh' => SECONDS_10MINUTES, ]; - if (is_metaconsole()) { - // Set the server id + if (is_metaconsole() === true) { + // Set the server id. $graph_params['server'] = $module['serverID']; } $graph_params_str = http_build_query($graph_params); - $moduleGraphURL = "$url?$graph_params_str"; + $moduleGraphURL = $url.'?'.$graph_params_str; $module['moduleGraph'] = [ 'url' => $moduleGraphURL, 'handle' => $winHandle, ]; - // Info to be able to open the snapshot image new page + // Info to be able to open the snapshot image new page. $module['snapshot'] = ui_get_snapshot_link( [ 'id_module' => $module['id'], @@ -720,6 +741,16 @@ class Tree ], true ); + + if ($tresholds === true || $graphType === 'boolean') { + $graph_params['histogram'] = 1; + $graph_params_str_th = http_build_query($graph_params); + $moduleGraphURLTh = $url.'?'.$graph_params_str_th; + $module['histogramGraph'] = [ + 'url' => $moduleGraphURLTh, + 'handle' => $winHandle, + ]; + } } $module_alerts = alerts_get_alerts_agent_module($module['id']); diff --git a/pandora_console/include/class/TreeService.class.php b/pandora_console/include/class/TreeService.class.php index 9d9018665c..ebca4562a6 100644 --- a/pandora_console/include/class/TreeService.class.php +++ b/pandora_console/include/class/TreeService.class.php @@ -430,6 +430,7 @@ class TreeService extends Tree $tmp['searchChildren'] = 1; } else { $tmp['searchChildren'] = 0; + $tmp['noAcl'] = 1; } $tmp['showEventsBtn'] = 1; diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php index fc26450ece..0fa5158d1e 100644 --- a/pandora_console/include/config_process.php +++ b/pandora_console/include/config_process.php @@ -20,7 +20,7 @@ /** * Pandora build version and version */ -$build_version = 'PC220125'; +$build_version = 'PC220126'; $pandora_version = 'v7.0NG.759'; // Do not overwrite default timezone set if defined. diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php index dc7294393e..baaa10a317 100644 --- a/pandora_console/include/functions.php +++ b/pandora_console/include/functions.php @@ -4185,6 +4185,9 @@ function generator_chart_to_pdf( ) { $width_img = 650; $height_img = ($params['height'] + 50); + } else if ($type_graph_pdf === 'hbar') { + $width_img = ($params['width'] ?? 550); + $height_img = $params['height']; } else { $width_img = 550; $height_img = $params['height']; diff --git a/pandora_console/include/functions_agents.php b/pandora_console/include/functions_agents.php index 6dbac49957..98f12f9b3c 100644 --- a/pandora_console/include/functions_agents.php +++ b/pandora_console/include/functions_agents.php @@ -910,7 +910,11 @@ function agents_process_manage_config($source_id_agent, $destiny_id_agents, $cop [ 'nombre' => $module['nombre'], 'disabled' => false, - ] + ], + true, + true, + false, + false ); // Keep all modules repeated @@ -1443,7 +1447,8 @@ function agents_get_modules( $filter=false, $indexed=true, $get_not_init_modules=true, - $force_tags=false + $force_tags=false, + $filter_include_sql=true ) { global $config; @@ -1542,18 +1547,18 @@ function agents_get_modules( } } - if ($value[0] == '%') { + if ($value[0] == '%' && $filter_include_sql === true) { array_push( $fields, $field.' LIKE "'.$value.'"' ); - } else if ($operatorDistin) { + } else if ($operatorDistin && $filter_include_sql === true) { array_push($fields, $field.' <> '.substr($value, 2)); - } else if (substr($value, -1) == '%') { + } else if (substr($value, -1) == '%' && $filter_include_sql === true) { array_push($fields, $field.' LIKE "'.$value.'"'); } else if (strncmp($value, '666=666', 7) == 0) { array_push($fields, ' '.$value); - } else if (preg_match('/\bin\b/i', $field)) { + } else if (preg_match('/\bin\b/i', $field) && $filter_include_sql === true) { array_push($fields, $field.' '.$value); } else { array_push($fields, 'tagente_modulo.'.$field.' = "'.$value.'"'); @@ -3876,7 +3881,7 @@ function agents_get_status_animation($up=true) $red = 'images/heartbeat_green.gif'; $green = 'images/heartbeat_green.gif'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $red = 'images/heartbeat_green_black.gif'; $green = 'images/heartbeat_green_black.gif'; } diff --git a/pandora_console/include/functions_alerts.php b/pandora_console/include/functions_alerts.php index f308acaa0a..03ec9d8049 100644 --- a/pandora_console/include/functions_alerts.php +++ b/pandora_console/include/functions_alerts.php @@ -2183,6 +2183,7 @@ function get_group_alerts( // WHEN SELECT ALL TAGS TO FILTER ALERTS if ($action_filter) { $filter .= ' AND (talert_template_modules.id IN (SELECT id_alert_template_module FROM talert_template_module_actions where id_alert_action = '.$action_filter.'))'; + $filter .= ' OR talert_template_modules.id_alert_template IN (SELECT talert_templates.id FROM talert_templates where talert_templates.id_alert_action = '.$action_filter.')'; } if (is_array($options)) { diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php index 15fa78a74d..da9fb592cc 100644 --- a/pandora_console/include/functions_api.php +++ b/pandora_console/include/functions_api.php @@ -16590,7 +16590,11 @@ function api_get_user_info($thrash1, $thrash2, $other, $returnType) $other = json_decode(base64_decode($other['data']), true); - $sql = 'select * from tusuario where id_user = "'.$other[0]['id_user'].'" and password = "'.$other[0]['password'].'"'; + $sql = sprintf( + 'SELECT * FROM tusuario WHERE id_user = "%s" and password = "%s"', + mysql_escape_string_sql($other[0]['id_user']), + mysql_escape_string_sql($other[0]['password']) + ); $user_info = db_get_all_rows_sql($sql); diff --git a/pandora_console/include/functions_graph.php b/pandora_console/include/functions_graph.php index f561705896..995a09cffc 100644 --- a/pandora_console/include/functions_graph.php +++ b/pandora_console/include/functions_graph.php @@ -1555,7 +1555,7 @@ function graphic_combined_module( $long_index = ''; - if ($config['style'] === 'pandora_black' && ($params['pdf'] === false || $params['pdf'] === null ) + if (($config['style'] === 'pandora_black' && !is_metaconsole()) && ($params['pdf'] === false || $params['pdf'] === null ) ) { $background_color = '#222'; $params['legend_color'] = '#fff'; diff --git a/pandora_console/include/functions_html.php b/pandora_console/include/functions_html.php index 4b388b0014..885b239d2c 100644 --- a/pandora_console/include/functions_html.php +++ b/pandora_console/include/functions_html.php @@ -471,7 +471,7 @@ function html_print_select_groups( global $config; $select2_css = 'select2.min'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $select2_css = 'select2_dark.min'; } @@ -777,11 +777,11 @@ function html_print_select( if ($style === false) { $styleText = ' '; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $styleText = 'style="color: white"'; } } else { - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $style .= ' color: white'; } @@ -922,7 +922,7 @@ function html_print_select( } $select2 = 'select2.min'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $select2 = 'select2_dark.min'; } @@ -2810,7 +2810,7 @@ function html_print_input_number(array $settings):string global $config; $text_color = ''; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $text_color = 'style="color: white"'; } @@ -4287,7 +4287,7 @@ function html_print_autocomplete_modules( $text_color = ''; $module_icon = 'images/search_module.png'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $text_color = 'color: white'; $module_icon = 'images/brick.menu.png'; } @@ -4589,7 +4589,7 @@ function html_print_input($data, $wrapper='div', $input_only=false) enterprise_include_once('include/functions_metaconsole.php'); - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $style = 'style="color: white"'; } @@ -5250,7 +5250,7 @@ function html_print_autocomplete_users_from_integria( global $config; $user_icon = 'images/user_green.png'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $user_icon = 'images/header_user.png'; } @@ -5357,7 +5357,7 @@ function html_print_tabs(array $tabs) $bg_color = ''; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $bg_color = 'style="background-color: #222"'; } @@ -5459,7 +5459,7 @@ function html_print_select_search( $select2_css = 'select2.min'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $select2_css = 'select2_dark.min'; } diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php index 54de518144..b9635630a1 100755 --- a/pandora_console/include/functions_modules.php +++ b/pandora_console/include/functions_modules.php @@ -189,7 +189,11 @@ function modules_copy_agent_module_to_agent($id_agent_module, $id_destiny_agent, [ 'nombre' => $module['nombre'], 'disabled' => false, - ] + ], + true, + true, + false, + false ); // The module already exist in the target @@ -203,7 +207,11 @@ function modules_copy_agent_module_to_agent($id_agent_module, $id_destiny_agent, [ 'nombre' => $module['nombre'], 'disabled' => true, - ] + ], + true, + true, + false, + false ); // If the module exist but disabled, we enable it diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php index 63e39a652a..d4d26d8777 100755 --- a/pandora_console/include/functions_reporting.php +++ b/pandora_console/include/functions_reporting.php @@ -14165,7 +14165,7 @@ function reporting_module_histogram_graph($report, $content, $pdf=0) if (modules_is_disable_agent($content['id_agent_module']) || modules_is_not_init($content['id_agent_module']) ) { - if ($metaconsole_on) { + if ($metaconsole_on && $server_name != '') { // Restore db connection. metaconsole_restore_db(); } @@ -14189,6 +14189,9 @@ function reporting_module_histogram_graph($report, $content, $pdf=0) if ($modules_is_string === false) { if ($agentmodule_info['max_critical'] == 0) { $max_value_critical = null; + if ((bool) $content['dinamic_proc'] === true) { + $max_value_critical = 0.01; + } } else { $max_value_critical = $agentmodule_info['max_critical']; } @@ -14396,28 +14399,37 @@ function reporting_module_histogram_graph($report, $content, $pdf=0) $width_graph = 100; $height_graph = 80; - $return['chart'] = flot_slicesbar_graph( - $array_result, - $time_total, - $width_graph, - $height_graph, - $legend, - $colors, - $config['fontpath'], - $config['round_corner'], - $homeurl, - '', - '', - false, - 0, - [], - true, - $ttl, - $content['sizeForTicks'], - true - ); + if (empty($array_result) === false) { + $return['chart'] = flot_slicesbar_graph( + $array_result, + $time_total, + $width_graph, + $height_graph, + $legend, + $colors, + $config['fontpath'], + $config['round_corner'], + $homeurl, + '', + '', + false, + 0, + [], + true, + $ttl, + $content['sizeForTicks'], + true, + $report['datetime'] + ); + } else { + $return['chart'] = graph_nodata_image( + $width_graph, + $height_graph, + 'area' + ); + } - if ($metaconsole_on) { + if ($metaconsole_on && $server_name != '') { // Restore db connection. metaconsole_restore_db(); } diff --git a/pandora_console/include/functions_reporting_html.php b/pandora_console/include/functions_reporting_html.php index 34a45685d2..92e20da72e 100644 --- a/pandora_console/include/functions_reporting_html.php +++ b/pandora_console/include/functions_reporting_html.php @@ -122,7 +122,7 @@ function html_do_report_info($report) { global $config; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $background_color = '#222'; } else { $background_color = '#f5f5f5'; diff --git a/pandora_console/include/functions_tags.php b/pandora_console/include/functions_tags.php index ff0c7401fd..8fc8e6e319 100644 --- a/pandora_console/include/functions_tags.php +++ b/pandora_console/include/functions_tags.php @@ -1627,31 +1627,31 @@ function tags_get_agents_counter($id_tag, $groups_and_tags=[], $agent_filter=[], switch ($agent_status) { case AGENT_STATUS_CRITICAL: if ($critical > 0) { - $count ++; + $count++; } break; case AGENT_STATUS_WARNING: if ($total > 0 && $critical = 0 && $warning > 0) { - $count ++; + $count++; } break; case AGENT_STATUS_UNKNOWN: if ($critical == 0 && $warning == 0 && $unknown > 0) { - $count ++; + $count++; } break; case AGENT_STATUS_NOT_INIT: if ($total == 0 || $total == $not_init) { - $count ++; + $count++; } break; case AGENT_STATUS_NORMAL: if ($critical == 0 && $warning == 0 && $unknown == 0 && $normal > 0) { - $count ++; + $count++; } break; @@ -1662,23 +1662,23 @@ function tags_get_agents_counter($id_tag, $groups_and_tags=[], $agent_filter=[], } else { if (array_search(AGENT_STATUS_CRITICAL, $agent_status) !== false) { if ($critical > 0) { - $count ++; + $count++; } } else if (array_search(AGENT_STATUS_WARNING, $agent_status) !== false) { if ($total > 0 && $critical = 0 && $warning > 0) { - $count ++; + $count++; } } else if (array_search(AGENT_STATUS_UNKNOWN, $agent_status) !== false) { if ($critical == 0 && $warning == 0 && $unknown > 0) { - $count ++; + $count++; } } else if (array_search(AGENT_STATUS_NOT_INIT, $agent_status) !== false) { if ($total == 0 || $total == $not_init) { - $count ++; + $count++; } } else if (array_search(AGENT_STATUS_NORMAL, $agent_status) !== false) { if ($critical == 0 && $warning == 0 && $unknown == 0 && $normal > 0) { - $count ++; + $count++; } } // Invalid status. diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index ae4321dadd..ddf722bfd3 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -1203,7 +1203,7 @@ function ui_format_alert_row( $actions = alerts_get_alert_agent_module_actions($alert['id'], false, $alert['server_data']['id']); - if (empty($actions) === false) { + if (empty($actions) === false || $actionDefault != '') { $actionText = '
    '; foreach ($actions as $action) { $actionText .= '
  • '.$action['name']; @@ -1215,9 +1215,9 @@ function ui_format_alert_row( } $actionText .= '
'; - } else { + if ($actionDefault != '') { - $actionText = db_get_sql( + $actionText .= db_get_sql( sprintf( 'SELECT name FROM talert_actions WHERE id = %d', $actionDefault @@ -4964,7 +4964,7 @@ function ui_print_agent_autocomplete_input($parameters) // Default value. $icon_agent = 'images/search_agent.png'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $text_color = 'style="color: white"'; $icon_agent = 'images/agent_mc.menu.png'; } @@ -5820,7 +5820,7 @@ function ui_print_agent_autocomplete_input($parameters) $html = ''; $text_color = ''; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $text_color = 'color: white'; } diff --git a/pandora_console/include/graphs/fgraph.php b/pandora_console/include/graphs/fgraph.php index ec83514c46..b734fd3553 100644 --- a/pandora_console/include/graphs/fgraph.php +++ b/pandora_console/include/graphs/fgraph.php @@ -220,7 +220,7 @@ function vbar_graph( $options['x']['font']['color'] = '#545454'; if ($options['pdf'] === true) { $options['x']['font']['color'] = '#000'; - } else if ($config['style'] === 'pandora_black') { + } else if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $options['x']['font']['color'] = '#fff'; } } @@ -238,7 +238,7 @@ function vbar_graph( // Grid color axes x. if (isset($options['x']['color']) === false) { $options['x']['color'] = '#ffffff'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $options['x']['color'] = '#222'; } } @@ -305,7 +305,7 @@ function vbar_graph( $options['y']['font']['color'] = '#545454'; if ($options['pdf'] === true) { $options['y']['font']['color'] = '#000'; - } else if ($config['style'] === 'pandora_black') { + } else if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $options['y']['font']['color'] = '#fff'; } } @@ -323,7 +323,7 @@ function vbar_graph( // Grid color axes y. if (isset($options['y']['color']) === false) { $options['y']['color'] = '#ffffff'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $options['y']['color'] = '#222'; } } @@ -361,7 +361,7 @@ function vbar_graph( if (isset($options['grid']['color']) === false) { $options['grid']['color'] = '#ffffff'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $options['grid']['color'] = '#111'; } } @@ -373,7 +373,7 @@ function vbar_graph( '#ffffff', ], ]; - if ($config['style'] === 'pandora_black' && $ttl === 1) { + if ($config['style'] === 'pandora_black' && !is_metaconsole() && $ttl === 1) { $options['grid']['backgroundColor'] = [ 'colors' => [ '#222', @@ -746,11 +746,11 @@ function hbar_graph( return generator_chart_to_pdf('hbar', $params); } - if ($config['style'] === 'pandora_black' && $ttl === 1) { + if ($config['style'] === 'pandora_black' && !is_metaconsole() && $ttl === 1) { $backgroundColor = '#222'; } - if ($config['style'] === 'pandora_black' && $ttl === 1) { + if ($config['style'] === 'pandora_black' && !is_metaconsole() && $ttl === 1) { $tick_color = '#fff'; } diff --git a/pandora_console/include/graphs/functions_d3.php b/pandora_console/include/graphs/functions_d3.php index e126fc33b4..57cf3a1f43 100644 --- a/pandora_console/include/graphs/functions_d3.php +++ b/pandora_console/include/graphs/functions_d3.php @@ -202,7 +202,7 @@ function d3_bullet_chart( $font = array_shift(explode('.', array_pop(explode('/', $font)))); $invert_color = ''; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $invert_color = 'filter: invert(100%);'; } diff --git a/pandora_console/include/graphs/functions_flot.php b/pandora_console/include/graphs/functions_flot.php index 3dd139bf3a..652d61bfb6 100644 --- a/pandora_console/include/graphs/functions_flot.php +++ b/pandora_console/include/graphs/functions_flot.php @@ -146,7 +146,7 @@ function flot_area_graph( break; } - if ($config['style'] === 'pandora_black' && ($params['pdf'] === false || $params['pdf'] === null) && (isset($is_mobile) === false || $is_mobile === false) + if (($config['style'] === 'pandora_black' && !is_metaconsole()) && ($params['pdf'] === false || $params['pdf'] === null) && (isset($is_mobile) === false || $is_mobile === false) ) { $background_style = '#222'; $params['grid_color'] = '#fff'; @@ -553,11 +553,6 @@ function flot_hcolumn_chart($graph_data, $width, $height, $water_mark, $font='', { global $config; - if ($pdf === true) { - $background_color = 'white'; - $tick_color = '#000'; - } - // Include_javascript_dependencies_flot_graph(). $return = ''; diff --git a/pandora_console/include/javascript/tree/TreeController.js b/pandora_console/include/javascript/tree/TreeController.js index afa55434c0..7f22c6e9d0 100644 --- a/pandora_console/include/javascript/tree/TreeController.js +++ b/pandora_console/include/javascript/tree/TreeController.js @@ -990,6 +990,35 @@ var TreeController = { typeof element.showGraphs != "undefined" && element.showGraphs != 0 ) { + // Graph histogram pop-up + if (typeof element.histogramGraph != "undefined") { + var graphImageHistogram = $( + ' ' + ); + + graphImageHistogram + .addClass("module-graph") + .click(function(e) { + e.stopPropagation(); + try { + winopeng_var( + element.histogramGraph.url, + element.histogramGraph.handle, + 800, + 480 + ); + } catch (error) { + // console.log(error); + } + }); + + $content.append(graphImageHistogram); + } + // Graph pop-up if (typeof element.moduleGraph != "undefined") { if (element.statusImageHTML.indexOf("data:image") != -1) { @@ -1183,24 +1212,26 @@ var TreeController = { disabled == false ) { if (element.type == "agent" || element.type == "module") { - $content - .click(function(e) { - _getTreeDetailData( - element.type, - element.id, - element.serverID, - function(error, data) { - if (error) { - // console.error(error); - } else { - controller.detailRecipient - .render(element.name, data) - .open(); + if (typeof element.noAcl === "undefined") { + $content + .click(function(e) { + _getTreeDetailData( + element.type, + element.id, + element.serverID, + function(error, data) { + if (error) { + // console.error(error); + } else { + controller.detailRecipient + .render(element.name, data) + .open(); + } } - } - ); - }) - .css("cursor", "pointer"); + ); + }) + .css("cursor", "pointer"); + } } } diff --git a/pandora_console/include/lib/Dashboard/Widget.php b/pandora_console/include/lib/Dashboard/Widget.php index 617bd74cb8..320280718b 100644 --- a/pandora_console/include/lib/Dashboard/Widget.php +++ b/pandora_console/include/lib/Dashboard/Widget.php @@ -512,7 +512,7 @@ class Widget if (empty($values['background']) === true) { $values['background'] = '#ffffff'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $values['background'] = '#222222'; } } diff --git a/pandora_console/include/lib/Dashboard/Widgets/events_list.php b/pandora_console/include/lib/Dashboard/Widgets/events_list.php index 3330cc2ae6..602533e73a 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/events_list.php +++ b/pandora_console/include/lib/Dashboard/Widgets/events_list.php @@ -750,7 +750,7 @@ class EventsListWidget extends Widget $table->data[$i] = $data; $bg_color = 'background: #E8E8E8;'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $bg_color = 'background: #222;'; } diff --git a/pandora_console/include/lib/Dashboard/Widgets/graph_module_histogram.php b/pandora_console/include/lib/Dashboard/Widgets/graph_module_histogram.php index 32ca90c3cb..dba9035877 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/graph_module_histogram.php +++ b/pandora_console/include/lib/Dashboard/Widgets/graph_module_histogram.php @@ -378,6 +378,8 @@ class GraphModuleHistogramWidget extends Widget $size = parent::getSize(); + $output = ''; + // Desactive scroll bars only this item. $id_agent = $this->values['agentId']; $id_module = $this->values['moduleId']; diff --git a/pandora_console/include/lib/Dashboard/Widgets/service_view.php b/pandora_console/include/lib/Dashboard/Widgets/service_view.php index ec1749671a..d838861659 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/service_view.php +++ b/pandora_console/include/lib/Dashboard/Widgets/service_view.php @@ -318,7 +318,7 @@ class ServiceViewWidget extends Widget // Css Files. \ui_require_css_file('tree', 'include/styles/', true); - if ($config['style'] == 'pandora_black') { + if ($config['style'] == 'pandora_black' && !is_metaconsole()) { \ui_require_css_file('pandora_black', 'include/styles/', true); } diff --git a/pandora_console/include/lib/Dashboard/Widgets/tree_view.php b/pandora_console/include/lib/Dashboard/Widgets/tree_view.php index bca4c3f366..fe76b94ec0 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/tree_view.php +++ b/pandora_console/include/lib/Dashboard/Widgets/tree_view.php @@ -542,7 +542,7 @@ class TreeViewWidget extends Widget // Css Files. \ui_require_css_file('tree', 'include/styles/', true); - if ($config['style'] == 'pandora_black') { + if ($config['style'] == 'pandora_black' && !is_metaconsole()) { \ui_require_css_file('pandora_black', 'include/styles/', true); } diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 3a63daf264..3663754657 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -776,6 +776,10 @@ select:-internal-list-box { .padding-bottom-4 { padding-bottom: 4em; } + +.padding-bottom-5px { + padding-bottom: 5px; +} .padding-right-2 { padding-right: 2em; } @@ -8439,6 +8443,16 @@ div.stat-win-spinner img { color: #fff; } +.stat_win_histogram { + width: 95%; + margin: 0 auto; + margin-top: 18%; +} + +#stat-win-module-graph .stat_win_histogram div.nodata_container { + width: 100%; +} + /* For backups dt, can be useful for others */ #backups_list > thead > tr > th:last-child, #backups_list > tbody > tr > td:last-child { diff --git a/pandora_console/install.php b/pandora_console/install.php index 0c3518acac..13cdf98abd 100644 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -129,7 +129,7 @@
'; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { ui_require_css_file('pandora_black', 'include/styles/', true); } diff --git a/pandora_console/operation/agentes/realtime_win.php b/pandora_console/operation/agentes/realtime_win.php index db24c5b4b8..93850da156 100644 --- a/pandora_console/operation/agentes/realtime_win.php +++ b/pandora_console/operation/agentes/realtime_win.php @@ -64,7 +64,7 @@ if (file_exists('../../include/languages/'.$user_language.'.mo')) { $l10n->load_tables(); } -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { ui_require_css_file('pandora_black', 'include/styles/', true); } @@ -97,7 +97,7 @@ echo ' diff --git a/pandora_console/operation/agentes/snapshot_view.php b/pandora_console/operation/agentes/snapshot_view.php index fe858e1443..7f0972e813 100644 --- a/pandora_console/operation/agentes/snapshot_view.php +++ b/pandora_console/operation/agentes/snapshot_view.php @@ -79,7 +79,7 @@ if (!check_acl_one_of_groups($config['id_user'], $all_groups, 'AR')) { if ($refresh > 0) { $query = ui_get_url_refresh(false); echo ''; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { echo ''; } } diff --git a/pandora_console/operation/agentes/stat_win.php b/pandora_console/operation/agentes/stat_win.php index c7cd106421..782df21b95 100644 --- a/pandora_console/operation/agentes/stat_win.php +++ b/pandora_console/operation/agentes/stat_win.php @@ -67,7 +67,7 @@ if (file_exists('../../include/languages/'.$user_language.'.mo')) { global $config; echo ''; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { echo ''; } @@ -194,60 +194,7 @@ ui_print_message_dialog( $time_compare_separated = get_parameter('time_compare_separated', 0); $time_compare_overlapped = get_parameter('time_compare_overlapped', 0); $unknown_graph = get_parameter_checkbox('unknown_graph', 1); - - $fullscale_sent = get_parameter('fullscale_sent', 0); - if (!$fullscale_sent) { - if (isset($config['full_scale_option']) === false - || $config['full_scale_option'] == 0 - ) { - $fullscale = 0; - } else if ($config['full_scale_option'] == 1) { - $fullscale = 1; - } else if ($config['full_scale_option'] == 2) { - if ($graph_type == 'boolean') { - $fullscale = 1; - } else { - $fullscale = 0; - } - } - } else { - $fullscale = get_parameter('fullscale', 0); - } - - $type_mode_graph = get_parameter_checkbox( - 'type_mode_graph', - ($fullscale === 1) ? 0 : $config['type_mode_graph'] - ); - - $time_compare = false; - - if ($time_compare_separated) { - $time_compare = 'separated'; - } else if ($time_compare_overlapped) { - $time_compare = 'overlapped'; - } - - if ($zoom > 1) { - $height = ($height * ($zoom / 2.1)); - $width = ($width * ($zoom / 1.4)); - } - - // Build date. - $date = strtotime($start_date.' '.$start_time); - $now = time(); - - if ($date > $now) { - $date = $now; - } - - $urlImage = ui_get_full_url(false, false, false, false); - - $unit = db_get_value( - 'unit', - 'tagente_modulo', - 'id_agente_modulo', - $id - ); + $histogram = (bool) get_parameter('histogram', 0); // FORM TABLE. $table = html_get_predefined_table('transparent', 2); @@ -258,162 +205,257 @@ ui_print_message_dialog( $table->style[2] = 'text-align:left;font-weight: bold;'; $table->style[3] = 'text-align:left;'; $table->class = 'table_modal_alternate'; - $table->data = []; - $table->data[0][0] = __('Refresh time'); - $table->data[0][1] = html_print_extended_select_for_time( - 'refresh', - $refresh, - '', - '', - 0, - 7, - true - ); - $table->data[0][2] = __('Show events'); - $disabled = false; - if (isset($config['event_replication']) === true) { - if ($config['event_replication'] - && !$config['show_events_in_local'] - ) { - $disabled = true; + $time_compare = false; + + if ($time_compare_separated) { + $time_compare = 'separated'; + } else if ($time_compare_overlapped) { + $time_compare = 'overlapped'; + } + + if ($histogram === false) { + $fullscale_sent = get_parameter('fullscale_sent', 0); + if (!$fullscale_sent) { + if (isset($config['full_scale_option']) === false + || $config['full_scale_option'] == 0 + ) { + $fullscale = 0; + } else if ($config['full_scale_option'] == 1) { + $fullscale = 1; + } else if ($config['full_scale_option'] == 2) { + if ($graph_type == 'boolean') { + $fullscale = 1; + } else { + $fullscale = 0; + } + } + } else { + $fullscale = get_parameter('fullscale', 0); } - } - $table->data[0][3] = html_print_checkbox_switch( - 'draw_events', - 1, - (bool) $draw_events, - true, - $disabled - ); - if ($disabled) { - $table->data[1] .= ui_print_help_tip( - __("'Show events' is disabled because this %s node is set to event replication.", get_product_name()), - true + $type_mode_graph = get_parameter_checkbox( + 'type_mode_graph', + ($fullscale === 1) ? 0 : $config['type_mode_graph'] ); - } - $table->data[1][0] = __('Begin date'); - $table->data[1][1] = html_print_input_text( - 'start_date', - $start_date, - '', - 10, - 20, - true - ); + if ($zoom > 1) { + $height = ($height * ($zoom / 2.1)); + $width = ($width * ($zoom / 1.4)); + } - $table->data[1][2] = __('Show alerts'); - $table->data[1][3] = html_print_checkbox_switch( - 'draw_alerts', - 1, - (bool) $draw_alerts, - true - ); + // Build date. + $date = strtotime($start_date.' '.$start_time); + $now = time(); - $table->data[2][0] = __('Begin time'); - $table->data[2][1] = html_print_input_text( - 'start_time', - $start_time, - '', - 10, - 10, - true - ); + if ($date > $now) { + $date = $now; + } - $table->data[2][2] = __('Show unknown graph'); - $table->data[2][3] = html_print_checkbox_switch( - 'unknown_graph', - 1, - (bool) $unknown_graph, - true - ); + $urlImage = ui_get_full_url(false, false, false, false); - $table->data[3][0] = __('Time range'); - $table->data[3][1] = html_print_extended_select_for_time( - 'period', - $period, - '', - '', - 0, - 7, - true - ); + $unit = db_get_value( + 'unit', + 'tagente_modulo', + 'id_agente_modulo', + $id + ); - $table->data[3][2] = ''; - $table->data[3][3] = ''; - - if (!modules_is_boolean($id)) { - $table->data[4][0] = __('Zoom'); - $options = []; - $options[$zoom] = 'x'.$zoom; - $options[1] = 'x1'; - $options[2] = 'x2'; - $options[3] = 'x3'; - $options[4] = 'x4'; - $options[5] = 'x5'; - $table->data[4][1] = html_print_select( - $options, - 'zoom', - $zoom, + $table->data[0][0] = __('Refresh time'); + $table->data[0][1] = html_print_extended_select_for_time( + 'refresh', + $refresh, '', '', 0, + 7, + true + ); + + $table->data[0][2] = __('Show events'); + $disabled = false; + if (isset($config['event_replication']) === true) { + if ($config['event_replication'] + && !$config['show_events_in_local'] + ) { + $disabled = true; + } + } + + $table->data[0][3] = html_print_checkbox_switch( + 'draw_events', + 1, + (bool) $draw_events, + true, + $disabled + ); + if ($disabled) { + $table->data[1] .= ui_print_help_tip( + __("'Show events' is disabled because this %s node is set to event replication.", get_product_name()), + true + ); + } + + $table->data[1][0] = __('Begin date'); + $table->data[1][1] = html_print_input_text( + 'start_date', + $start_date, + '', + 10, + 20, + true + ); + + $table->data[1][2] = __('Show alerts'); + $table->data[1][3] = html_print_checkbox_switch( + 'draw_alerts', + 1, + (bool) $draw_alerts, + true + ); + + $table->data[2][0] = __('Begin time'); + $table->data[2][1] = html_print_input_text( + 'start_time', + $start_time, + '', + 10, + 10, + true + ); + + $table->data[2][2] = __('Show unknown graph'); + $table->data[2][3] = html_print_checkbox_switch( + 'unknown_graph', + 1, + (bool) $unknown_graph, + true + ); + + $table->data[3][0] = __('Time range'); + $table->data[3][1] = html_print_extended_select_for_time( + 'period', + $period, + '', + '', + 0, + 7, + true + ); + + $table->data[3][2] = ''; + $table->data[3][3] = ''; + + if (!modules_is_boolean($id)) { + $table->data[4][0] = __('Zoom'); + $options = []; + $options[$zoom] = 'x'.$zoom; + $options[1] = 'x1'; + $options[2] = 'x2'; + $options[3] = 'x3'; + $options[4] = 'x4'; + $options[5] = 'x5'; + $table->data[4][1] = html_print_select( + $options, + 'zoom', + $zoom, + '', + '', + 0, + true, + false, + false + ); + + $table->data[4][2] = __('Show percentil'); + $table->data[4][3] = html_print_checkbox_switch( + 'show_percentil', + 1, + (bool) $show_percentil, + true + ); + } + + $table->data[5][0] = __('Time compare (Overlapped)'); + $table->data[5][1] = html_print_checkbox_switch( + 'time_compare_overlapped', + 1, + (bool) $time_compare_overlapped, + true + ); + + $table->data[5][2] = __('Time compare (Separated)'); + $table->data[5][3] = html_print_checkbox_switch( + 'time_compare_separated', + 1, + (bool) $time_compare_separated, + true + ); + + + $table->data[6][0] = __('Show AVG/MAX/MIN data series in graph'); + $table->data[6][1] = html_print_checkbox_switch( + 'type_mode_graph', + 1, + (bool) $type_mode_graph, true, - false, false ); - $table->data[4][2] = __('Show percentil'); - $table->data[4][3] = html_print_checkbox_switch( - 'show_percentil', + $table->data[6][2] = __('Show full scale graph (TIP)'); + $table->data[6][2] .= ui_print_help_tip( + __('TIP mode charts do not support average - maximum - minimum series, you can only enable TIP or average, maximum or minimum series'), + true + ); + $table->data[6][3] = html_print_checkbox_switch( + 'fullscale', 1, - (bool) $show_percentil, + (bool) $fullscale, + true, + false + ); + } else { + $table->data[0][0] = __('Begin date'); + $table->data[0][1] = html_print_input_text( + 'start_date', + $start_date, + '', + 10, + 20, + true + ); + + $table->data[0][2] = __('Begin time'); + $table->data[0][3] = html_print_input_text( + 'start_time', + $start_time, + '', + 10, + 10, + true + ); + + $table->data[1][0] = __('Time range'); + $table->data[1][1] = html_print_extended_select_for_time( + 'period', + $period, + '', + '', + 0, + 7, + true + ); + + $table->data[1][2] = __('Time compare (Separated)'); + $table->data[1][3] = html_print_checkbox_switch( + 'time_compare_separated', + 1, + (bool) $time_compare_separated, true ); } - $table->data[5][0] = __('Time compare (Overlapped)'); - $table->data[5][1] = html_print_checkbox_switch( - 'time_compare_overlapped', - 1, - (bool) $time_compare_overlapped, - true - ); - - $table->data[5][2] = __('Time compare (Separated)'); - $table->data[5][3] = html_print_checkbox_switch( - 'time_compare_separated', - 1, - (bool) $time_compare_separated, - true - ); - - - $table->data[6][0] = __('Show AVG/MAX/MIN data series in graph'); - $table->data[6][1] = html_print_checkbox_switch( - 'type_mode_graph', - 1, - (bool) $type_mode_graph, - true, - false - ); - - $table->data[6][2] = __('Show full scale graph (TIP)'); - $table->data[6][2] .= ui_print_help_tip( - __('TIP mode charts do not support average - maximum - minimum series, you can only enable TIP or average, maximum or minimum series'), - true - ); - $table->data[6][3] = html_print_checkbox_switch( - 'fullscale', - 1, - (bool) $fullscale, - true, - false - ); - $form_table = html_print_table($table, true); $form_table .= '
'; $form_table .= html_print_submit_button( @@ -434,6 +476,8 @@ ui_print_message_dialog( $menu_form .= html_print_input_hidden('server', $server_id, true); } + $menu_form .= html_print_input_hidden('histogram', $histogram, true); + if (isset($_GET['type']) === true) { $type = get_parameter_get('type'); $menu_form .= html_print_input_hidden('type', $type, true); @@ -460,7 +504,13 @@ ui_print_message_dialog( ); $menu_form .= ''; $menu_form .= '
'; - $menu_form .= ''; @@ -497,6 +547,8 @@ ui_print_message_dialog( 'zoom' => $zoom, 'height' => 300, 'type_mode_graph' => $type_mode_graph, + 'histogram' => $histogram, + 'begin_date' => strtotime($start_date.' '.$start_time), ]; // Graph. diff --git a/pandora_console/operation/agentes/status_monitor.php b/pandora_console/operation/agentes/status_monitor.php index 16961214cf..5e5ab2b43f 100644 --- a/pandora_console/operation/agentes/status_monitor.php +++ b/pandora_console/operation/agentes/status_monitor.php @@ -1725,6 +1725,17 @@ $table->data[4][0] .= __('Not condition').' '.ui_print_help_tip(__('If you } if ($row['history_data'] == 1 && $acl_graphs) { + $tresholds = true; + if (empty((float) $module['min_warning']) === true + && empty((float) $module['max_warning']) === true + && empty($module['warning_inverse']) === true + && empty((float) $module['min_critical']) === true + && empty((float) $module['max_critical']) === true + && empty($module['critical_inverse']) === true + ) { + $tresholds = false; + } + $graph_type = return_graphtype($row['module_type']); $url = ui_get_full_url('operation/agentes/stat_win.php', false, false, false); @@ -1738,6 +1749,10 @@ $table->data[4][0] .= __('Not condition').' '.ui_print_help_tip(__('If you 'refresh' => SECONDS_10MINUTES, ]; + if ($tresholds === true || $graph_type === 'boolean') { + $graph_params['histogram'] = 1; + } + if (is_metaconsole() && isset($row['server_id'])) { // Set the server id. $graph_params['server'] = $row['server_id']; @@ -1749,6 +1764,18 @@ $table->data[4][0] .= __('Not condition').' '.ui_print_help_tip(__('If you $data[8] = get_module_realtime_link_graph($row); + if ($tresholds === true || $graph_type === 'boolean') { + $data[8] .= '
'.html_print_image( + 'images/histograma.png', + true, + [ + 'border' => '0', + 'alt' => '', + 'class' => 'invert_filter', + ] + ).''; + } + if (!is_snapshot_data($row['datos'])) { $data[8] .= ''.html_print_image('images/chart.png', true, ['border' => '0', 'alt' => '', 'class' => 'invert_filter']).''; } diff --git a/pandora_console/operation/agentes/tactical.php b/pandora_console/operation/agentes/tactical.php index b4430ef128..c1274fdc47 100755 --- a/pandora_console/operation/agentes/tactical.php +++ b/pandora_console/operation/agentes/tactical.php @@ -147,7 +147,7 @@ echo ''; // The status horizontal bars (Global health, Monitor sanity... // --------------------------------------------------------------------- $bg_color = 'background-color: #222'; -if ($config['style'] !== 'pandora_black') { +if ($config['style'] !== 'pandora_black' && !is_metaconsole()) { $bg_color = 'background-color: #fff'; } diff --git a/pandora_console/operation/events/sound_events.php b/pandora_console/operation/events/sound_events.php index 3881f468ae..8959ae2f47 100644 --- a/pandora_console/operation/events/sound_events.php +++ b/pandora_console/operation/events/sound_events.php @@ -72,7 +72,7 @@ echo ''.__('Sound Events').''; '; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { echo ''; } else { echo ''; diff --git a/pandora_console/operation/incidents/configure_integriaims_incident.php b/pandora_console/operation/incidents/configure_integriaims_incident.php index a6100eaf78..997391a781 100644 --- a/pandora_console/operation/incidents/configure_integriaims_incident.php +++ b/pandora_console/operation/incidents/configure_integriaims_incident.php @@ -225,7 +225,7 @@ $table->data[0][0] .= '
'.html_print_input_text( ).'
'; $integria_logo = 'images/integria_logo_gray.png'; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $integria_logo = 'images/integria_logo.svg'; } diff --git a/pandora_console/operation/reporting/reporting_viewer.php b/pandora_console/operation/reporting/reporting_viewer.php index 6fef0568b2..d932a5f477 100755 --- a/pandora_console/operation/reporting/reporting_viewer.php +++ b/pandora_console/operation/reporting/reporting_viewer.php @@ -65,6 +65,42 @@ if ($enable_init_date) { $period = ($datetime - $datetime_init); } +// Shchedule report email. +$schedule_report = get_parameter('schbutton', ''); + +if (empty($schedule_report) === false) { + $id_user_task = 1; + $scheduled = 'no'; + $date = date(DATE_FORMAT); + $time = date(TIME_FORMAT); + $parameters[0] = get_parameter('id_schedule_report'); + $parameters[1] = get_parameter('schedule_email_address'); + $parameters[2] = get_parameter('schedule_subject', ''); + $parameters[3] = get_parameter('schedule_email', ''); + $parameters[4] = get_parameter('report_type', ''); + $parameters['first_execution'] = strtotime($date.' '.$time); + + + $values = [ + 'id_usuario' => $config['id_user'], + 'id_user_task' => $id_user_task, + 'args' => serialize($parameters), + 'scheduled' => $scheduled, + 'flag_delete' => 1, + ]; + + $result = db_process_sql_insert('tuser_task_scheduled', $values); + + $report_type = $parameters[4]; + + ui_print_result_message( + $result, + __('Your report has been planned, and the system will email you a '.$report_type.' file with the report as soon as its finished'), + __('An error has ocurred') + ); + echo '
'; +} + // ------------------- INIT HEADER -------------------------------------- $url = "index.php?sec=reporting&sec2=operation/reporting/reporting_viewer&id=$id_report&date=$date&time=$time&pure=$pure"; @@ -249,16 +285,18 @@ if (reporting_get_description($id_report)) { $table->data[0][1] = '
'.reporting_get_name($id_report).'
'; } -$table->data[0][1] .= '
'.__('Set initial date').html_print_checkbox('enable_init_date', 1, $enable_init_date, true); -$html_enterprise = enterprise_hook( - 'reporting_print_button_PDF', - [$id_report] -); -if ($html_enterprise !== ENTERPRISE_NOT_HOOK) { - $table->data[0][1] .= $html_enterprise; +$table->data[0][1] .= '
'.__('Set initial date').html_print_checkbox('enable_init_date', 1, $enable_init_date, true).'
'; + +$html_menu_export = enterprise_hook('reporting_print_button_export'); +if ($html_menu_export === ENTERPRISE_NOT_HOOK) { + $html_menu_export = ''; } + $table->data[0][1] .= '
'; +$table->data[0][1] .= $html_menu_export; + + $table->data[1][1] = '
'.__('From').':
'; $table->data[1][1] .= html_print_input_text('date_init', $date_init, '', 12, 10, true).' '; diff --git a/pandora_console/operation/search_agents.php b/pandora_console/operation/search_agents.php index 9fe7d7f9ce..de6461ccec 100755 --- a/pandora_console/operation/search_agents.php +++ b/pandora_console/operation/search_agents.php @@ -36,7 +36,8 @@ if (!$agents || !$searchAgents) { $table->width = '98%'; $table->class = 'databox'; - $table->head = []; + $table->head = []; + if ($only_count) { $table->head[0] = __('Agent'); $table->head[1] = __('Description'); @@ -57,6 +58,18 @@ if (!$agents || !$searchAgents) { $table->head[8] = __('Last contact').' '.''.html_print_image('images/sort_up.png', true, ['style' => $selectLastContactUp]).''.''.html_print_image('images/sort_down.png', true, ['style' => $selectLastContactDown]).''; $table->head[9] = ''; + $table->headstyle = []; + $table->headstyle[0] = 'text-align: left'; + $table->headstyle[1] = 'text-align: left'; + $table->headstyle[2] = 'text-align: left'; + $table->headstyle[3] = 'text-align: left'; + $table->headstyle[4] = 'text-align: left'; + $table->headstyle[5] = 'text-align: left'; + $table->headstyle[6] = 'text-align: left'; + $table->headstyle[7] = 'text-align: left'; + $table->headstyle[8] = 'text-align: left'; + $table->headstyle[9] = 'text-align: center'; + $table->align = []; $table->align[0] = 'left'; $table->align[1] = 'left'; diff --git a/pandora_console/operation/search_alerts.php b/pandora_console/operation/search_alerts.php index 76beda6166..90e55a963e 100755 --- a/pandora_console/operation/search_alerts.php +++ b/pandora_console/operation/search_alerts.php @@ -42,6 +42,13 @@ if ($alerts === false || $totalAlerts == 0 || !$searchAlerts) { $table->align[3] = 'left'; $table->align[4] = 'left'; + $table->headstyle = []; + $table->headstyle[0] = 'text-align: center'; + $table->headstyle[1] = 'text-align: left'; + $table->headstyle[2] = 'text-align: left'; + $table->headstyle[3] = 'text-align: left'; + $table->headstyle[4] = 'text-align: left'; + $table->valign = []; $table->valign[0] = 'top'; $table->valign[1] = 'top'; diff --git a/pandora_console/operation/search_graphs.php b/pandora_console/operation/search_graphs.php index 8f76f0dea8..0150d2f56c 100755 --- a/pandora_console/operation/search_graphs.php +++ b/pandora_console/operation/search_graphs.php @@ -29,6 +29,10 @@ if ($graphs === false || !$searchGraphs) { $table->head[0] = __('Graph name'); $table->head[1] = __('Description'); + $table->headstyle = []; + $table->headstyle[0] = 'text-align: left'; + $table->headstyle[1] = 'text-align: left'; + $table->data = []; foreach ($graphs as $graph) { array_push( diff --git a/pandora_console/operation/search_main.php b/pandora_console/operation/search_main.php index 813ef1b004..58f75e0ca5 100644 --- a/pandora_console/operation/search_main.php +++ b/pandora_console/operation/search_main.php @@ -32,21 +32,21 @@ $table->id = 'summary'; $table->width = '98%'; $table->style = []; -$table->style[0] = 'font-weight: bold; text-align: center;'; -$table->style[1] = 'font-weight: bold; text-align: center;'; -$table->style[2] = 'font-weight: bold; text-align: center;'; -$table->style[3] = 'font-weight: bold; text-align: center;'; -$table->style[4] = 'font-weight: bold; text-align: center;'; -$table->style[5] = 'font-weight: bold; text-align: center;'; -$table->style[6] = 'font-weight: bold; text-align: center;'; -$table->style[7] = 'font-weight: bold; text-align: center;'; -$table->style[8] = 'font-weight: bold; text-align: center;'; -$table->style[9] = 'font-weight: bold; text-align: center;'; -$table->style[10] = 'font-weight: bold; text-align: center;'; -$table->style[11] = 'font-weight: bold; text-align: center;'; -$table->style[13] = 'font-weight: bold; text-align: center;'; -$table->style[14] = 'font-weight: bold; text-align: center;'; -$table->style[15] = 'font-weight: bold; text-align: center;'; +$table->style[0] = 'font-weight: bold; text-align: left;'; +$table->style[1] = 'font-weight: bold; text-align: left;'; +$table->style[2] = 'font-weight: bold; text-align: left;'; +$table->style[3] = 'font-weight: bold; text-align: left;'; +$table->style[4] = 'font-weight: bold; text-align: left;'; +$table->style[5] = 'font-weight: bold; text-align: left;'; +$table->style[6] = 'font-weight: bold; text-align: left;'; +$table->style[7] = 'font-weight: bold; text-align: left;'; +$table->style[8] = 'font-weight: bold; text-align: left;'; +$table->style[9] = 'font-weight: bold; text-align: left;'; +$table->style[10] = 'font-weight: bold; text-align: left;'; +$table->style[11] = 'font-weight: bold; text-align: left;'; +$table->style[13] = 'font-weight: bold; text-align: left;'; +$table->style[14] = 'font-weight: bold; text-align: left;'; +$table->style[15] = 'font-weight: bold; text-align: left;'; diff --git a/pandora_console/operation/search_maps.php b/pandora_console/operation/search_maps.php index 0ab656d9b5..6b6aeeb423 100755 --- a/pandora_console/operation/search_maps.php +++ b/pandora_console/operation/search_maps.php @@ -32,6 +32,13 @@ if ($maps === false || !$searchMaps) { $table->align[1] = 'center'; $table->align[2] = 'center'; + $table->headstyle = []; + $table->headstyle[0] = 'text-align: left'; + $table->headstyle[1] = 'text-align: center'; + $table->headstyle[1] = 'text-align: center'; + + + $table->data = []; foreach ($maps as $map) { array_push( diff --git a/pandora_console/operation/search_modules.php b/pandora_console/operation/search_modules.php index 81ec17cf39..d055d29946 100644 --- a/pandora_console/operation/search_modules.php +++ b/pandora_console/operation/search_modules.php @@ -51,6 +51,17 @@ if (!$modules || !$searchModules) { $table->align[7] = 'left'; $table->align[8] = 'left'; + $table->headstyle = []; + $table->headstyle[0] = 'text-align: left'; + $table->headstyle[1] = 'text-align: left'; + $table->headstyle[2] = 'text-align: left'; + $table->headstyle[3] = 'text-align: left'; + $table->headstyle[4] = 'text-align: left'; + $table->headstyle[5] = 'text-align: left'; + $table->headstyle[6] = 'text-align: left'; + $table->headstyle[7] = 'text-align: left'; + $table->headstyle[8] = 'text-align: left'; + $table->data = []; $id_type_web_content_string = db_get_value( diff --git a/pandora_console/operation/search_reports.php b/pandora_console/operation/search_reports.php index d86b0c5446..e16507a624 100755 --- a/pandora_console/operation/search_reports.php +++ b/pandora_console/operation/search_reports.php @@ -44,6 +44,8 @@ if ($reports === false || !$searchReports) { $table->head[3] = __('XML'); $table->size[0] = '50%'; $table->size[1] = '20%'; + $table->headstyle[0] = 'text-align: left'; + $table->headstyle[1] = 'text-align: left'; $table->size[2] = '2%'; $table->headstyle[2] = 'min-width: 35px;text-align: left;'; $table->size[3] = '2%'; diff --git a/pandora_console/operation/search_users.php b/pandora_console/operation/search_users.php index 3f397129db..ead204915d 100755 --- a/pandora_console/operation/search_users.php +++ b/pandora_console/operation/search_users.php @@ -30,6 +30,14 @@ if (!$users || !$searchUsers) { $table->align = []; $table->align[4] = 'center'; + $table->headstyle = []; + $table->headstyle[0] = 'text-align: left'; + $table->headstyle[1] = 'text-align: left'; + $table->headstyle[2] = 'text-align: left'; + $table->headstyle[3] = 'text-align: left'; + $table->headstyle[4] = 'text-align: center'; + $table->headstyle[5] = 'text-align: left'; + $table->head = []; $table->head[0] = __('User ID').' '.''.html_print_image('images/sort_up.png', true, ['style' => $selectUserIDUp]).''.''.html_print_image('images/sort_down.png', true, ['style' => $selectUserIDDown]).''; $table->head[1] = __('Name').' '.''.html_print_image('images/sort_up.png', true, ['style' => $selectNameUp]).''.''.html_print_image('images/sort_down.png', true, ['style' => $selectNameDown]).''; @@ -38,6 +46,8 @@ if (!$users || !$searchUsers) { $table->head[4] = __('Profile').' '.''.html_print_image('images/sort_up.png', true, ['style' => $selectProfileUp]).''.''.html_print_image('images/sort_down.png', true, ['style' => $selectProfileDown]).''; $table->head[5] = __('Description'); + + $table->data = []; foreach ($users as $user) { diff --git a/pandora_console/operation/users/user_edit.php b/pandora_console/operation/users/user_edit.php index 2a2d0427ed..8a33477d57 100644 --- a/pandora_console/operation/users/user_edit.php +++ b/pandora_console/operation/users/user_edit.php @@ -33,7 +33,6 @@ $headerTitle = __('User detail editor'); require $config['homedir'].'/operation/users/user_edit_header.php'; if (is_metaconsole() === false) { - date_default_timezone_set('UTC'); include 'include/javascript/timezonepicker/includes/parser.inc'; // Read in options for map builder. @@ -349,7 +348,7 @@ if ($own_info['is_admin'] || check_acl($config['id_user'], 0, 'PM')) { $usr_groups = (users_get_groups($config['id_user'], 'AR', $display_all_group)); $id_usr = $config['id_user']; - +$skin = ''; if (!$meta) { $home_screen = '

'.__('Home screen').ui_print_help_tip(__('User can customize the home page. By default, will display \'Agent Detail\'. Example: Select \'Other\' and type index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=1 to show agent detail view'), true).'

'; $values = [ @@ -395,10 +394,7 @@ if (!$meta) { $home_screen .= '
'; $home_screen .= html_print_input_text('data_section', $user_info['data_section'], '', 60, 255, true, false); - - // User only can change skins if has more than one group. - $skin = ''; if (function_exists('skins_print_select')) { if (count($usr_groups) > 1) { $skin = '

'.__('Skin').':

'; @@ -407,7 +403,16 @@ if (!$meta) { } } else { $home_screen = ''; - $skin = ''; + // User only can change skins if has more than one group. + if (function_exists('skins_print_select')) { + if (count($usr_groups) > 1) { + $skin = '

'.__('Skin').ui_print_help_tip( + __('This change will only apply to nodes'), + true + ).'

'; + $skin .= skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true).'
'; + } + } } $timezone = '

'.__('Timezone').ui_print_help_tip(__('The timezone must be that of the associated server.'), true).'

'; diff --git a/pandora_console/operation/visual_console/public_view.php b/pandora_console/operation/visual_console/public_view.php index 759888aabb..36ec6bf722 100644 --- a/pandora_console/operation/visual_console/public_view.php +++ b/pandora_console/operation/visual_console/public_view.php @@ -97,7 +97,7 @@ $visualConsoleData = $visualConsole->toArray(); $visualConsoleName = $visualConsoleData['name']; $bg_color = ''; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $bg_color = 'style="background-color: #222"'; } diff --git a/pandora_console/operation/visual_console/view.php b/pandora_console/operation/visual_console/view.php index 8b51d0a8f6..7e18e8ad30 100644 --- a/pandora_console/operation/visual_console/view.php +++ b/pandora_console/operation/visual_console/view.php @@ -269,7 +269,7 @@ if ($pure === false) { $class_basic_chart = 'basic_chart_min link-create-item'; $class_delete = 'delete_item delete_min'; $class_copy = 'copy_item'; - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $class_camera = 'camera_min_white link-create-item'; $class_percentile = 'percentile_item_min_white link-create-item'; $class_module_graph = 'graph_min_white link-create-item'; @@ -417,7 +417,7 @@ if ($pure === false) { } $bg_color = ''; -if ($config['style'] === 'pandora_black') { +if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $bg_color = 'style="background-color: #222"'; } diff --git a/pandora_console/pandora_console.redhat.spec b/pandora_console/pandora_console.redhat.spec index 95eda5272f..5922a897ec 100644 --- a/pandora_console/pandora_console.redhat.spec +++ b/pandora_console/pandora_console.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.759 -%define release 220125 +%define release 220126 # User and Group under which Apache is running %define httpd_name httpd diff --git a/pandora_console/pandora_console.rhel7.spec b/pandora_console/pandora_console.rhel7.spec index 42ab6efb15..7185d14a5e 100644 --- a/pandora_console/pandora_console.rhel7.spec +++ b/pandora_console/pandora_console.rhel7.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.759 -%define release 220125 +%define release 220126 # User and Group under which Apache is running %define httpd_name httpd diff --git a/pandora_console/pandora_console.spec b/pandora_console/pandora_console.spec index 751f7bbb92..0fa45c5dfd 100644 --- a/pandora_console/pandora_console.spec +++ b/pandora_console/pandora_console.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.759 -%define release 220125 +%define release 220126 %define httpd_name httpd # User and Group under which Apache is running %define httpd_name apache2 diff --git a/pandora_console/views/dashboard/cell.php b/pandora_console/views/dashboard/cell.php index 1ec35ae777..b58fae78a6 100644 --- a/pandora_console/views/dashboard/cell.php +++ b/pandora_console/views/dashboard/cell.php @@ -78,11 +78,12 @@ if (empty($options['background']) === true) { $options['background'] = '#ffffff'; } - if ($config['style'] === 'pandora_black') { + if ($config['style'] === 'pandora_black' && !is_metaconsole()) { $options['background'] = '#222222'; } } else if ($options['background'] === '#ffffff' && $config['style'] === 'pandora_black' + && !is_metaconsole() ) { $options['background'] = '#222222'; } else if ($options['background'] === '#222222' diff --git a/pandora_server/DEBIAN/control b/pandora_server/DEBIAN/control index 19c5962a71..6b9aefa672 100644 --- a/pandora_server/DEBIAN/control +++ b/pandora_server/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-server -Version: 7.0NG.759-220125 +Version: 7.0NG.759-220126 Architecture: all Priority: optional Section: admin diff --git a/pandora_server/DEBIAN/make_deb_package.sh b/pandora_server/DEBIAN/make_deb_package.sh index 0006a8bc4e..c41e1211a6 100644 --- a/pandora_server/DEBIAN/make_deb_package.sh +++ b/pandora_server/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.759-220125" +pandora_version="7.0NG.759-220126" package_cpan=0 package_pandora=1 diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm index 49dd0fbe9c..3324ff34f1 100644 --- a/pandora_server/lib/PandoraFMS/Config.pm +++ b/pandora_server/lib/PandoraFMS/Config.pm @@ -46,7 +46,7 @@ our @EXPORT = qw( # version: Defines actual version of Pandora Server for this module only my $pandora_version = "7.0NG.759"; -my $pandora_build = "220125"; +my $pandora_build = "220126"; our $VERSION = $pandora_version." ".$pandora_build; # Setup hash diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index 9d1736266f..92b48a8711 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -982,14 +982,17 @@ sub pandora_execute_alert ($$$$$$$$$;$$) { $threshold = $action->{'action_threshold'} if (defined ($action->{'action_threshold'}) && $action->{'action_threshold'} > 0); $threshold = $action->{'module_action_threshold'} if (defined ($action->{'module_action_threshold'}) && $action->{'module_action_threshold'} > 0); if (time () >= ($action->{'last_execution'} + $threshold)) { - + my $monitoring_event_custom_data = ''; + + push(@{$custom_data->{'actions'}}, safe_output($action->{'action_name'})); + # Does the action generate an event? if (safe_output($action->{'name'}) eq "Monitoring Event") { $event_generated = 1; + $monitoring_event_custom_data = $custom_data; } - - pandora_execute_action ($pa_config, $data, $agent, $alert, $alert_mode, $action, $module, $dbh, $timestamp, $extra_macros); - push(@{$custom_data->{'actions'}}, safe_output($action->{'action_name'})); + + pandora_execute_action ($pa_config, $data, $agent, $alert, $alert_mode, $action, $module, $dbh, $timestamp, $extra_macros, $monitoring_event_custom_data); } else { if (defined ($module)) { logger ($pa_config, "Skipping action " . safe_output($action->{'name'}) . " for alert '" . safe_output($alert->{'name'}) . "' module '" . safe_output($module->{'nombre'}) . "'.", 10); @@ -1082,9 +1085,9 @@ Execute the given action. =cut ########################################################################## -sub pandora_execute_action ($$$$$$$$$;$) { +sub pandora_execute_action ($$$$$$$$$;$$) { my ($pa_config, $data, $agent, $alert, - $alert_mode, $action, $module, $dbh, $timestamp, $extra_macros) = @_; + $alert_mode, $action, $module, $dbh, $timestamp, $extra_macros, $custom_data) = @_; logger($pa_config, "Executing action '" . safe_output($action->{'name'}) . "' for alert '". safe_output($alert->{'name'}) . "' agent '" . (defined ($agent) ? safe_output($agent->{'nombre'}) : 'N/A') . "'.", 10); @@ -1642,25 +1645,30 @@ sub pandora_execute_action ($$$$$$$$$;$) { if ((! defined($alert->{'disable_event'})) || (defined($alert->{'disable_event'}) && $alert->{'disable_event'} == 0)) { pandora_event( - $pa_config, - $event_text, - (defined ($agent) ? $agent->{'id_grupo'} : 0), - (defined ($fullagent) ? $fullagent->{'id_agente'} : 0), - $priority, - (defined($alert) - ? defined($alert->{'id_template_module'}) - ? $alert->{'id_template_module'} - : $alert->{'id'} - : 0), - (defined($alert) ? $alert->{'id_agent_module'} : 0), - $event_type, - 0, - $dbh, - $source, - '', - $comment, - $id_extra, - $tags); + $pa_config, + $event_text, + (defined ($agent) ? $agent->{'id_grupo'} : 0), + (defined ($fullagent) ? $fullagent->{'id_agente'} : 0), + $priority, + (defined($alert) + ? defined($alert->{'id_template_module'}) + ? $alert->{'id_template_module'} + : $alert->{'id'} + : 0), + (defined($alert) ? $alert->{'id_agent_module'} : 0), + $event_type, + 0, + $dbh, + $source, + '', + $comment, + $id_extra, + $tags, + '', + '', + '', + p_encode_json($pa_config, $custom_data) + ); # Validate event (field1: agent name; field2: module name) } } elsif ($clean_name eq "Validate Event") { diff --git a/pandora_server/lib/PandoraFMS/PluginTools.pm b/pandora_server/lib/PandoraFMS/PluginTools.pm index ee36608a39..b6a9c25d51 100644 --- a/pandora_server/lib/PandoraFMS/PluginTools.pm +++ b/pandora_server/lib/PandoraFMS/PluginTools.pm @@ -34,7 +34,7 @@ our @ISA = qw(Exporter); # version: Defines actual version of Pandora Server for this module only my $pandora_version = "7.0NG.759"; -my $pandora_build = "220125"; +my $pandora_build = "220126"; our $VERSION = $pandora_version." ".$pandora_build; our %EXPORT_TAGS = ( 'all' => [ qw() ] ); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index ad19682385..a4580e7c41 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.759 -%define release 220125 +%define release 220126 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index a93bf4f664..a1ff75e255 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.759 -%define release 220125 +%define release 220126 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index 63ed6aef08..f789e8d3e1 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.759" -PI_BUILD="220125" +PI_BUILD="220126" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index b6704ddb5d..213411386b 100755 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -35,7 +35,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.759 Build 220125"; +my $version = "7.0NG.759 Build 220126"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index 511ef09bf4..bbd96ae72a 100755 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.759 Build 220125"; +my $version = "7.0NG.759 Build 220126"; # save program name for logging my $progname = basename($0);