From d2a807636efb497ef2d4b5bb7efe29f58e47f8d4 Mon Sep 17 00:00:00 2001 From: Jose Gonzalez Date: Wed, 15 Mar 2023 17:43:35 +0100 Subject: [PATCH] General Setup view --- .../godmode/setup/setup_general.php | 1086 +++++++++-------- pandora_console/include/functions_config.php | 4 +- pandora_console/include/styles/pandora.css | 4 + 3 files changed, 598 insertions(+), 496 deletions(-) diff --git a/pandora_console/godmode/setup/setup_general.php b/pandora_console/godmode/setup/setup_general.php index d19d3587c6..879eef9ab3 100644 --- a/pandora_console/godmode/setup/setup_general.php +++ b/pandora_console/godmode/setup/setup_general.php @@ -14,7 +14,7 @@ * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| * * ============================================================================ - * Copyright (c) 2005-2021 Artica Soluciones Tecnologicas + * Copyright (c) 2005-2023 Artica Soluciones Tecnologicas * Please see http://pandorafms.org for full contribution list * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -26,6 +26,8 @@ * ============================================================================ */ +use function PHPSTORM_META\map; + // File begin. global $config; @@ -47,153 +49,17 @@ if (is_ajax()) { exit(); } -$performance_variables_control = (array) json_decode(io_safe_output($config['performance_variables_control'])); - -$table = new StdClass(); -$table->class = 'databox filters'; -$table->id = 'setup_general'; -$table->width = '100%'; -$table->data = []; -$table->size = []; -$table->size[0] = '30%'; -$table->style[0] = 'font-weight:bold'; -$table->size[1] = '70%'; - -$table_mail_conf = new stdClass(); -$table_mail_conf->width = '100%'; -$table_mail_conf->class = 'databox filters'; -$table_mail_conf->data = []; -$table_mail_conf->style[0] = 'font-weight: bold'; - -// Current config["language"] could be set by user, not taken from global setup ! -$current_system_lang = db_get_sql( - 'SELECT `value` FROM tconfig WHERE `token` = "language"' -); - -if ($current_system_lang == '') { - $current_system_lang = 'en'; -} - -$i = 0; - -$table->data[$i][0] = __('Language code'); -$table->data[$i++][1] = html_print_select_from_sql( - 'SELECT id_language, name FROM tlanguage', - 'language', - $current_system_lang, - '', - '', - '', - true -); - -$table->data[$i][0] = __('Remote config directory'); -$table->data[$i++][1] = html_print_input_text( - 'remote_config', - io_safe_output($config['remote_config']), - '', - 30, - 100, - true -); - -$table->data[$i][0] = __('Chromium path'); -$table->data[$i++][1] = html_print_input_text( - 'chromium_path', - io_safe_output( - $config['chromium_path'] - ), - '', - 30, - 100, - true -); - -$table->data[$i][0] = __('Auto login (hash) password'); -$table->data[$i][1] = html_print_input_password( - 'loginhash_pwd', - io_output_password($config['loginhash_pwd']), - '', - 15, - 15, - true -); -$table->data[$i++][1] .= ui_print_reveal_password( - 'loginhash_pwd', - true -); - -$table->data[$i][0] = __('Time source'); -$sources['system'] = __('System'); -$sources['sql'] = __('Database'); -$table->data[$i++][1] = html_print_select( - $sources, - 'timesource', - $config['timesource'], - '', - '', - '', - true -); - -$table->data[$i][0] = __('Automatic check for updates'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'autoupdate', - 1, - $config['autoupdate'], - true -); - echo "'; -$table->data[$i][0] = __('Enforce https'); -$table->data[$i++][1] = html_print_checkbox_switch_extended( - 'https', - 1, - $config['https'], - false, - '', - '', - true -); +$performance_variables_control = (array) json_decode(io_safe_output($config['performance_variables_control'])); +$sources = []; +$sources['system'] = __('System'); +$sources['sql'] = __('Database'); -$table->data[$i][0] = __('Use cert of SSL'); -$table->data[$i++][1] = html_print_checkbox_switch_extended( - 'use_cert', - 1, - $config['use_cert'], - false, - '', - '', - true -); - -$table->rowstyle[$i] = 'display: none;'; -$table->rowid[$i] = 'ssl-path-tr'; -$table->data[$i][0] = __('Path of SSL Cert.'); -$table->data[$i++][1] = html_print_input_text( - 'cert_path', - io_safe_output($config['cert_path']), - '', - 50, - 255, - true -); - -$table->data[$i][0] = __('Attachment store'); -$table->data[$i++][1] = html_print_input_text( - 'attachment_store', - io_safe_output($config['attachment_store']), - '', - 50, - 255, - true -); - -$table->data[$i][0] = __('IP list with API access'); -if (isset($_POST['list_ACL_IPs_for_API'])) { +// ACL Ips for API. +if (isset($_POST['list_ACL_IPs_for_API']) === true) { $list_ACL_IPs_for_API = get_parameter_post('list_ACL_IPs_for_API'); } else { $list_ACL_IPs_for_API = get_parameter_get( @@ -202,51 +68,14 @@ if (isset($_POST['list_ACL_IPs_for_API'])) { ); } -$table->data[$i++][1] = html_print_textarea( - 'list_ACL_IPs_for_API', - 2, - 25, - $list_ACL_IPs_for_API, - 'class="height_130px w300px"', - true -); - -$table->data[$i][0] = __('API password'); -$table->data[$i][1] = html_print_input_password( - 'api_password', - io_output_password($config['api_password']), - '', - 25, - 255, - true -); -$table->data[$i++][1] .= ui_print_reveal_password('api_password', true); - -$table->data[$i][0] = __('Enable GIS features'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'activate_gis', - 1, - $config['activate_gis'], - true -); - -$table->data[$i][0] = __('Enable Netflow'); -$rbt_disabled = false; +// Enable Netflow. if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { $rbt_disabled = true; +} else { + $rbt_disabled = false; } -$table->data[$i++][1] = html_print_checkbox_switch_extended( - 'activate_netflow', - 1, - $config['activate_netflow'], - $rbt_disabled, - '', - '', - true -); - - +// Zone names. $zone_name = [ 'Africa' => __('Africa'), 'America' => __('America'), @@ -278,83 +107,16 @@ foreach ($timezones as $timezone) { } } -$table->data[$i][0] = __('Timezone setup'); -$table->data[$i][1] = html_print_input_text_extended( - 'timezone_text', - $config['timezone'], - 'text-timezone_text', - '', - 25, - 25, - false, - '', - 'readonly', - true -); -$table->data[$i][1] .= ''.html_print_image( - 'images/edit.svg', - true, +// Force Public URL Dialog. +html_print_div( [ - 'title' => __('Change timezone'), - 'class' => 'main_menu_icon invert_filter', - ] -).''; -$table->data[$i][1] .= '  '.html_print_select( - $zone_name, - 'zone', - $zone_selected, - 'show_timezone();', - '', - '', - true -); -$table->data[$i++][1] .= '  '.html_print_select( - $timezone_n, - 'timezone', - $config['timezone'], - '', - '', - '', - true -); - -$table->data[$i][0] = __('Public URL'); -$table->data[$i++][1] = html_print_input_text( - 'public_url', - $config['public_url'], - '', - 40, - 255, - true -); - -$table->data[$i][0] = __('Force use Public URL'); -$table->data[$i++][1] = html_print_switch( - [ - 'name' => 'force_public_url', - 'value' => $config['force_public_url'], + 'id' => 'force_public_url_dialog', + 'class' => 'invisible', + 'content' => __('If public URL is not properly configured you will lose access to ').get_product_name().__(' Console'), ] ); -echo "'; - -$table->data[$i][0] = __('Public URL host exclusions'); -$table->data[$i++][1] = html_print_textarea( - 'public_url_exclusions', - 2, - 25, - $config['public_url_exclusions'], - 'class="height_50px w300px"', - true -); - -// Inventory changes blacklist. -$table->data[$i][0] = __('Inventory changes blacklist'); - +// Inventory blacklist. $inventory_changes_blacklist_id = get_parameter( 'inventory_changes_blacklist', $config['inventory_changes_blacklist'] @@ -431,171 +193,492 @@ $table_ichanges = '
'; -$table->data[$i++][1] = $table_ichanges; - -$table->data[$i][0] = __('Referer security'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'referer_security', - 1, - $config['referer_security'], - true -); - -$table->data[$i][0] = __('Event storm protection'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'event_storm_protection', - 1, - $config['event_storm_protection'], - true -); - - -$table->data[$i][0] = __('Command Snapshot'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'command_snapshot', - 1, - $config['command_snapshot'], - true -); - -$table->data[$i][0] = __('Change remote config encoding'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'use_custom_encoding', - 1, - $config['use_custom_encoding'], - true -); - -$table->data[$i][0] = __('Server logs directory'); -$table->data[$i++][1] = html_print_input_text( - 'server_log_dir', - $config['server_log_dir'], - '', - 50, - 255, - true -); - -$table->data[$i][0] = __('Log size limit in system logs viewer extension'); -$table->data[$i++][1] = html_print_input_text( - 'max_log_size', - $config['max_log_size'], - '', - 10, - 255, - true -).html_print_label(' x1000', 'max_log_size', true); - $modes_tutorial = [ 'full' => __('Full mode'), 'on_demand' => __('On demand'), 'expert' => __('Expert'), ]; -$table->data[$i][0] = __('Tutorial mode'); -$table->data[$i++][1] = html_print_select( - $modes_tutorial, - 'tutorial_mode', - $config['tutorial_mode'], - '', - '', - 0, - true -); $config['past_planned_downtimes'] = isset( $config['past_planned_downtimes'] ) ? $config['past_planned_downtimes'] : 1; -$table->data[$i][0] = __('Allow create scheduled downtimes in the past'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'past_planned_downtimes', - 1, - $config['past_planned_downtimes'], - true + +$table = new stdClass(); +$table->class = 'filter-table-adv'; +$table->id = 'setup_general'; +$table->width = '100%'; +$table->data = []; +$table->size = []; +$table->size[0] = '50%'; +$table->size[1] = '50%'; + +// Current config["language"] could be set by user, not taken from global setup ! +$current_system_lang = db_get_sql( + 'SELECT `value` FROM tconfig WHERE `token` = "language"' ); -$table->data[$i][0] = __('Limit for bulk operations'); -$table->data[$i++][1] = html_print_input( +if ($current_system_lang === '') { + $current_system_lang = 'en'; +} + +$i = 0; + +$table->data[$i][] = html_print_label_input_block( + __('Language code'), + html_print_select_from_sql( + 'SELECT id_language, name FROM tlanguage', + 'language', + $current_system_lang, + '', + '', + '', + true, + false, + true, + false, + 'width:100%' + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Remote config directory'), + html_print_input_text( + 'remote_config', + io_safe_output($config['remote_config']), + '', + 30, + 100, + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Chromium path'), + html_print_input_text( + 'chromium_path', + io_safe_output( + $config['chromium_path'] + ), + '', + 30, + 100, + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Auto login (hash) password'), + html_print_input_password( + 'loginhash_pwd', + io_output_password($config['loginhash_pwd']), + '', + 15, + 15, + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Time source'), + html_print_select( + $sources, + 'timesource', + $config['timesource'], + '', + '', + '', + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Attachment store'), + html_print_input_text( + 'attachment_store', + io_safe_output($config['attachment_store']), + '', + 50, + 255, + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Enforce https'), + html_print_checkbox_switch_extended( + 'https', + 1, + $config['https'], + false, + '', + '', + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Automatic check for updates'), + html_print_checkbox_switch( + 'autoupdate', + 1, + $config['autoupdate'], + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Use cert of SSL'), + html_print_checkbox_switch_extended( + 'use_cert', + 1, + $config['use_cert'], + false, + '', + '', + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Path of SSL Cert.'), + html_print_input_text( + 'cert_path', + io_safe_output($config['cert_path']), + '', + 50, + 255, + true + ), [ - 'type' => 'number', - 'size' => 5, - 'max' => $performance_variables_control['limit_parameters_massive']->max, - 'name' => 'limit_parameters_massive', - 'value' => $config['limit_parameters_massive'], - 'return' => true, - 'min' => $performance_variables_control['limit_parameters_massive']->min, - 'style' => 'width:50px', + 'div_id' => 'ssl-path-tr', + 'div_style' => 'display: none', ] ); -$table->data[$i][0] = __('Include agents manually disabled'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'include_agents', - 1, - $config['include_agents'], - true +$table->data[$i][] = html_print_label_input_block( + __('API password'), + html_print_input_password( + 'api_password', + io_output_password($config['api_password']), + '', + 25, + 255, + true + ) ); -$table->data[$i][0] = __('Set alias as name by default in agent creation'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'alias_as_name', - 1, - $config['alias_as_name'], - true +$table->data[$i++][] = html_print_label_input_block( + __('IP list with API access'), + html_print_textarea( + 'list_ACL_IPs_for_API', + 2, + 25, + $list_ACL_IPs_for_API, + 'class="height_130px"', + true + ) ); -$table->data[$i][0] = __('Unique IP'); -$table->data[$i++][1] = html_print_checkbox_switch( - 'unique_ip', - 1, - $config['unique_ip'], - true + +$table->data[$i][] = html_print_label_input_block( + __('Enable GIS features'), + html_print_checkbox_switch( + 'activate_gis', + 1, + $config['activate_gis'], + true + ) ); -$table->data[$i][0] = __('Enable console log').ui_print_help_tip( - __('Log location').': pandora_console/log/console.log', - true -); -$table->data[$i++][1] = html_print_checkbox_switch( - 'console_log_enabled', - 1, - $config['console_log_enabled'], - true +$table->data[$i++][] = html_print_label_input_block( + __('Enable Netflow'), + html_print_checkbox_switch_extended( + 'activate_netflow', + 1, + $config['activate_netflow'], + $rbt_disabled, + '', + '', + true + ) ); -$table->data[$i][0] = __('Enable audit log').ui_print_help_tip( - __('Log location').': pandora_console/log/audit.log', - true -); -$table->data[$i++][1] = html_print_checkbox_switch( - 'audit_log_enabled', - 1, - $config['audit_log_enabled'], - true +$table->colspan[$i][] = 2; +$table->data[$i++][] = html_print_label_input_block( + __('Timezone setup'), + html_print_div( + [ + 'class' => '', + 'content' => html_print_input_text_extended( + 'timezone_text', + $config['timezone'], + 'text-timezone_text', + '', + 25, + 25, + false, + '', + 'readonly', + true + ).html_print_image( + 'images/edit.svg', + true, + [ + 'id' => 'change_timezone', + 'title' => __('Change timezone'), + 'class' => 'main_menu_icon invert_filter', + ] + ).html_print_select( + $zone_name, + 'zone', + $zone_selected, + 'show_timezone();', + '', + '', + true + ).html_print_select( + $timezone_n, + 'timezone', + $config['timezone'], + '', + '', + '', + true + ), + ], + true + ) ); -$table->data[$i][0] = __('Module custom ID readonly').ui_print_help_tip( - __('Useful for integrations'), - true -); -$table->data[$i++][1] = html_print_checkbox_switch( - 'module_custom_id_ro', - 1, - $config['module_custom_id_ro'], - true +$table->data[$i][] = html_print_label_input_block( + __('Public URL'), + html_print_input_text( + 'public_url', + $config['public_url'], + '', + 40, + 255, + true + ) ); -$table->data[$i][0] = __('Enable console report').ui_print_help_tip( +$table->data[$i++][] = html_print_label_input_block( + __('Force use Public URL'), + html_print_switch( + [ + 'name' => 'force_public_url', + 'value' => $config['force_public_url'], + ] + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Public URL host exclusions'), + html_print_textarea( + 'public_url_exclusions', + 2, + 25, + $config['public_url_exclusions'], + 'class="height_50px w300px"', + true + ) +); + +// Inventory changes blacklist. +$table->data[$i][] = html_print_label_input_block( + __('Inventory changes blacklist'), + $table_ichanges +); + +$table->data[$i++][] = html_print_label_input_block( + __('Server logs directory'), + html_print_input_text( + 'server_log_dir', + $config['server_log_dir'], + '', + 50, + 255, + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Event storm protection'), + html_print_checkbox_switch( + 'event_storm_protection', + 1, + $config['event_storm_protection'], + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Command Snapshot'), + html_print_checkbox_switch( + 'command_snapshot', + 1, + $config['command_snapshot'], + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Change remote config encoding'), + html_print_checkbox_switch( + 'use_custom_encoding', + 1, + $config['use_custom_encoding'], + true + ) +); +$table->data[$i++][] = html_print_label_input_block( + __('Referer security'), + html_print_checkbox_switch( + 'referer_security', + 1, + $config['referer_security'], + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Log size limit in system logs viewer extension'), + html_print_div( + [ + 'class' => '', + 'content' => html_print_input_text( + 'max_log_size', + $config['max_log_size'], + '', + 20, + 255, + true + ).html_print_label( + ' x1000', + 'max_log_size', + true + ), + ], + true + ) +); +$table->data[$i++][] = html_print_label_input_block( + __('Tutorial mode'), + html_print_select( + $modes_tutorial, + 'tutorial_mode', + $config['tutorial_mode'], + '', + '', + 0, + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Allow create scheduled downtimes in the past'), + html_print_checkbox_switch( + 'past_planned_downtimes', + 1, + $config['past_planned_downtimes'], + true + ) +); +$table->data[$i++][] = html_print_label_input_block( + __('Limit for bulk operations'), + html_print_input( + [ + 'type' => 'number', + 'size' => 5, + 'max' => $performance_variables_control['limit_parameters_massive']->max, + 'name' => 'limit_parameters_massive', + 'value' => $config['limit_parameters_massive'], + 'return' => true, + 'min' => $performance_variables_control['limit_parameters_massive']->min, + 'style' => 'width:50%', + ] + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Include agents manually disabled'), + html_print_checkbox_switch( + 'include_agents', + 1, + $config['include_agents'], + true + ) +); +$table->data[$i++][] = html_print_label_input_block( + __('Set alias as name by default in agent creation'), + html_print_checkbox_switch( + 'alias_as_name', + 1, + $config['alias_as_name'], + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Unique IP'), + html_print_checkbox_switch( + 'unique_ip', + 1, + $config['unique_ip'], + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Module custom ID readonly'), + html_print_checkbox_switch( + 'module_custom_id_ro', + 1, + $config['module_custom_id_ro'], + true + ).ui_print_input_placeholder( + __('Useful for integrations'), + true + ) +); + +$table->data[$i][] = html_print_label_input_block( + __('Enable console log'), + html_print_checkbox_switch( + 'console_log_enabled', + 1, + $config['console_log_enabled'], + true + ).ui_print_input_placeholder( + __('Log location').': pandora_console/log/console.log', + true + ) +); + +$table->data[$i++][] = html_print_label_input_block( + __('Enable audit log'), + html_print_checkbox_switch( + 'audit_log_enabled', + 1, + $config['audit_log_enabled'], + true + ).ui_print_input_placeholder( + __('Log location').': pandora_console/log/audit.log', + true + ) +); + +$table->data[$i][] = html_print_label_input_block( __('Enable console report'), - true -); -$table->data[$i++][1] = html_print_checkbox_switch( - 'reporting_console_enable', - 1, - $config['reporting_console_enable'], - true + html_print_checkbox_switch( + 'reporting_console_enable', + 1, + $config['reporting_console_enable'], + true + ) ); -echo '
'; +echo ''; echo '
'; echo ''.__('General options').''; @@ -615,7 +698,7 @@ echo '
'; echo '
'; echo ''.__('Mail configuration').''; - $table_mail_conf->data[0][0] = ui_print_warning_message( + ui_print_warning_message( __( 'Please notice that some providers like Gmail or Office365 need to setup/enable manually external connections using SMTP and you need to use STARTTLS on port 587. @@ -623,114 +706,128 @@ echo ''.__('Mail configuration').''; ) ); - $table_mail_conf->data[1][0] = __('From address'); - $table_mail_conf->data[1][1] = html_print_input_text( - 'email_from_dir', - $config['email_from_dir'], - '', - 30, - 100, - true + $table_mail_conf = new stdClass(); + $table_mail_conf->width = '100%'; + $table_mail_conf->class = 'databox filter-table-adv'; + $table_mail_conf->size = []; + $table_mail_conf->size[0] = '50%'; + $table_mail_conf->size[1] = '50%'; + $table_mail_conf->data = []; + + $table_mail_conf->data[0][] = html_print_label_input_block( + __('From address'), + html_print_input_text( + 'email_from_dir', + $config['email_from_dir'], + '', + 30, + 100, + true + ) ); - $table_mail_conf->data[2][0] = __('From name'); - $table_mail_conf->data[2][1] = html_print_input_text( - 'email_from_name', - $config['email_from_name'], - '', - 30, - 100, - true + $table_mail_conf->data[0][] = html_print_label_input_block( + __('From name'), + html_print_input_text( + 'email_from_name', + $config['email_from_name'], + '', + 30, + 100, + true + ) ); - $table_mail_conf->data[3][0] = __('SMTP Server'); - $table_mail_conf->data[3][1] = html_print_input_text( - 'email_smtpServer', - $config['email_smtpServer'], - '', - 30, - 100, - true + $table_mail_conf->data[1][] = html_print_label_input_block( + __('SMTP Server'), + html_print_input_text( + 'email_smtpServer', + $config['email_smtpServer'], + '', + 30, + 100, + true + ) ); - $table_mail_conf->data[4][0] = __('SMTP Port'); - $table_mail_conf->data[4][1] = html_print_input_text( - 'email_smtpPort', - $config['email_smtpPort'], - '', - 30, - 100, - true + $table_mail_conf->data[1][] = html_print_label_input_block( + __('SMTP Port'), + html_print_input_text( + 'email_smtpPort', + $config['email_smtpPort'], + '', + 30, + 100, + true + ) ); - $table_mail_conf->data[5][0] = __('Encryption'); - $table_mail_conf->data[5][1] = html_print_select( - $encryption, - 'email_encryption', - $config['email_encryption'], - '', - __('none'), - 0, - true + $table_mail_conf->data[2][] = html_print_label_input_block( + __('Email user'), + html_print_input_text( + 'email_username', + $config['email_username'], + '', + 30, + 100, + true + ) + ); + $table_mail_conf->data[2][] = html_print_label_input_block( + __('Email password'), + html_print_input_password( + 'email_password', + io_output_password( + $config['email_password'] + ), + '', + 30, + 100, + true + ) ); - $table_mail_conf->data[6][0] = __('Email user'); - $table_mail_conf->data[6][1] = html_print_input_text( - 'email_username', - $config['email_username'], - '', - 30, - 100, - true - ); - - $table_mail_conf->data[7][0] = __('Email password'); - $table_mail_conf->data[7][1] = html_print_input_password( - 'email_password', - io_output_password( - $config['email_password'] - ), - '', - 30, - 100, - true - ); - $table_mail_conf->data[7][1] .= ui_print_reveal_password( - 'email_password', - true + $table_mail_conf->data[3][] = html_print_label_input_block( + __('Encryption'), + html_print_select( + $encryption, + 'email_encryption', + $config['email_encryption'], + '', + __('none'), + 0, + true + ) ); $uniqid = uniqid(); - $table_mail_conf->data[8][0] = html_print_button( - __('Email test'), - 'email_test_dialog', - false, - "show_email_test('".$uniqid."');", - [ 'icon' => 'next' ], - true - ); - print_email_test_modal_window($uniqid); html_print_input_hidden('update_config', 1); html_print_table($table_mail_conf); - echo '
'; - html_print_div( - [ - 'class' => 'action-buttons w100p', - 'content' => html_print_submit_button( - __('Update'), - 'update_button', - false, - ['icon' => 'update'], - true - ), - ] + html_print_action_buttons( + html_print_submit_button( + __('Update'), + 'update_button', + false, + ['icon' => 'update'], + true + ).html_print_button( + __('Email test'), + 'email_test_dialog', + false, + 'show_email_test("'.$uniqid.'");', + [ + 'icon' => 'mail', + 'mode' => 'secondary', + ], + true + ) ); echo '
'; @@ -748,26 +845,27 @@ echo ''.__('Mail configuration').''; // Email config table. $table_mail_test = new stdClass(); $table_mail_test->width = '100%'; - $table_mail_test->class = 'databox filters'; + $table_mail_test->class = 'filter-table-adv'; $table_mail_test->data = []; - $table_mail_test->style[0] = 'font-weight: bold;'; - $table_mail_test->style[1] = 'font-weight: bold;display: flex;height: 54px;align-items: center;padding-left: 15px;'; - $table_mail_test->data[0][0] = __('Address'); - $table_mail_test->data[0][1] = html_print_input_text( - 'email_test_address', - '', - '', - 35, - 100, - true + $table_mail_test->data[0][] = html_print_label_input_block( + __('Address'), + html_print_input_text( + 'email_test_address', + '', + '', + 35, + 100, + true + ) ); - $table_mail_test->data[1][0] = '  Email could not be sent'; + $table_mail_test->data[1][] = '  Email could not be sent'; - $table_mail_test->data[1][1] = html_print_div( + // $table_mail_test->colspan[2][0] = 2; + $submitButton = html_print_div( [ - 'class' => 'action-buttons w100p', + 'class' => 'action-buttons-right-forced', 'content' => html_print_button( __('Send'), 'email_test', @@ -783,7 +881,7 @@ echo ''.__('Mail configuration').''; true ); - echo ''; + echo ''; } diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index 24d2de537d..057572a863 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -3218,7 +3218,7 @@ function config_process_config() // Try to update user table in order to refresh skin inmediatly. $is_user_updating = get_parameter('sec2', ''); - if ($is_user_updating == 'operation/users/user_edit') { + if ($is_user_updating === 'godmode/users/configure_user') { $id = get_parameter_get('id', $config['id_user']); // ID given as parameter. $user_info = get_user_info($id); @@ -3746,7 +3746,7 @@ function config_user_set_custom_config() } } - if (defined('METACONSOLE')) { + if (is_metaconsole() === true) { $config['metaconsole_access'] = $userinfo['metaconsole_access']; } } diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index ff5298844f..dadb98544e 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -10465,6 +10465,10 @@ button div.upd { -webkit-mask: url(../../images/validate.svg) no-repeat center / contain; } +button div.mail { + mask: url(../../images/mail@svg.svg) no-repeat center / contain; + -webkit-mask: url(../../images/mail@svg.svg) no-repeat center / contain; +} button div.sound { mask: url(../../images/sound_console@svg.svg) no-repeat center / contain; -webkit-mask: url(../../images/sound_console@svg.svg) no-repeat center /