From 4c617acefc18a19c925be263d0dc640d360398af Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 2 Feb 2024 13:43:04 +0100 Subject: [PATCH 1/6] #12621 dialog tips on click --- pandora_console/include/functions_ui.php | 6 +++-- pandora_console/include/javascript/pandora.js | 25 +++++++++++++++++++ pandora_console/include/styles/pandora.css | 6 ++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index 0062b52e70..1d99b6a84f 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -2928,7 +2928,9 @@ function ui_print_help_tip( $img = 'images/info@svg.svg'; } - $output = ''; + $id = random_int(1, 99999); + $output = '
'; + $output .= ''; $output .= html_print_image( $img, true, @@ -2939,7 +2941,7 @@ function ui_print_help_tip( ], false, $is_relative && is_metaconsole() - ).''; + ).'
'; if ($return) { return $output; diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js index 8d7bf3a1b2..4581da9477 100644 --- a/pandora_console/include/javascript/pandora.js +++ b/pandora_console/include/javascript/pandora.js @@ -2450,6 +2450,31 @@ $(document).ready(function() { }); } } + + $("[id^='div_tip_']").click(function() { + var id = $(this) + .attr("id") + .split("_")[2]; + + $("#tip_dialog_" + id).dialog({ + title: $("#tip_dialog_" + id).data("title"), + modal: true, + show: { + effect: "fade", + duration: 200 + }, + hide: { + effect: "fade", + duration: 200 + }, + closeOnEscape: true, + buttons: { + Close: function() { + $(this).dialog("close"); + } + } + }); + }); }); function close_info_box(id) { diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 1453289d08..9f127d1dee 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -3522,13 +3522,13 @@ span#plugin_description { * - TIP (to show help) - * --------------------------------------------------------------------- */ -a.tip { +div.tip { display: inline; cursor: help; margin-left: 10px; } -a.tip > img { +div.tip > img { margin-left: 2px; margin-right: 2px; margin-top: -3px; @@ -5333,7 +5333,7 @@ input:checked + .p-slider:before { width: 100%; } -#user_form a.tip img { +#user_form div.tip img { margin-left: 8px; } From 3ea38c0455db700baddf5b2bab5cb5d12fe1a523 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 5 Feb 2024 08:43:26 +0100 Subject: [PATCH 2/6] #12621 dialog tips css --- pandora_console/include/functions_ui.php | 2 +- pandora_console/include/styles/pandora.css | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index 1d99b6a84f..e48969c8ce 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -2930,7 +2930,7 @@ function ui_print_help_tip( $id = random_int(1, 99999); $output = '
'; - $output .= ''; + $output .= ''; $output .= html_print_image( $img, true, diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 9f127d1dee..53158873dd 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -1275,6 +1275,10 @@ p.center { margin: 0 auto; } +.margin-15 { + margin: 15px; +} + .margin-top-5 { margin-top: 5px; } From b22ad532b25ac2ef50d2da443eeb8cf70b727ed9 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 19 Feb 2024 12:07:31 +0100 Subject: [PATCH 3/6] #12621 new tips --- .../godmode/agentes/agent_manager.php | 20 ++++----- .../agentes/module_manager_editor_common.php | 34 ++++++++++----- .../godmode/groups/configure_group.php | 4 +- .../godmode/setup/setup_general.php | 37 ++++++++-------- .../godmode/setup/setup_netflow.php | 2 +- .../godmode/setup/setup_visuals.php | 42 +++++++++---------- .../godmode/users/user_management.php | 4 +- 7 files changed, 79 insertions(+), 64 deletions(-) diff --git a/pandora_console/godmode/agentes/agent_manager.php b/pandora_console/godmode/agentes/agent_manager.php index 18722508e9..e52ce74d1f 100644 --- a/pandora_console/godmode/agentes/agent_manager.php +++ b/pandora_console/godmode/agentes/agent_manager.php @@ -354,7 +354,7 @@ $tableAgent->rowspan = []; // Agent name. if ($new_agent === false) { - $tableAgent->data['caption_name'][0] = __('Agent name'); + $tableAgent->data['caption_name'][0] = __('Agent name').ui_print_help_tip(__('The agent name is a unique identifier (which is automatically generated in software agents). If you set it manually, make sure it is not duplicated. Although it accepts spaces, we do not recommend you to use them in the agent name, you may use them in the agent alias. The agent name is not displayed in the interface, it is an internal name.'), true); $tableAgent->rowclass['name'] = 'w540px'; $tableAgent->cellstyle['name'][0] = 'width: 100%;'; $tableAgent->data['name'][0] = html_print_input_text( @@ -404,7 +404,7 @@ if ($new_agent === false) { } // Alias. -$tableAgent->data['caption_alias'][0] = __('Alias'); +$tableAgent->data['caption_alias'][0] = __('Alias').ui_print_help_tip(__('This will be the text label that will represent the agent on all types of screens and reports. It may be duplicated, contain spaces and non-ASCII characters.'), true); $tableAgent->rowclass['alias'] = 'w540px'; $tableAgent->data['alias'][0] = html_print_input_text('alias', $alias, '', 50, 100, true, false, true, '', 'w540px'); if ($new_agent === true) { @@ -487,7 +487,7 @@ if ($new_agent === false) { } // Select primary group. -$tableAgent->data['caption_primary_group'][0] = __('Primary group'); +$tableAgent->data['caption_primary_group'][0] = __('Primary group').ui_print_help_tip(__('Although an agent can belong to multiple groups, it can only have a parent group.'), true); if (isset($groups[$grupo]) === true || $new_agent === true) { $tableAgent->rowclass['primary_group'] = 'w540px'; // Cannot change primary group if user have not permission for that group. @@ -554,7 +554,7 @@ if (enterprise_installed()) { } if ($broker === false) { - $tableAgent->data['caption_interval'][0] = __('Interval'); + $tableAgent->data['caption_interval'][0] = __('Interval').ui_print_help_tip(__('Time that elapses when updating data in the agent. Remote modules have their own interval, but this time is used to find out if an agent stopped responding (unknown state). When twice the time interval defined in an agent goes by, it is considered to be in unknown state (or also if all its remote modules are in unknown state). An agent may be in unknown state if all of its local (software agent-based) modules have a last contact time longer than twice the agent interval, even if it has updated remote modules.'), true); // $tableAgent->rowstyle['interval'] = 'width: 260px'; $tableAgent->rowclass['interval'] = 'w540px'; $tableAgent->data['interval'][0] = html_print_extended_select_for_time( @@ -618,7 +618,7 @@ $tableAgent->data['os_version'][0] = html_print_input_text( 'w540px' ); -$tableAgent->data['caption_server'][0] = __('Server'); +$tableAgent->data['caption_server'][0] = __('Server').ui_print_help_tip(__('Server that will preferentially execute remote tasks.'), true); $tableAgent->rowclass['server'] = 'w540px'; $tableAgent->data['server'][0] = html_print_select( $servers, @@ -935,7 +935,7 @@ $switchButtons[] = html_print_radio_button_extended( ); $tableAdvancedAgent->data['module_definition'][] = html_print_label_input_block( - __('Module definition'), + __('Module definition').ui_print_help_tip(__('Three working modes can be selected for module definition. Learning mode: Default mode, if an XML arrives with new modules, they will be created automatically; it is a learning behavior. Normal mode: If an XML arrives with new modules, they will only be created if they are previously declared in the Console. Autodisable mode: It is the same as learning mode, but if all modules go into unknown, the agent will be disabled until information arrives again.'), true), html_print_div( [ 'class' => 'switch_radio_button', @@ -947,7 +947,7 @@ $tableAdvancedAgent->data['module_definition'][] = html_print_label_input_block( // CPS - Cascade Protection Services. $tableAdvancedAgent->data['cps_value'][] = html_print_label_input_block( - __('Cascade protection services'), + __('Cascade protection services').ui_print_help_tip(__('To avoid an avalanche of cascading alerts. You may choose any agent module (any) or a specific module. In the first case, when there is at least one module in critical, that event/alert will be launched, but no other of another module of the same agent. In the second case, when the specified module is in critical, the agent will not generate alerts/events.'), true), html_print_checkbox_switch('cps', $cps_val, ($cps >= 0), true) ); @@ -1036,7 +1036,7 @@ $tableAdvancedAgent->data['url_description'][] = html_print_label_input_block( // Agent status. $tableAdvancedAgent->data['agent_status'][] = html_print_label_input_block( - __('Disabled mode'), + __('Disabled mode').ui_print_help_tip(__('A deactivated agent does not generate activity (or issue events/alerts) or process data or actively generate monitoring. In many listings it does not even appear.'), true), html_print_checkbox_switch( 'disabled', 1, @@ -1047,7 +1047,7 @@ $tableAdvancedAgent->data['agent_status'][] = html_print_label_input_block( // Quiet mode. $tableAdvancedAgent->data['agent_quiet'][] = html_print_label_input_block( - __('Quiet'), + __('Quiet').ui_print_help_tip(__('A \'silent\' agent continues to process monitoring data, but does not generate events or alerts.'), true), html_print_checkbox_switch('quiet', 1, $quiet, true) ); @@ -1113,7 +1113,7 @@ $safeOperationElements[] = html_print_select( ); $tableAdvancedAgent->data['safe_operation'][] = html_print_label_input_block( - __('Safe operation mode'), + __('Safe operation mode').ui_print_help_tip(__('When the module set in this option goes into critical state, the other modules of the agent are automatically deactivated. This option can be very useful to avoid wasting resources, especially in remote checks. For example, if a Host alive module is chosen, SNMP checks will not be performed on the device when there is no connectivity with it.'), true), html_print_div( [ 'class' => 'flex-row-center', diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php index a9d809d29f..8052aa9868 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_common.php +++ b/pandora_console/godmode/agentes/module_manager_editor_common.php @@ -446,7 +446,9 @@ $tableBasicThresholds->rowclass['caption_warning_threshold'] = 'field_half_width $tableBasicThresholds->rowclass['warning_threshold'] = 'field_half_width'; $tableBasicThresholds->data['caption_warning_threshold'][0] .= __('Warning threshold').' '; -$tableBasicThresholds->data['caption_warning_threshold'][0] .= '('.__('Min / Max').')'; +$tableBasicThresholds->data['caption_warning_threshold'][0] .= '
('.__('Min / Max').')
'; +$tableBasicThresholds->data['caption_warning_threshold'][0] .= ''; +$tableBasicThresholds->data['caption_warning_threshold'][0] .= ui_print_help_tip(__('Normal: Any value within the specified range will cause a state change. Inverse interval: Any value outside the specified range will cause a state change. Percentage: This mode takes into account the module variation percentage (regarding its previous value), and will cause a change of state if it complies with the indicated increase or decrease values. A value that matches the Warning and Critical thresholds will trigger the Critical status. In numeric modules, a Max 0 value represents infinity.'), true); $tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text( 'min_warning', $min_warning, @@ -534,7 +536,9 @@ $tableBasicThresholds->data['warning_time'][1] .= '  '.__('interval $tableBasicThresholds->rowclass['caption_critical_threshold'] = 'field_half_width pdd_t_10px'; $tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width'; $tableBasicThresholds->data['caption_critical_threshold'][0] .= __('Critical threshold').' '; -$tableBasicThresholds->data['caption_critical_threshold'][0] .= '('.__('Min / Max').')'; +$tableBasicThresholds->data['caption_critical_threshold'][0] .= '
('.__('Min / Max').')
'; +$tableBasicThresholds->data['caption_critical_threshold'][0] .= ''; +$tableBasicThresholds->data['caption_critical_threshold'][0] .= ui_print_help_tip(__('Normal: Any value within the specified range will cause a state change.\nInverse interval: Any value outside the specified range will cause a state change. Percentage: This mode takes into account the module variation percentage (regarding its previous value), and will cause a change of state if it complies with the indicated increase or decrease values. A value that matches the Warning and Critical thresholds will trigger the Critical status. In numeric modules, a Max 0 value represents infinity.'), true).'
'; $tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text( 'min_critical', $min_critical, @@ -622,7 +626,7 @@ if (modules_is_string_type($id_module_type) === false || (bool) $edit === true) } $table_simple->rowclass['caption_historical_data'] = 'mrgn_top_10px'; -$table_simple->data['caption_historical_data'][0] = __('Historical data'); +$table_simple->data['caption_historical_data'][0] = __('Historical data').ui_print_help_tip(__('If disabled, it will only save the last known data, being unable to display graphs. It is useful to save DB space. It should be disabled only in those cases where it is necessary for the system to flow faster and save resources.'), true); if ($disabledBecauseInPolicy) { // If is disabled, we send a hidden in his place and print a false // checkbox because HTML dont send disabled fields @@ -1134,7 +1138,7 @@ if (isset($id_agente) === true && (int) $moduletype === MODULE_DATA) { $table_advanced->rowclass['cron_section'] = 'table_section full_section mrgn_top_mod_0px'; $table_advanced->data['cron_section'] = html_print_table($tableCron, true); -$table_advanced->data['title_3'] = html_print_subtitle_table(__('Thresholds and state changes')); +$table_advanced->data['title_3'] = html_print_subtitle_table(__('Thresholds and state changes').ui_print_help_tip(__('It indicates the minimum and maximum values accepted by the module. Any value outside this range will be discarded. For example, with a Max. value of 100, a data value of 200 will not be saved in a database.'), true)); $table_advanced->rowclass['caption_min_max_values'] = 'w50p pdd_t_10px'; $table_advanced->rowclass['min_max_values'] = 'w50p pdd_b_10px'; @@ -1152,7 +1156,7 @@ $tableDynamicThreshold->style = []; $tableDynamicThreshold->rowclass = []; $tableDynamicThreshold->data = []; -$tableDynamicThreshold->data['caption_dynamic_threshold_interval'][0] = __('Dynamic Threshold Interval'); +$tableDynamicThreshold->data['caption_dynamic_threshold_interval'][0] = __('Dynamic Threshold Interval').ui_print_help_tip(__('If this option is enabled, the module thresholds will be automatically adjusted based on the mean and standard deviation of their values in the specified time interval.'), true); $tableDynamicThreshold->rowclass['dynamic_threshold_interval'] = 'w540px'; $tableDynamicThreshold->data['dynamic_threshold_interval'][0] = html_print_extended_select_for_time( 'dynamic_interval', @@ -1174,8 +1178,8 @@ $tableDynamicThreshold->cellclass['caption_adv_dynamic_threshold_interval'][0] = $tableDynamicThreshold->cellclass['caption_adv_dynamic_threshold_interval'][1] = 'w33p'; $tableDynamicThreshold->cellclass['adv_dynamic_threshold_interval'][0] = 'w33p'; $tableDynamicThreshold->cellclass['adv_dynamic_threshold_interval'][1] = 'w33p'; -$tableDynamicThreshold->data['caption_adv_dynamic_threshold_interval'][0] = __('Min.'); -$tableDynamicThreshold->data['caption_adv_dynamic_threshold_interval'][1] = __('Max.'); +$tableDynamicThreshold->data['caption_adv_dynamic_threshold_interval'][0] = __('Min.').ui_print_help_tip(__('It allows to adjust the lower limit of the dynamic threshold, in percentage. For example, if the module average value is 60 and the lower critical state threshold was set to 80, a Dynamic Threshold Max to 10 would set the threshold to 88, 10% lower than what was set.'), true); +$tableDynamicThreshold->data['caption_adv_dynamic_threshold_interval'][1] = __('Max.').ui_print_help_tip(__('It allows to adjust the upper limit of the dynamic threshold, in percentage. For example, if the module average value is 60 and the upper critical state threshold has been set to 80, a Dynamic Threshold Max to 10 would set the threshold to 88, 10% higher than what was set.'), true); $tableDynamicThreshold->data['adv_dynamic_threshold_interval'][0] = html_print_input_text( 'dynamic_min', $dynamic_min, @@ -1205,7 +1209,7 @@ $tableDynamicThreshold->rowclass['caption_adv_dynamic_threshold_twotailed'] = 'p $tableDynamicThreshold->rowclass['adv_dynamic_threshold_twotailed'] = 'w100p'; $tableDynamicThreshold->cellclass['caption_adv_dynamic_threshold_twotailed'][0] = 'w33p'; $tableDynamicThreshold->cellclass['adv_dynamic_threshold_twotailed'][0] = 'w33p'; -$tableDynamicThreshold->data['caption_adv_dynamic_threshold_twotailed'][0] = __('Two Tailed'); +$tableDynamicThreshold->data['caption_adv_dynamic_threshold_twotailed'][0] = __('Two Tailed').ui_print_help_tip(__('It allows to set a lower threshold in addition to the upper one by default. If enabled, both very high and very low values will cause a state change.'), true); $tableDynamicThreshold->data['adv_dynamic_threshold_twotailed'][0] = html_print_checkbox_switch( 'dynamic_two_tailed', 1, @@ -1224,7 +1228,7 @@ $tableFFThreshold->style = []; $tableFFThreshold->rowclass = []; $tableFFThreshold->data = []; // FF stands for Flip-flop. -$tableFFThreshold->data['caption_ff_main_thresholds'][0] = __('FF threshold'); +$tableFFThreshold->data['caption_ff_main_thresholds'][0] = __('FF threshold').ui_print_help_tip(__('It allows you to change the unit of the received data. To do this, multiply the data received by the value set in this option (e.g. Seconds * 0.016666666667 = Minutes). The data is saved already transformed in the database, so changing this parameter when the module has data can cause anomalies in graphs and other elements.'), true); $tableFFThreshold->rowclass['ff_main_thresholds'] = 'w100p'; $tableFFThreshold->data['ff_main_thresholds'][0] = html_print_switch_radio_button( [ @@ -1449,7 +1453,7 @@ $table_advanced->data['discard_unknown'][0] = html_print_checkbox_switch( $disabledBecauseInPolicy ); -$table_advanced->data['caption_quiet'][0] = __('Quiet'); +$table_advanced->data['caption_quiet'][0] = __('Quiet').ui_print_help_tip(__('A module in silent mode will continue to receive and store data, but will not trigger alerts or generate events.'), true); $table_advanced->data['quiet'][0] = html_print_checkbox_switch( 'quiet_module', 1, @@ -2377,11 +2381,21 @@ ui_require_jquery_file('json'); if ($('#radius-percentage_warning').is(':checked') === true){ min_w = 0; max_w = 0; + $('#caption_warning_minmax').addClass('invisible'); + $('#caption_warning_crease').removeClass('invisible'); + } else { + $('#caption_warning_minmax').removeClass('invisible'); + $('#caption_warning_crease').addClass('invisible'); } if ($('#radius-percentage_critical').is(':checked') === true){ min_c = 0; max_c = 0; + $('#caption_critical_minmax').addClass('invisible'); + $('#caption_critical_crease').removeClass('invisible'); + } else { + $('#caption_critical_minmax').removeClass('invisible'); + $('#caption_critical_crease').addClass('invisible'); } paint_graph_status( diff --git a/pandora_console/godmode/groups/configure_group.php b/pandora_console/godmode/groups/configure_group.php index f7fa7a76b7..3376f42804 100644 --- a/pandora_console/godmode/groups/configure_group.php +++ b/pandora_console/godmode/groups/configure_group.php @@ -234,7 +234,7 @@ $table->data[1][0] = html_print_label_input_block( if ((bool) $config['enterprise_installed'] === true) { $table->data[1][1] .= html_print_label_input_block( - __('Group Password'), + __('Group Password').ui_print_help_tip(__('If a group is password protected, it will only accept XML from those software agents that have a group password configured with the same name. Do not use spaces or symbols.'), true), html_print_input_password('group_pass', $group_pass, '', 16, 255, true) ); } @@ -250,7 +250,7 @@ $table->data[2][1] = html_print_label_input_block( ); $table->data[3][0] = html_print_label_input_block( - __('Custom ID'), + __('Custom ID').ui_print_help_tip(__('It is an external ID used for integrations. Do not use spaces or symbols.'), true), html_print_input_text('custom_id', $custom_id, '', 16, 255, true) ); diff --git a/pandora_console/godmode/setup/setup_general.php b/pandora_console/godmode/setup/setup_general.php index 3366fcc6f8..49c7bfba4d 100644 --- a/pandora_console/godmode/setup/setup_general.php +++ b/pandora_console/godmode/setup/setup_general.php @@ -405,7 +405,7 @@ $table->data[$i++][] = html_print_label_input_block( $table->data[$i][] = html_print_label_input_block( - __('General network path'), + __('General network path').ui_print_help_tip(__('Base directory where the netflow and sflow subdirectories will be located to store the corresponding data.'), true), html_print_input_text( 'general_network_path', $config['general_network_path'], @@ -417,7 +417,7 @@ $table->data[$i][] = html_print_label_input_block( ); $table->data[$i++][] = html_print_label_input_block( - __('Enable Feedback'), + __('Enable Feedback').ui_print_help_tip(__(' It enables the "give feedback" window in the help menu at the top right.'), true), html_print_checkbox_switch_extended( 'activate_feedback', true, @@ -477,7 +477,7 @@ $table->data[$i++][] = html_print_label_input_block( ); $table->data[$i][] = html_print_label_input_block( - __('Public URL'), + __('Public URL').ui_print_help_tip(__('It is useful to complete this field when you have a reverse proxy, for example, with the mod_proxy mode of the Apache web server.'), true), html_print_input_text( 'public_url', $config['public_url'], @@ -512,7 +512,7 @@ $table->data[$i++][] = html_print_label_input_block( // Inventory changes blacklist. $table->data[$i][] = html_print_label_input_block( - __('Inventory changes blacklist'), + __('Inventory changes blacklist').ui_print_help_tip(__('Inventory modules included within the denied list will not generate events when they change.'), true), $table_ichanges ); @@ -528,7 +528,7 @@ $table->data[$i++][] = html_print_label_input_block( ) ); $help_tip = ui_print_help_tip( - __('No events or alerts will be generated, but data will still be received.'), + __('While this option is enabled, no events or alerts will be generated, but data will continue to be received.'), true ); $table->data[$i][] = html_print_label_input_block( @@ -542,7 +542,7 @@ $table->data[$i][] = html_print_label_input_block( ); $table->data[$i++][] = html_print_label_input_block( - __('Command Snapshot'), + __('Command Snapshot').ui_print_help_tip(__('String modules that return more than one line will display their content as formatted text in the form of a command console.'), true), html_print_checkbox_switch( 'command_snapshot', 1, @@ -552,7 +552,7 @@ $table->data[$i++][] = html_print_label_input_block( ); $table->data[$i][] = html_print_label_input_block( - __('Change remote config encoding'), + __('Change remote config encoding').ui_print_help_tip(__('Enabling this parameter uses encoding of the configuration files generated by the agents instead of converting everything to UTF-8.'), true), html_print_checkbox_switch( 'use_custom_encoding', 1, @@ -561,7 +561,7 @@ $table->data[$i][] = html_print_label_input_block( ) ); $table->data[$i++][] = html_print_label_input_block( - __('Referer security'), + __('Referer security').ui_print_help_tip(__('When it is active, the source of the requests is checked. If the user comes from a URL external to Pandora FMS, the source of the activity will be considered suspicious.'), true), html_print_checkbox_switch( 'referer_security', 1, @@ -605,7 +605,7 @@ $table->data[$i++][] = html_print_label_input_block( ); $table->data[$i][] = html_print_label_input_block( - __('Allow create scheduled downtimes in the past'), + __('Allow create scheduled downtimes in the past').ui_print_help_tip(__('It allows the possibility to create scheduled downtimes on past dates and thus modify SLA reports retroactively.'), true), html_print_checkbox_switch( 'past_planned_downtimes', 1, @@ -614,7 +614,7 @@ $table->data[$i][] = html_print_label_input_block( ) ); $table->data[$i++][] = html_print_label_input_block( - __('Limit for bulk operations'), + __('Limit for bulk operations').ui_print_help_tip(__('Limit of elements that can be modified by one-time bulk operations. The limit prevents the operation from failing due to lack of memory.'), true), html_print_input( [ 'type' => 'number', @@ -630,7 +630,7 @@ $table->data[$i++][] = html_print_label_input_block( ); $table->data[$i][] = html_print_label_input_block( - __('Include agents manually disabled'), + __('Include agents manually disabled').ui_print_help_tip(__('It enables the display of manually disabled agents in certain Console views.'), true), html_print_checkbox_switch( 'include_agents', 1, @@ -639,7 +639,7 @@ $table->data[$i][] = html_print_label_input_block( ) ); $table->data[$i++][] = html_print_label_input_block( - __('Set alias as name by default in agent creation'), + __('Set alias as name by default in agent creation').ui_print_help_tip(__('When this parameter is activated, the selection box of the agent creation menu collects the alias entered in the form and also saves it as the name of the agent (unique identifier).'), true), html_print_checkbox_switch( 'alias_as_name', 1, @@ -649,7 +649,7 @@ $table->data[$i++][] = html_print_label_input_block( ); $table->data[$i][] = html_print_label_input_block( - __('Unique IP'), + __('Unique IP').ui_print_help_tip(__('By activating this parameter, the console will prevent users from creating an agent with the same IP address as another one.'), true), html_print_checkbox_switch( 'unique_ip', 1, @@ -659,7 +659,7 @@ $table->data[$i][] = html_print_label_input_block( ); $table->data[$i++][] = html_print_label_input_block( - __('Module custom ID readonly'), + __('Module custom ID readonly').ui_print_help_tip(__('It blocks the editing of the module custom ID from the Console, but editing from CLI and API is allowed. This is useful for integrations with third-party tools that manage the value of this field automatically.'), true), html_print_checkbox_switch( 'module_custom_id_ro', 1, @@ -701,8 +701,9 @@ $table->data[$i++][] = html_print_label_input_block( ) ); +$url = 'https://pandorafms.com/manual/!772/en/documentation/04_using/12_console_setup#dedicated_console_for_reports'; $table->data[$i][] = html_print_label_input_block( - __('Enable console report'), + __('Console dedicated to report generation').ui_print_help_tip(__('It allows you to enable the Web Console in dedicated reporting mode, see section \'Dedicated Console for Reports\' for more information.'), true), html_print_checkbox_switch( 'reporting_console_enable', 1, @@ -712,7 +713,7 @@ $table->data[$i][] = html_print_label_input_block( ); $table->data[$i++][] = html_print_label_input_block( - __('Check conexion interval'), + __('Check conexion interval').ui_print_help_tip(__('Time interval (in seconds) to check the connection to the database server. Default 180, minimum value 60.'), true), html_print_input_number( [ 'name' => 'check_conexion_interval', @@ -723,7 +724,7 @@ $table->data[$i++][] = html_print_label_input_block( ); $help_tip = ui_print_help_tip( - __('If there are any "In process" events with a specific Extra ID and a New event with that Extra ID is received, it will be created as "In process" instead. The new events also inherit Event Custom ID'), + __('If there is any event “In process” with a specific additional ID and a “New” event with that additional ID is received, it will be created as “In process.” New events will also inherit the Event Custom ID from the old event.'), true ); @@ -738,7 +739,7 @@ $table->data[$i][] = html_print_label_input_block( ); $table->data[$i++][] = html_print_label_input_block( - __('Max. hours old events comments'), + __('Max. hours old events comments').ui_print_help_tip(__('When the grouped events are displayed, the comments of all the grouped identical events are displayed, but limiting it to the last N hours.'), true), html_print_input_number( [ 'name' => 'max_hours_old_event_comment', diff --git a/pandora_console/godmode/setup/setup_netflow.php b/pandora_console/godmode/setup/setup_netflow.php index 07db7327a5..4b9900e8fa 100644 --- a/pandora_console/godmode/setup/setup_netflow.php +++ b/pandora_console/godmode/setup/setup_netflow.php @@ -101,7 +101,7 @@ $table->data[4][] = html_print_label_input_block( ); $table->data[4][] = html_print_label_input_block( - __('Enable Sflow'), + __('Enable Sflow').ui_print_help_tip(__('SFLow uses a different protocol and needs an alternative collector that must be activated with this switch'), true), html_print_checkbox_switch_extended( 'activate_sflow', 1, diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index d6a1719cd8..e561a69cee 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -109,7 +109,7 @@ $table_behaviour->data[$row][] = html_print_label_input_block( ); $table_behaviour->data[$row][] = html_print_label_input_block( - __('Click to display lateral menus'), + __('Click to display lateral menus').ui_print_help_tip(__('When the side menu is collapsed, it allows you to define whether it is displayed by hovering the mouse over it or you need to click to display it.'), true), html_print_checkbox_switch( 'click_display', 1, @@ -130,7 +130,7 @@ $table_behaviour->data[$row][] = html_print_label_input_block( ) ); $table_behaviour->data[$row][] = html_print_label_input_block( - __('Display data of proc modules in other format'), + __('Display data of proc modules in other format').ui_print_help_tip(__('It allows to define the message that appears when you hover over a color box that shows the status of an agent or a module. If you want to change what the default color box looks like, choose another form of visual representation in the "Status icon set" option.'), true), html_print_checkbox_switch( 'render_proc', 1, @@ -358,7 +358,7 @@ $table_styles->data[$row][] = html_print_label_input_block( ); $table_styles->data[$row][] = html_print_label_input_block( - __('Status icon set'), + __('Status icon set').ui_print_help_tip(__('It changes the appearance of the agent or module status icon. Useful for people with problems when discriminating colors, you may overlay a text in the box or add an emoji (that icon can be replaced by a custom one, replacing the files on disk).'), true), html_print_div( [ 'class' => 'select-with-sibling', @@ -1047,7 +1047,7 @@ $table_font->data[$row][] = html_print_label_input_block( $row++; $table_font->data[$row][] = html_print_label_input_block( - __('Agent size text'), + __('Agent size text').ui_print_help_tip(__('In the lists or sections where the agent name is displayed, the name will be shortened if its extension is greater than the number indicated here. If the text is in a small area it can have a maximum length and if it is in a larger section, it can have another size.'), true), html_print_div( [ 'class' => 'filter-table-adv-manual', @@ -1069,7 +1069,7 @@ $table_font->data[$row][] = html_print_label_input_block( ) ); $table_font->data[$row][] = html_print_label_input_block( - __('Module size text'), + __('Module size text').ui_print_help_tip(__('In the lists or sections where the agent name is displayed, the name will be shortened if its extension is greater than the number indicated here. If the text is in a small area it can have a maximum length and if it is in a larger section, it can have another size.'), true), html_print_div( [ 'class' => 'filter-table-adv-manual', @@ -1170,12 +1170,12 @@ for ($i = 1; $i <= $graphColorAmount; $i++) { } $tip = ui_print_help_tip( - __('Decimal data resolution setting for SLA and other reports is not available in the Community version.'), + __('Number of decimals to display in reports and visual consoles. It must be between 0 and 5.'), true ); $table_chars->data[$row][] = html_print_label_input_block( - ($disabled_graph_precision) ? __('Data precision').$tip : __('Data precision'), + __('Data precision').$tip, html_print_input( [ 'type' => 'number', @@ -1212,7 +1212,7 @@ $table_chars->data[$row][] = html_print_label_input_block( $row++; $table_chars->data[$row][] = html_print_label_input_block( - __('Value to interface graphics'), + __('Value to interface graphics').ui_print_help_tip(__('Name of the drives for network interface graphics (SNMP).'), true), html_print_input_text( 'interface_unit', $config['interface_unit'], @@ -1262,7 +1262,7 @@ $table_chars->data[$row][] = html_print_label_input_block( $row++; $table_chars->data[$row][] = html_print_label_input_block( - __('Chart fit to content'), + __('Chart fit to content').ui_print_help_tip(__('There are graphs whose values are percentages and the top of the graph exceeds the maximum value one hundred, you may configure the graphs to stop adding a proportional upper margin by activating this option.'), true), html_print_checkbox_switch( 'maximum_y_axis', 1, @@ -1320,7 +1320,7 @@ $table_chars->data[$row][] = html_print_label_input_block( ); $table_chars->data[$row][] = html_print_label_input_block( - __('Graph TIP view'), + __('Graph TIP view').ui_print_help_tip(__('TIP graphs show the full data resolution, they are much more expensive in BD/CPU time, but they allow to "zoom" interactively and show all the data, without compacting the information in fewer points. By default (off), TIPs can be seen, but manually, if this mode is selected in each graph, but you may also define that they always come out as TIP or also define that this is so, but only for those of Boolean data.'), true), html_print_select( $options_full_escale, 'full_scale_option', @@ -1336,7 +1336,7 @@ $table_chars->data[$row][] = html_print_label_input_block( $row++; $table_chars->data[$row][] = html_print_label_input_block( - __('Graph mode'), + __('Graph mode').ui_print_help_tip(__('It displays the default graphs with three overlapping data series (Maximum, Average, and Minimum) or with only one data series (Average).'), true), html_print_select( $options_soft_graphs, 'type_mode_graph', @@ -1467,7 +1467,7 @@ $table_vc->data[$row][] = html_print_label_input_block( $row++; $table_vc->data[$row][] = html_print_label_input_block( - __('Display item frame on alert triggered'), + __('Display item frame on alert triggered').ui_print_help_tip(__('It displays an orange box around items that have triggered an alert.'), true), html_print_checkbox_switch( 'display_item_frame', 1, @@ -1587,7 +1587,7 @@ $row++; // Logo. $table_report->data['custom_report_front-logo'][] = html_print_label_input_block( __('Custom report front').' - '.__('Custom logo').ui_print_help_tip( - __("The dir of custom logos is in your www Console in 'images/custom_logo'. You can upload more files (ONLY JPEG AND PNG) in upload tool in console."), + __('You may use the following macros: _REPORT_NAME_ indicating the name of the report, _DATETIME_END_ indicates the end of the period (if it is a periodic report), _DATETIME_ date/time of the generation of the report.'), true ), html_print_select( @@ -1601,13 +1601,13 @@ $table_report->data['custom_report_front-logo'][] = html_print_label_input_block ) ); $table_report->data['custom_report_front-preview'][] = html_print_label_input_block( - __('Custom report front').' - '.__('Preview'), + __('Custom report front').' - '.__('Preview').ui_print_help_tip(__('You may use the following macros: _REPORT_NAME_ indicating the name of the report, _DATETIME_END_ indicates the end of the period (if it is a periodic report), _DATETIME_ date/time of the generation of the report.'), true), ''.html_print_image($config['custom_report_front_logo'], true).'' ); $table_report->colspan['custom_report_front-header'][] = 2; $table_report->data['custom_report_front-header'][] = html_print_label_input_block( - __('Custom report front').' - '.__('Header'), + __('Custom report front').' - '.__('Header').ui_print_help_tip(__('You may use the following macros: _REPORT_NAME_ indicating the name of the report, _DATETIME_END_ indicates the end of the period (if it is a periodic report), _DATETIME_ date/time of the generation of the report.'), true), html_print_textarea( 'custom_report_front_header', 5, @@ -1620,7 +1620,7 @@ $table_report->data['custom_report_front-header'][] = html_print_label_input_blo $table_report->colspan['custom_report_front-first_page'][] = 2; $table_report->data['custom_report_front-first_page'][] = html_print_label_input_block( - __('Custom report front').' - '.__('First page'), + __('Custom report front').' - '.__('First page').ui_print_help_tip(__('You may use the following macros: _REPORT_NAME_ indicating the name of the report, _DATETIME_END_ indicates the end of the period (if it is a periodic report), _DATETIME_ date/time of the generation of the report.'), true), html_print_textarea( 'custom_report_front_firstpage', 15, @@ -1634,7 +1634,7 @@ $table_report->data['custom_report_front-first_page'][] = html_print_label_input // Do not remove io_safe_output in textarea. TinyMCE avoids XSS injection. $table_report->colspan['custom_report_front-footer'][] = 2; $table_report->data['custom_report_front-footer'][] = html_print_label_input_block( - __('Custom report front').' - '.__('Footer'), + __('Custom report front').' - '.__('Footer').ui_print_help_tip(__('You may use the following macros: _REPORT_NAME_ indicating the name of the report, _DATETIME_END_ indicates the end of the period (if it is a periodic report), _DATETIME_ date/time of the generation of the report.'), true), html_print_textarea( 'custom_report_front_footer', 5, @@ -1788,7 +1788,7 @@ $table_other->data[$row][] = html_print_label_input_block( ); $table_other->data[$row][] = html_print_label_input_block( - __('Show only the group name'), + __('Show only the group name').ui_print_help_tip(__('The name of the group will be displayed instead of displaying its icon.'), true), html_print_checkbox_switch( 'show_group_name', 1, @@ -1809,7 +1809,7 @@ $table_other->data[$row][] = html_print_label_input_block( ); $table_other->data[$row][] = html_print_label_input_block( - __('Date format string'), + __('Date format string')ui_print_help_tip(__('It uses a unix datetime format definition string.'), true), html_print_input_text( 'date_format', $config['date_format'], @@ -1870,7 +1870,7 @@ $row++; // ---------------------------------------------------------------------- $count_custom_postprocess = post_process_get_custom_values(); $table_other->data[$row][] = html_print_label_input_block( - __('Custom values post process'), + __('Custom values post process').ui_print_help_tip(__('Custom conversion values for post-processing. It updates a table in the database to have custom conversions from one unit to another.'), true), html_print_div( [ 'class' => 'filter-table-adv-manual', @@ -2126,7 +2126,7 @@ $table_other->data[$row][] = html_print_label_input_block( $row++; $table_other->data[$row][] = html_print_label_input_block( - __('Data multiplier to use in graphs/data'), + __('Data multiplier to use in graphs/data').ui_print_help_tip(__('Value by which it will multiply the data shown to represent them in graphs. This is useful in case the value unit is bytes; for other conversions use Custom value post processing.'), true), html_print_select($options_data_multiplier, 'use_data_multiplier', $config['use_data_multiplier'], '', '', 1, true, false, false) ); $table_other->data[$row][] = html_print_label_input_block( diff --git a/pandora_console/godmode/users/user_management.php b/pandora_console/godmode/users/user_management.php index 4fa30a253e..3a48e185dc 100644 --- a/pandora_console/godmode/users/user_management.php +++ b/pandora_console/godmode/users/user_management.php @@ -248,7 +248,7 @@ $userManagementTable->data['fields_fullname'][0] = html_print_input_text_extende // User Email. $userManagementTable->rowclass['captions_email'] = 'field_half_width'; $userManagementTable->rowclass['fields_email'] = 'field_half_width'; -$userManagementTable->data['captions_email'][0] = __('Email'); +$userManagementTable->data['captions_email'][0] = __('Email').ui_print_help_tip(__('This will be the email used in those alert actions that the email makes use of. It will also be the email used for user notifications that wer configured in this way.'), true); $userManagementTable->data['fields_email'][0] = html_print_input_text_extended( 'email', $user_info['email'], @@ -295,7 +295,7 @@ if (empty($doubleAuthentication) === false) { if (users_is_admin() === true) { $globalProfileContent = []; - $globalProfileContent[] = ''.__('Administrator user').''; + $globalProfileContent[] = ''.__('Administrator user').ui_print_help_tip(__('This type of \'superadmin\' has no restrictions whatsoever. If you want to create partial administrators, use the profile and group-based privilege system.'), true).''; $globalProfileContent[] = html_print_checkbox_switch( 'is_admin', 0, From c725624dcb65b29ffe3a2922812f86fba52abc08 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Tue, 20 Feb 2024 16:16:48 +0100 Subject: [PATCH 4/6] #12621 style tips dialogs --- .../godmode/agentes/module_manager_editor_common.php | 2 +- pandora_console/godmode/setup/setup_general.php | 2 +- pandora_console/godmode/setup/setup_visuals.php | 2 +- pandora_console/include/functions_ui.php | 4 +++- pandora_console/include/javascript/pandora.js | 1 + 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php index 8052aa9868..f44c7295f6 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_common.php +++ b/pandora_console/godmode/agentes/module_manager_editor_common.php @@ -1370,7 +1370,7 @@ $table_advanced->data['title_4'] = html_print_subtitle_table(__('Data and their $table_advanced->rowclass['caption_process_unit'] = 'w50p'; $table_advanced->rowclass['process_unit'] = 'w50p'; $table_advanced->data['caption_process_unit'][0] = __('Unit'); -$table_advanced->data['caption_process_unit'][1] = __('Post process'); +$table_advanced->data['caption_process_unit'][1] = __('Post process').ui_print_help_tip(__('It allows you to change the unit of the received data. To do this, multiply the data received by the value set in this option (e.g. Seconds * 0.016666666667 = Minutes). The data is saved already transformed in the database, so changing this parameter when the module has data can cause anomalies in graphs and other elements.'), true); $table_advanced->data['process_unit'][0] = html_print_extended_select_for_unit( 'unit', $unit, diff --git a/pandora_console/godmode/setup/setup_general.php b/pandora_console/godmode/setup/setup_general.php index 49c7bfba4d..1b32ea727c 100644 --- a/pandora_console/godmode/setup/setup_general.php +++ b/pandora_console/godmode/setup/setup_general.php @@ -417,7 +417,7 @@ $table->data[$i][] = html_print_label_input_block( ); $table->data[$i++][] = html_print_label_input_block( - __('Enable Feedback').ui_print_help_tip(__(' It enables the "give feedback" window in the help menu at the top right.'), true), + __('Enable Feedback').ui_print_help_tip(__(' It enables the \'give feedback\' window in the help menu at the top right.'), true), html_print_checkbox_switch_extended( 'activate_feedback', true, diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index e561a69cee..586f361de0 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -1809,7 +1809,7 @@ $table_other->data[$row][] = html_print_label_input_block( ); $table_other->data[$row][] = html_print_label_input_block( - __('Date format string')ui_print_help_tip(__('It uses a unix datetime format definition string.'), true), + __('Date format string').ui_print_help_tip(__('It uses a unix datetime format definition string.'), true), html_print_input_text( 'date_format', $config['date_format'], diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index baa6416cd2..d2a704ca8c 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -2940,6 +2940,8 @@ function ui_print_help_tip( $img = 'images/info@svg.svg'; } + $text_title = (strlen($text) >= 60) ? substr($text, 0, 60).'...' : $text; + $id = random_int(1, 99999); $output = '
'; $output .= ''; @@ -2947,7 +2949,7 @@ function ui_print_help_tip( $img, true, [ - 'title' => $text, + 'title' => $text_title, 'class' => $blink === true ? 'blink' : '', 'style' => 'width: 16px; height: 16px;', ], diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js index 00b05ee353..aa64034e74 100644 --- a/pandora_console/include/javascript/pandora.js +++ b/pandora_console/include/javascript/pandora.js @@ -2459,6 +2459,7 @@ $(document).ready(function() { $("#tip_dialog_" + id).dialog({ title: $("#tip_dialog_" + id).data("title"), modal: true, + maxWidth: 600, show: { effect: "fade", duration: 200 From d0f347cea996345df1cb4bf5b03197c862f4fceb Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 21 Feb 2024 11:09:44 +0100 Subject: [PATCH 5/6] #12621 add more tips --- pandora_console/godmode/agentes/module_manager_editor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandora_console/godmode/agentes/module_manager_editor.php b/pandora_console/godmode/agentes/module_manager_editor.php index 543d241fc9..20fe16c626 100644 --- a/pandora_console/godmode/agentes/module_manager_editor.php +++ b/pandora_console/godmode/agentes/module_manager_editor.php @@ -765,7 +765,7 @@ $outputForm .= ui_toggle( $outputForm .= ui_toggle( html_print_table($table_macros, true), - ''.__('Custom macros').'', + ''.__('Custom macros').ui_print_help_tip(__('Allows you to set custom macros for this module (e.g. name \'_location_\', value \'Office\'). These macros can then be used in alerts to provide additional information about the module in question.'), true).'', '', '', true, @@ -784,7 +784,7 @@ if ((int) $moduletype !== 13) { $table_relations, true ), - ''.__('Module relations').'', + ''.__('Module relations').ui_print_help_tip(__('Used to replace the module in SLA reports, either directly () or in Failover mode ().'), true).'', '', '', true, From 9082fbf798770678da8670fae91378382ab52915 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Thu, 22 Feb 2024 10:49:57 +0100 Subject: [PATCH 6/6] #12621 tips and size window --- .../godmode/agentes/module_manager_editor_common.php | 4 ++-- pandora_console/include/javascript/pandora.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php index f44c7295f6..fda655f314 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_common.php +++ b/pandora_console/godmode/agentes/module_manager_editor_common.php @@ -1228,7 +1228,7 @@ $tableFFThreshold->style = []; $tableFFThreshold->rowclass = []; $tableFFThreshold->data = []; // FF stands for Flip-flop. -$tableFFThreshold->data['caption_ff_main_thresholds'][0] = __('FF threshold').ui_print_help_tip(__('It allows you to change the unit of the received data. To do this, multiply the data received by the value set in this option (e.g. Seconds * 0.016666666667 = Minutes). The data is saved already transformed in the database, so changing this parameter when the module has data can cause anomalies in graphs and other elements.'), true); +$tableFFThreshold->data['caption_ff_main_thresholds'][0] = __('FF threshold').ui_print_help_tip(__('It indicates the number of consecutive values at a threshold that must be received for the module to change state. For example, with a value 0 (default) the module will change state as soon as it receives a data within the critical threshold, but with a value 2 the module must receive two more critical data (consecutively) to change to critical state. It is possible to set the same \'tolerance\' for all status changes or choose a different value for each one. This option is especially useful in unstable environments, as it helps prevent false positives.'), true); $tableFFThreshold->rowclass['ff_main_thresholds'] = 'w100p'; $tableFFThreshold->data['ff_main_thresholds'][0] = html_print_switch_radio_button( [ @@ -1462,7 +1462,7 @@ $table_advanced->data['quiet'][0] = html_print_checkbox_switch( $disabledBecauseInPolicy ); -$table_advanced->data['caption_cascade_protection'][0] = __('Cascade Protection Services'); +$table_advanced->data['caption_cascade_protection'][0] = __('Cascade Protection Services').ui_print_help_tip(__('To avoid an avalanche of cascading alerts. You may choose any agent module (any) or a specific module. In the first case, when there is at least one module in critical, that event/alert will be launched, but no other of another module of the same agent. In the second case, when the specified module is in critical, the agent will not generate alerts/events.'), true); $table_advanced->data['cascade_protection'][0] = html_print_select($cps_array, 'cps_module', $cps_module, '', '', 0, true, false, true, '', $disabledBecauseInPolicy); diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js index aa64034e74..46892cca07 100644 --- a/pandora_console/include/javascript/pandora.js +++ b/pandora_console/include/javascript/pandora.js @@ -2460,6 +2460,7 @@ $(document).ready(function() { title: $("#tip_dialog_" + id).data("title"), modal: true, maxWidth: 600, + minWidth: 400, show: { effect: "fade", duration: 200