2009-03-05 13:52:59 +01:00
< ? php
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php,
include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/FusionCharts/FusionCharts_Gen.php,
include/FusionCharts/FusionCharts.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/help/en/help_plugin_parameters.php,
include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php,
include/help/en/help_postprocess.php,
include/help/en/help_prediction_source_module.php,
include/help/en/help_date_format.php, include/help/en/help_recontask.php,
include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php,
include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php,
include/help/en/help_agent_status.php,
include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php,
include/help/en/help_alert_type.php,
include/help/en/help_network_component.php,
include/help/en/help_time_stamp-comparation.php,
include/help/en/help_eventview.php, include/help/en/help_timesource.php,
include/help/en/help_alert_validation.php,
include/help/en/help_map_builder.php,
include/help/en/help_alert_recovery.php,
include/help/en/help_module_type.php,
include/help/en/help_planned_downtime.php,
include/help/en/help_serverlag.php, include/help/en/help_alerts.php,
include/help/en/help_snmpwalk.php,
include/help/en/help_module_definition.php,
include/help/en/help_plugin_definition.php,
include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php
include/help/en/help_manageconfig.php,
include/help/es/help_alert_validation.php,
include/help/es/help_plugin_parameters.php,
include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php,
include/help/es/help_map_builder.php, include/help/es/help_postprocess.php,
include/help/es/help_date_format.php,
include/help/es/help_alert_recovery.php,
include/help/es/help_prediction_source_module.php,
include/help/es/help_module_type.php,
include/help/es/help_planned_downtime.php,
include/help/es/help_alert-matches.php, include/help/es/help_recontask.php,
include/help/es/help_alerts.php, include/help/es/help_serverlag.php,
include/help/es/help_snmpwalk.php,
include/help/es/help_module_definition.php,
include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php,
include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php,
include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php,
include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php,
include/help/es/help_wminamespace.php,
include/help/es/help_network_component.php,
include/help/es/help_time_stamp-comparation.php,
include/help/es/help_manageconfig.php, include/help/es/help_timesource.php,
include/config_process.php, include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change comments blocks for delete the
warnings to construct phpDoc Files, give a struct and order in the
phpDoc files.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 19:39:28 +02:00
/**
2019-02-07 16:24:49 +01:00
* Extension to self monitor Pandora FMS Console
*
* @ category Config
* @ package Pandora FMS
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
* @ subpackage Config
2019-02-07 16:24:49 +01:00
* @ version 1.0 . 0
* @ license See below
*
* ______ ___ _______ _______ ________
* | __ \ .-----.--.--.--| |.-----.----.-----. | ___ | | | __ |
* | __ /| _ | | _ || _ | _ | _ | | ___ | | __ |
* | ___ | | ___ . _ | __ | __ | _____ || _____ | __ | | ___ . _ | | ___ | | __ | _ | __ | _______ |
*
* ============================================================================
2020-11-27 13:52:35 +01:00
* Copyright ( c ) 2005 - 2021 Artica Soluciones Tecnologicas
2019-02-07 16:24:49 +01:00
* 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
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
* ============================================================================
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php,
include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/FusionCharts/FusionCharts_Gen.php,
include/FusionCharts/FusionCharts.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/help/en/help_plugin_parameters.php,
include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php,
include/help/en/help_postprocess.php,
include/help/en/help_prediction_source_module.php,
include/help/en/help_date_format.php, include/help/en/help_recontask.php,
include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php,
include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php,
include/help/en/help_agent_status.php,
include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php,
include/help/en/help_alert_type.php,
include/help/en/help_network_component.php,
include/help/en/help_time_stamp-comparation.php,
include/help/en/help_eventview.php, include/help/en/help_timesource.php,
include/help/en/help_alert_validation.php,
include/help/en/help_map_builder.php,
include/help/en/help_alert_recovery.php,
include/help/en/help_module_type.php,
include/help/en/help_planned_downtime.php,
include/help/en/help_serverlag.php, include/help/en/help_alerts.php,
include/help/en/help_snmpwalk.php,
include/help/en/help_module_definition.php,
include/help/en/help_plugin_definition.php,
include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php
include/help/en/help_manageconfig.php,
include/help/es/help_alert_validation.php,
include/help/es/help_plugin_parameters.php,
include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php,
include/help/es/help_map_builder.php, include/help/es/help_postprocess.php,
include/help/es/help_date_format.php,
include/help/es/help_alert_recovery.php,
include/help/es/help_prediction_source_module.php,
include/help/es/help_module_type.php,
include/help/es/help_planned_downtime.php,
include/help/es/help_alert-matches.php, include/help/es/help_recontask.php,
include/help/es/help_alerts.php, include/help/es/help_serverlag.php,
include/help/es/help_snmpwalk.php,
include/help/es/help_module_definition.php,
include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php,
include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php,
include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php,
include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php,
include/help/es/help_wminamespace.php,
include/help/es/help_network_component.php,
include/help/es/help_time_stamp-comparation.php,
include/help/es/help_manageconfig.php, include/help/es/help_timesource.php,
include/config_process.php, include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change comments blocks for delete the
warnings to construct phpDoc Files, give a struct and order in the
phpDoc files.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 19:39:28 +02:00
*/
2021-01-27 12:35:37 +01:00
// Config functions.
require_once __DIR__ . '/../vendor/autoload.php' ;
2021-01-28 13:20:36 +01:00
require_once __DIR__ . '/functions.php' ;
enterprise_include_once ( 'include/functions_config.php' );
2021-01-27 12:35:37 +01:00
use PandoraFMS\Core\DBMaintainer ;
use PandoraFMS\Core\Config ;
2019-02-07 16:24:49 +01:00
2009-03-05 13:52:59 +01:00
/**
* Creates a single config value in the database .
*
2019-02-07 16:24:49 +01:00
* @ param string $token Config token to create .
* @ param string $value Value to set .
*
* @ return boolean Config id if success . False on failure .
2009-03-05 13:52:59 +01:00
*/
2019-02-07 16:24:49 +01:00
function config_create_value ( $token , $value )
{
return db_process_sql_insert (
'tconfig' ,
[
'value' => $value ,
'token' => $token ,
]
);
2009-03-05 13:52:59 +01:00
}
2019-02-07 16:24:49 +01:00
2009-03-05 13:52:59 +01:00
/**
* Update a single config value in the database .
2019-02-07 16:24:49 +01:00
*
2009-03-05 13:52:59 +01:00
* If the config token doesn 't exists, it' s created .
*
2019-02-07 16:24:49 +01:00
* @ param string $token Config token to update .
* @ param string $value New value to set .
*
* @ return boolean True if success . False on failure .
2009-03-05 13:52:59 +01:00
*/
2019-02-07 16:24:49 +01:00
function config_update_value ( $token , $value )
{
global $config ;
// Include functions_io to can call __() function.
include_once $config [ 'homedir' ] . '/include/functions_io.php' ;
if ( $token == 'list_ACL_IPs_for_API' ) {
$value = str_replace (
[
" \r \n " ,
" \r " ,
" \n " ,
],
';' ,
io_safe_output ( $value )
);
}
if ( $token == 'default_assign_tags' ) {
$value = ( $value );
}
2019-04-02 14:06:05 +02:00
if ( ! isset ( $config [ $token ])) {
$config [ $token ] = $value ;
return ( bool ) config_create_value ( $token , io_safe_input ( $value ));
}
2019-02-07 16:24:49 +01:00
// If it has not changed.
if ( $config [ $token ] == $value ) {
return true ;
}
$config [ $token ] = $value ;
$value = io_safe_output ( $value );
$result = db_process_sql_update (
'tconfig' ,
[ 'value' => io_safe_input ( $value )],
[ 'token' => $token ]
);
2019-04-02 14:06:05 +02:00
if ( $result === 0 ) {
2019-02-07 16:24:49 +01:00
return true ;
} else {
2019-04-02 14:06:05 +02:00
return ( bool ) $result ;
2019-02-07 16:24:49 +01:00
}
2009-03-05 13:52:59 +01:00
}
2019-02-07 16:24:49 +01:00
2009-03-05 13:52:59 +01:00
/**
2019-02-07 16:24:49 +01:00
* Updates all config values in case setup page was invoked
*
* @ return boolean
2009-03-05 13:52:59 +01:00
*/
2019-02-07 16:24:49 +01:00
function config_update_config ()
{
global $config ;
// Include functions_io to can call __() function.
include_once $config [ 'homedir' ] . '/include/functions_io.php' ;
// If user is not even log it, don't try this.
if ( ! isset ( $config [ 'id_user' ])) {
$config [ 'error_config_update_config' ] = [];
$config [ 'error_config_update_config' ][ 'correct' ] = false ;
$config [ 'error_config_update_config' ][ 'message' ] = __ ( 'Failed updated: User did not login.' );
return false ;
}
if ( ! check_acl ( $config [ 'id_user' ], 0 , 'PM' ) && ! is_user_admin ( $config [ 'id_user' ])) {
$config [ 'error_config_update_config' ] = [];
$config [ 'error_config_update_config' ][ 'correct' ] = false ;
$config [ 'error_config_update_config' ][ 'message' ] = __ ( 'Failed updated: User is not admin.' );
return false ;
}
$update_config = ( bool ) get_parameter ( 'update_config' );
if ( $update_config ) {
db_pandora_audit ( 'Setup' , 'Setup has changed' );
} else {
// Do nothing.
return false ;
}
$error_update = [];
2021-01-27 12:35:37 +01:00
$errors = [];
$warnings = [];
2019-02-07 16:24:49 +01:00
2019-12-18 15:15:25 +01:00
$sec2 = get_parameter ( 'sec2' );
2019-02-07 16:24:49 +01:00
switch ( $sec2 ) {
case 'godmode/setup/setup' :
$section_setup = get_parameter ( 'section' );
// MAIN SETUP.
// Setup now is divided in different tabs.
switch ( $section_setup ) {
case 'general' :
if ( ! config_update_value ( 'language' , ( string ) get_parameter ( 'language' ))) {
$error_update [] = __ ( 'Language settings' );
}
if ( ! config_update_value ( 'remote_config' , ( string ) get_parameter ( 'remote_config' ))) {
$error_update [] = __ ( 'Remote config directory' );
}
if ( ! config_update_value ( 'phantomjs_bin' , ( string ) get_parameter ( 'phantomjs_bin' ))) {
$error_update [] = __ ( 'phantomjs config directory' );
}
if ( ! config_update_value ( 'loginhash_pwd' , io_input_password (( string ) get_parameter ( 'loginhash_pwd' )))) {
$error_update [] = __ ( 'Auto login (hash) password' );
}
if ( ! config_update_value ( 'timesource' , ( string ) get_parameter ( 'timesource' ))) {
$error_update [] = __ ( 'Time source' );
}
if ( ! config_update_value ( 'autoupdate' , ( bool ) get_parameter ( 'autoupdate' ))) {
$error_update [] = __ ( 'Automatic check for updates' );
}
2019-06-13 13:18:17 +02:00
if ( ! config_update_value ( 'cert_path' , get_parameter ( 'cert_path' ))) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'SSL cert path' );
}
if ( ! config_update_value ( 'https' , ( bool ) get_parameter ( 'https' ))) {
$error_update [] = __ ( 'Enforce https' );
}
if ( ! config_update_value ( 'use_cert' , ( bool ) get_parameter ( 'use_cert' ))) {
$error_update [] = __ ( 'Use cert.' );
}
2021-04-27 12:34:08 +02:00
$attachment_store = ( string ) get_parameter ( 'attachment_store' );
if ( file_exists ( $attachment_store ) === false
|| is_writable ( $attachment_store ) === false
) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Attachment store' );
2021-04-27 12:34:08 +02:00
$error_update [] .= __ (
" Path doesn't exists or is not writable "
);
} else {
if ( config_update_value ( 'attachment_store' , $attachment_store ) === false ) {
$error_update [] = __ (
'Attachment store.'
);
}
2019-02-07 16:24:49 +01:00
}
if ( ! config_update_value ( 'list_ACL_IPs_for_API' , ( string ) get_parameter ( 'list_ACL_IPs_for_API' ))) {
$error_update [] = __ ( 'IP list with API access' );
}
if ( ! config_update_value ( 'api_password' , io_input_password ( get_parameter ( 'api_password' )))) {
$error_update [] = __ ( 'API password' );
}
if ( ! config_update_value ( 'activate_gis' , ( bool ) get_parameter ( 'activate_gis' ))) {
$error_update [] = __ ( 'Enable GIS features' );
}
if ( ! config_update_value ( 'integria_inventory' , get_parameter ( 'integria_inventory' ))) {
$error_update [] = __ ( 'Integria inventory' );
}
if ( ! config_update_value ( 'integria_api_password' , io_input_password ( get_parameter ( 'integria_api_password' )))) {
$error_update [] = __ ( 'Integria API password' );
}
if ( ! config_update_value ( 'integria_url' , get_parameter ( 'integria_url' ))) {
$error_update [] = __ ( 'Integria URL' );
}
if ( ! config_update_value ( 'activate_netflow' , ( bool ) get_parameter ( 'activate_netflow' ))) {
$error_update [] = __ ( 'Enable Netflow' );
}
$timezone = ( string ) get_parameter ( 'timezone' );
if ( $timezone != '' ) {
if ( ! config_update_value ( 'timezone' , $timezone )) {
$error_update [] = __ ( 'Timezone setup' );
}
}
if ( ! config_update_value ( 'sound_alert' , get_parameter ( 'sound_alert' ))) {
$error_update [] = __ ( 'Sound for Alert fired' );
}
if ( ! config_update_value ( 'sound_critical' , get_parameter ( 'sound_critical' ))) {
$error_update [] = __ ( 'Sound for Monitor critical' );
}
if ( ! config_update_value ( 'sound_warning' , get_parameter ( 'sound_warning' ))) {
$error_update [] = __ ( 'Sound for Monitor warning' );
}
// Update of Pandora FMS license.
$update_manager_installed = db_get_value ( 'value' , 'tconfig' , 'token' , 'update_manager_installed' );
if ( $update_manager_installed == 1 ) {
$license_info_key = get_parameter ( 'license_info_key' , '' );
if ( ! empty ( $license_info_key )) {
$values = [ db_escape_key_identifier ( 'value' ) => $license_info_key ];
$where = [ db_escape_key_identifier ( 'key' ) => 'customer_key' ];
$update_manage_settings_result = db_process_sql_update ( 'tupdate_settings' , $values , $where );
if ( $update_manage_settings_result === false ) {
$error_update [] = __ ( 'License information' );
}
}
}
if ( ! config_update_value ( 'public_url' , get_parameter ( 'public_url' ))) {
$error_update [] = __ ( 'Public URL' );
}
2019-07-02 14:17:53 +02:00
if ( ! config_update_value ( 'force_public_url' , get_parameter_switch ( 'force_public_url' ))) {
$error_update [] = __ ( 'Force use Public URL' );
}
if ( ! config_update_value ( 'public_url_exclusions' , get_parameter ( 'public_url_exclusions' ))) {
$error_update [] = __ ( 'Public URL host exclusions' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'referer_security' , get_parameter ( 'referer_security' ))) {
$error_update [] = __ ( 'Referer security' );
}
2019-05-17 11:31:02 +02:00
if ( ! config_update_value ( 'event_storm_protection' , get_parameter ( 'event_storm_protection' , 0 ))) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Event storm protection' );
}
if ( ! config_update_value ( 'command_snapshot' , get_parameter ( 'command_snapshot' ))) {
$error_update [] = __ ( 'Command Snapshot' );
}
2020-06-23 09:21:15 +02:00
if ( ! config_update_value ( 'use_custom_encoding' , get_parameter ( 'use_custom_encoding' , 0 ))) {
$error_update [] = __ ( 'Use custom encoding' );
}
2020-06-09 12:51:17 +02:00
if ( ! config_update_value ( 'server_log_dir' , io_safe_input ( strip_tags ( io_safe_output ( get_parameter ( 'server_log_dir' )))))) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Server logs directory' );
}
if ( ! config_update_value ( 'max_log_size' , get_parameter ( 'max_log_size' ))) {
$error_update [] = __ ( 'Log size limit in system logs viewer extension' );
}
if ( ! config_update_value ( 'tutorial_mode' , get_parameter ( 'tutorial_mode' ))) {
$error_update [] = __ ( 'Tutorial mode' );
}
if ( ! config_update_value ( 'past_planned_downtimes' , get_parameter ( 'past_planned_downtimes' ))) {
2021-05-10 11:06:43 +02:00
$error_update [] = __ ( 'Allow create scheduled downtimes in the past' );
2019-02-07 16:24:49 +01:00
}
if ( ! config_update_value ( 'limit_parameters_massive' , get_parameter ( 'limit_parameters_massive' ))) {
$error_update [] = __ ( 'Limit parameters bulk' );
}
if ( ! config_update_value ( 'identification_reminder' , get_parameter ( 'identification_reminder' ))) {
$error_update [] = __ ( 'Identification_reminder' );
}
if ( ! config_update_value ( 'include_agents' , ( bool ) get_parameter ( 'include_agents' ))) {
$error_update [] = __ ( 'Include_agents' );
}
if ( ! config_update_value ( 'alias_as_name' , get_parameter ( 'alias_as_name' ))) {
$error_update [] = __ ( 'alias_as_name' );
}
2020-06-08 10:48:48 +02:00
if ( ! config_update_value ( 'console_log_enabled' , get_parameter ( 'console_log_enabled' ))) {
$error_update [] = __ ( 'Console log enabled' );
}
if ( ! config_update_value ( 'audit_log_enabled' , get_parameter ( 'audit_log_enabled' ))) {
$error_update [] = __ ( 'Audit log enabled' );
2019-02-07 16:24:49 +01:00
}
2019-03-05 12:54:11 +01:00
2020-09-17 14:38:01 +02:00
if ( ! config_update_value ( 'module_custom_id_ro' , get_parameter ( 'module_custom_id_ro' ))) {
$error_update [] = __ ( 'Module Custom ID read only' );
}
2019-03-05 12:54:11 +01:00
if ( ! config_update_value ( 'unique_ip' , get_parameter ( 'unique_ip' ))) {
$error_update [] = __ ( 'unique_ip' );
}
2019-06-10 09:43:27 +02:00
if ( ! config_update_value ( 'email_smtpServer' , get_parameter ( 'email_smtpServer' ))) {
$error_update [] = __ ( 'Server SMTP' );
}
if ( ! config_update_value ( 'email_from_dir' , get_parameter ( 'email_from_dir' ))) {
$error_update [] = __ ( 'From dir' );
}
if ( ! config_update_value ( 'email_from_name' , get_parameter ( 'email_from_name' ))) {
$error_update [] = __ ( 'From name' );
}
if ( ! config_update_value ( 'email_smtpPort' , ( int ) get_parameter ( 'email_smtpPort' ))) {
$error_update [] = __ ( 'Port SMTP' );
}
if ( ! config_update_value ( 'email_encryption' , get_parameter ( 'email_encryption' ))) {
$error_update [] = __ ( 'Encryption' );
}
if ( ! config_update_value ( 'email_username' , get_parameter ( 'email_username' ))) {
$error_update [] = __ ( 'Email user' );
}
2019-12-17 15:25:28 +01:00
if ( ! config_update_value ( 'email_password' , io_input_password ( get_parameter ( 'email_password' )))) {
2019-06-10 09:43:27 +02:00
$error_update [] = __ ( 'Email password' );
}
2019-02-07 16:24:49 +01:00
break ;
case 'enterprise' :
if ( isset ( $config [ 'enterprise_installed' ]) && $config [ 'enterprise_installed' ] == 1 ) {
if ( ! config_update_value ( 'trap2agent' , ( string ) get_parameter ( 'trap2agent' ))) {
$error_update [] = __ ( 'Forward SNMP traps to agent (if exist)' );
}
if ( ! config_update_value ( 'acl_enterprise' , get_parameter ( 'acl_enterprise' ))) {
$error_update [] = __ ( 'Use Enterprise ACL System' );
}
if ( ! config_update_value ( 'metaconsole' , get_parameter ( 'metaconsole' ))) {
$error_update [] = __ ( 'Activate Metaconsole' );
}
if ( ! config_update_value ( 'collection_max_size' , get_parameter ( 'collection_max_size' ))) {
$error_update [] = __ ( 'Size of collection' );
}
if ( ! config_update_value ( 'event_replication' , ( int ) get_parameter ( 'event_replication' ))) {
$error_update [] = __ ( 'Events replication' );
}
if (( int ) get_parameter ( 'event_replication' ) == 1 ) {
if ( ! config_update_value ( 'replication_interval' , ( int ) get_parameter ( 'replication_interval' ))) {
$error_update [] = __ ( 'Replication interval' );
}
if ( ! config_update_value ( 'replication_limit' , ( int ) get_parameter ( 'replication_limit' ))) {
$error_update [] = __ ( 'Replication limit' );
}
if ( ! config_update_value ( 'replication_mode' , ( string ) get_parameter ( 'replication_mode' ))) {
$error_update [] = __ ( 'Replication mode' );
}
if ( ! config_update_value ( 'show_events_in_local' , ( string ) get_parameter ( 'show_events_in_local' ))) {
$error_update [] = __ ( 'Show events list in local console (read only)' );
}
}
if ( ! config_update_value ( 'replication_dbengine' , ( string ) get_parameter ( 'replication_dbengine' ))) {
$error_update [] = __ ( 'Replication DB engine' );
}
if ( ! config_update_value ( 'replication_dbhost' , ( string ) get_parameter ( 'replication_dbhost' ))) {
$error_update [] = __ ( 'Replication DB host' );
}
if ( ! config_update_value ( 'replication_dbname' , ( string ) get_parameter ( 'replication_dbname' ))) {
$error_update [] = __ ( 'Replication DB database' );
}
if ( ! config_update_value ( 'replication_dbuser' , ( string ) get_parameter ( 'replication_dbuser' ))) {
$error_update [] = __ ( 'Replication DB user' );
}
if ( ! config_update_value ( 'replication_dbpass' , io_input_password (( string ) get_parameter ( 'replication_dbpass' )))) {
$error_update [] = __ ( 'Replication DB password' );
}
if ( ! config_update_value ( 'replication_dbport' , ( string ) get_parameter ( 'replication_dbport' ))) {
$error_update [] = __ ( 'Replication DB port' );
}
if ( ! config_update_value ( 'metaconsole_agent_cache' , ( int ) get_parameter ( 'metaconsole_agent_cache' ))) {
$error_update [] = __ ( 'Metaconsole agent cache' );
}
if ( ! config_update_value ( 'log_collector' , ( bool ) get_parameter ( 'log_collector' ))) {
$error_update [] = __ ( 'Activate Log Collector' );
}
if ( ! config_update_value ( 'enable_update_manager' , get_parameter ( 'enable_update_manager' ))) {
$error_update [] = __ ( 'Enable Update Manager' );
}
if ( ! config_update_value ( 'ipam_ocuppied_critical_treshold' , get_parameter ( 'ipam_ocuppied_critical_treshold' ))) {
$error_update [] = __ ( 'Ipam Ocuppied Manager Critical' );
}
if ( ! config_update_value ( 'ipam_ocuppied_warning_treshold' , get_parameter ( 'ipam_ocuppied_warning_treshold' ))) {
$error_update [] = __ ( 'Ipam Ocuppied Manager Warning' );
}
2019-11-21 18:21:46 +01:00
if ( ! config_update_value ( 'sap_license' , get_parameter ( 'sap_license' ))) {
2019-11-27 11:49:20 +01:00
$error_update [] = __ ( 'SAP/R3 Plugin Licence' );
2019-11-21 18:21:46 +01:00
}
2019-02-07 16:24:49 +01:00
$inventory_changes_blacklist = get_parameter ( 'inventory_changes_blacklist' , []);
if ( ! config_update_value ( 'inventory_changes_blacklist' , implode ( ',' , $inventory_changes_blacklist ))) {
$error_update [] = __ ( 'Inventory changes blacklist' );
}
}
break ;
case 'pass' :
if ( isset ( $config [ 'enterprise_installed' ]) && $config [ 'enterprise_installed' ] == 1 ) {
if ( ! config_update_value ( 'enable_pass_policy' , get_parameter ( 'enable_pass_policy' ))) {
$error_update [] = __ ( 'Enable password policy' );
}
if ( ! config_update_value ( 'pass_size' , get_parameter ( 'pass_size' ))) {
$error_update [] = __ ( 'Min. size password' );
}
if ( ! config_update_value ( 'pass_expire' , get_parameter ( 'pass_expire' ))) {
$error_update [] = __ ( 'Password expiration' );
}
if ( ! config_update_value ( 'first_login' , get_parameter ( 'first_login' ))) {
$error_update [] = __ ( 'Force change password on first login' );
}
if ( ! config_update_value ( 'mins_fail_pass' , get_parameter ( 'mins_fail_pass' ))) {
$error_update [] = __ ( 'User blocked if login fails' );
}
if ( ! config_update_value ( 'number_attempts' , get_parameter ( 'number_attempts' ))) {
$error_update [] = __ ( 'Number of failed login attempts' );
}
if ( ! config_update_value ( 'pass_needs_numbers' , get_parameter ( 'pass_needs_numbers' ))) {
$error_update [] = __ ( 'Password must have numbers' );
}
if ( ! config_update_value ( 'pass_needs_symbols' , get_parameter ( 'pass_needs_symbols' ))) {
$error_update [] = __ ( 'Password must have symbols' );
}
if ( ! config_update_value ( 'enable_pass_policy_admin' , get_parameter ( 'enable_pass_policy_admin' ))) {
$error_update [] = __ ( 'Apply password policy to admin users' );
}
if ( ! config_update_value ( 'enable_pass_history' , get_parameter ( 'enable_pass_history' ))) {
$error_update [] = __ ( 'Enable password history' );
}
if ( ! config_update_value ( 'compare_pass' , get_parameter ( 'compare_pass' ))) {
$error_update [] = __ ( 'Compare previous password' );
}
if ( ! config_update_value ( 'reset_pass_option' , ( bool ) get_parameter ( 'reset_pass_option' ))) {
$error_update [] = __ ( 'Activate reset password' );
}
}
break ;
case 'auth' :
// AUTHENTICATION SETUP.
if ( ! config_update_value ( 'auth' , get_parameter ( 'auth' ))) {
$error_update [] = __ ( 'Authentication method' );
}
if ( ! config_update_value ( 'autocreate_remote_users' , get_parameter ( 'autocreate_remote_users' ))) {
$error_update [] = __ ( 'Autocreate remote users' );
}
if ( ! config_update_value ( 'default_remote_profile' , get_parameter ( 'default_remote_profile' ))) {
$error_update [] = __ ( 'Autocreate profile' );
}
if ( ! config_update_value ( 'default_remote_group' , get_parameter ( 'default_remote_group' ))) {
$error_update [] = __ ( 'Autocreate profile group' );
}
if ( ! config_update_value ( 'default_assign_tags' , implode ( ',' , get_parameter ( 'default_assign_tags' )))) {
$error_update [] = __ ( 'Autocreate profile tags' );
}
if ( ! config_update_value ( 'default_no_hierarchy' , ( int ) get_parameter ( 'default_no_hierarchy' ))) {
$error_update [] = __ ( 'Automatically assigned no hierarchy' );
}
if ( ! config_update_value ( 'autocreate_blacklist' , get_parameter ( 'autocreate_blacklist' ))) {
$error_update [] = __ ( 'Autocreate blacklist' );
}
if ( ! config_update_value ( 'ad_server' , get_parameter ( 'ad_server' ))) {
$error_update [] = __ ( 'Active directory server' );
}
if ( ! config_update_value ( 'ad_port' , get_parameter ( 'ad_port' ))) {
$error_update [] = __ ( 'Active directory port' );
}
if ( ! config_update_value ( 'ad_start_tls' , get_parameter ( 'ad_start_tls' ))) {
$error_update [] = __ ( 'Start TLS' );
}
if ( ! config_update_value ( 'ad_advanced_config' , get_parameter ( 'ad_advanced_config' ))) {
$error_update [] = __ ( 'Advanced Config AD' );
}
if ( ! config_update_value ( 'ldap_advanced_config' , get_parameter ( 'ldap_advanced_config' ))) {
$error_update [] = __ ( 'Advanced Config LDAP' );
}
if ( ! config_update_value ( 'ad_domain' , get_parameter ( 'ad_domain' ))) {
$error_update [] = __ ( 'Domain' );
}
if ( ! config_update_value ( 'ad_adv_perms' , get_parameter ( 'ad_adv_perms' ))) {
$error_update [] = __ ( 'Advanced Permisions AD' );
}
if ( ! config_update_value ( 'ldap_adv_perms' , get_parameter ( 'ldap_adv_perms' ))) {
$error_update [] = __ ( 'Advanced Permissions LDAP' );
}
if ( ! config_update_value ( 'ldap_server' , get_parameter ( 'ldap_server' ))) {
$error_update [] = __ ( 'LDAP server' );
}
if ( ! config_update_value ( 'ldap_port' , get_parameter ( 'ldap_port' ))) {
$error_update [] = __ ( 'LDAP port' );
}
if ( ! config_update_value ( 'ldap_version' , get_parameter ( 'ldap_version' ))) {
$error_update [] = __ ( 'LDAP version' );
}
if ( ! config_update_value ( 'ldap_start_tls' , get_parameter ( 'ldap_start_tls' ))) {
$error_update [] = __ ( 'Start TLS' );
}
if ( ! config_update_value ( 'ldap_base_dn' , get_parameter ( 'ldap_base_dn' ))) {
$error_update [] = __ ( 'Base DN' );
}
if ( ! config_update_value ( 'ldap_login_attr' , get_parameter ( 'ldap_login_attr' ))) {
$error_update [] = __ ( 'Login attribute' );
}
if ( ! config_update_value ( 'ldap_admin_login' , get_parameter ( 'ldap_admin_login' ))) {
$error_update [] = __ ( 'Admin LDAP login' );
}
2019-12-17 15:25:28 +01:00
if ( ! config_update_value ( 'ldap_admin_pass' , io_input_password ( get_parameter ( 'ldap_admin_pass' )))) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Admin LDAP password' );
}
if ( ! config_update_value ( 'fallback_local_auth' , get_parameter ( 'fallback_local_auth' ))) {
$error_update [] = __ ( 'Fallback to local authentication' );
}
if ( ! config_update_value ( 'ldap_login_user_attr' , get_parameter ( 'ldap_login_user_attr' ))) {
$error_update [] = __ ( 'Login user attribute' );
}
if ( ! config_update_value ( 'ldap_function' , get_parameter ( 'ldap_function' ))) {
$error_update [] = __ ( 'LDAP function' );
}
if ( isset ( $config [ 'fallback_local_auth' ]) && $config [ 'fallback_local_auth' ] == 0 ) {
if ( ! config_update_value ( 'ldap_save_password' , get_parameter ( 'ldap_save_password' ))) {
$error_update [] = __ ( 'Save Password' );
}
} else if ( isset ( $config [ 'fallback_local_auth' ]) && $config [ 'fallback_local_auth' ] == 1 ) {
config_update_value ( 'ldap_save_password' , 1 );
}
2019-04-08 11:55:58 +02:00
if ( ! config_update_value ( 'ldap_save_profile' , get_parameter ( 'ldap_save_profile' ))) {
$error_update [] = __ ( 'Save profile' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'rpandora_server' , get_parameter ( 'rpandora_server' ))) {
$error_update [] = __ ( 'MySQL host' );
}
if ( ! config_update_value ( 'rpandora_port' , get_parameter ( 'rpandora_port' ))) {
$error_update [] = __ ( 'MySQL port' );
}
if ( ! config_update_value ( 'rpandora_dbname' , get_parameter ( 'rpandora_dbname' ))) {
$error_update [] = __ ( 'Database name' );
}
if ( ! config_update_value ( 'rpandora_user' , get_parameter ( 'rpandora_user' ))) {
$error_update [] = __ ( 'User' );
}
if ( ! config_update_value ( 'rpandora_pass' , io_input_password ( get_parameter ( 'rpandora_pass' )))) {
$error_update [] = __ ( 'Password' );
}
if ( ! config_update_value ( 'rintegria_server' , get_parameter ( 'rintegria_server' ))) {
$error_update [] = __ ( 'Integria host' );
}
if ( ! config_update_value ( 'rintegria_port' , get_parameter ( 'rintegria_port' ))) {
$error_update [] = __ ( 'MySQL port' );
}
if ( ! config_update_value ( 'rintegria_dbname' , get_parameter ( 'rintegria_dbname' ))) {
$error_update [] = __ ( 'Database name' );
}
if ( ! config_update_value ( 'rintegria_user' , get_parameter ( 'rintegria_user' ))) {
$error_update [] = __ ( 'User' );
}
if ( ! config_update_value ( 'rintegria_pass' , io_input_password ( get_parameter ( 'rintegria_pass' )))) {
$error_update [] = __ ( 'Password' );
}
if ( ! config_update_value ( 'saml_path' , get_parameter ( 'saml_path' ))) {
$error_update [] = __ ( 'Saml path' );
}
2019-06-14 10:34:51 +02:00
if ( ! config_update_value ( 'saml_source' , get_parameter ( 'saml_source' ))) {
$error_update [] = __ ( 'Saml source' );
}
if ( ! config_update_value ( 'saml_user_id' , get_parameter ( 'saml_user_id' ))) {
$error_update [] = __ ( 'Saml user id parameter' );
}
if ( ! config_update_value ( 'saml_mail' , get_parameter ( 'saml_mail' ))) {
$error_update [] = __ ( 'Saml mail parameter' );
}
if ( ! config_update_value ( 'saml_group_name' , get_parameter ( 'saml_group_name' ))) {
$error_update [] = __ ( 'Saml group name parameter' );
}
2019-06-27 17:42:29 +02:00
if ( ! config_update_value ( 'saml_attr_type' , ( bool ) get_parameter ( 'saml_attr_type' ))) {
$error_update [] = __ ( 'Saml attr type parameter' );
}
2019-06-14 10:34:51 +02:00
if ( ! config_update_value ( 'saml_profiles_and_tags' , get_parameter ( 'saml_profiles_and_tags' ))) {
$error_update [] = __ ( 'Saml profiles and tags parameter' );
}
2019-06-27 17:42:29 +02:00
if ( ! config_update_value ( 'saml_profile' , get_parameter ( 'saml_profile' ))) {
$error_update [] = __ ( 'Saml profile parameters' );
}
if ( ! config_update_value ( 'saml_tag' , get_parameter ( 'saml_tag' ))) {
$error_update [] = __ ( 'Saml tag parameter' );
}
2019-06-14 10:34:51 +02:00
if ( ! config_update_value ( 'saml_profile_tag_separator' , get_parameter ( 'saml_profile_tag_separator' ))) {
$error_update [] = __ ( 'Saml profile and tag separator' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'double_auth_enabled' , get_parameter ( 'double_auth_enabled' ))) {
$error_update [] = __ ( 'Double authentication' );
}
2020-09-30 14:20:57 +02:00
if ( ! config_update_value ( '2FA_all_users' , get_parameter ( '2FA_all_users' ))) {
$error_update [] = __ ( '2FA all users' );
2019-02-07 16:24:49 +01:00
}
if ( ! config_update_value ( 'session_timeout' , get_parameter ( 'session_timeout' ))) {
$error_update [] = __ ( 'Session timeout' );
2020-11-26 18:27:11 +01:00
} else {
if (( int ) get_parameter ( 'session_timeout' ) === 0 ) {
$error_update [] = __ ( 'Session timeout forced to 90 minutes' );
if ( ! config_update_value ( 'session_timeout' , 90 )) {
$error_update [] = __ ( 'Session timeout' );
}
}
2019-02-07 16:24:49 +01:00
}
2020-09-18 14:50:50 +02:00
if ( isset ( $config [ 'fallback_local_auth' ]) && $config [ 'fallback_local_auth' ] == 0 ) {
if ( ! config_update_value ( 'ad_save_password' , get_parameter ( 'ad_save_password' ))) {
$error_update [] = __ ( 'Save Password' );
}
} else if ( isset ( $config [ 'fallback_local_auth' ]) && $config [ 'fallback_local_auth' ] == 1 ) {
config_update_value ( 'ad_save_password' , 1 );
}
2019-02-07 16:24:49 +01:00
break ;
case 'perf' :
// PERFORMANCE SETUP.
if ( ! config_update_value ( 'event_purge' , get_parameter ( 'event_purge' ))) {
$check_metaconsole_events_history = get_parameter ( 'metaconsole_events_history' , - 1 );
$error_update [] = $check_metaconsole_events_history ;
}
if ( $check_metaconsole_events_history != - 1 ) {
if ( ! config_update_value ( 'metaconsole_events_history' , get_parameter ( 'metaconsole_events_history' ))) {
$error_update [] = __ ( 'Max. days before delete events' );
}
}
if ( ! config_update_value ( 'trap_purge' , get_parameter ( 'trap_purge' ))) {
$error_update [] = __ ( 'Max. days before delete traps' );
}
if ( ! config_update_value ( 'string_purge' , get_parameter ( 'string_purge' ))) {
$error_update [] = __ ( 'Max. days before delete string data' );
}
if ( ! config_update_value ( 'audit_purge' , get_parameter ( 'audit_purge' ))) {
$error_update [] = __ ( 'Max. days before delete audit events' );
}
if ( ! config_update_value ( 'gis_purge' , get_parameter ( 'gis_purge' ))) {
$error_update [] = __ ( 'Max. days before delete GIS data' );
}
if ( ! config_update_value ( 'days_purge' , ( int ) get_parameter ( 'days_purge' ))) {
$error_update [] = __ ( 'Max. days before purge' );
}
if ( ! config_update_value ( 'days_delete_unknown' , ( int ) get_parameter ( 'days_delete_unknown' ))) {
$error_update [] = __ ( 'Max. days before delete unknown modules' );
}
if ( ! config_update_value ( 'days_compact' , ( int ) get_parameter ( 'days_compact' ))) {
$error_update [] = __ ( 'Max. days before compact data' );
}
if ( ! config_update_value ( 'days_autodisable_deletion' , ( int ) get_parameter ( 'days_autodisable_deletion' ))) {
$error_update [] = __ ( 'Max. days before autodisable deletion' );
}
if ( ! config_update_value ( 'report_limit' , ( int ) get_parameter ( 'report_limit' ))) {
$error_update [] = __ ( 'Item limit for realtime reports)' );
}
if ( ! config_update_value ( 'step_compact' , ( int ) get_parameter ( 'step_compact' ))) {
$error_update [] = __ ( 'Compact interpolation in hours (1 Fine-20 bad)' );
}
if ( ! config_update_value ( 'event_view_hr' , ( int ) get_parameter ( 'event_view_hr' ))) {
$error_update [] = __ ( 'Default hours for event view' );
}
if ( ! config_update_value ( 'realtimestats' , get_parameter ( 'realtimestats' ))) {
$error_update [] = __ ( 'Use realtime statistics' );
}
if ( ! config_update_value ( 'stats_interval' , get_parameter ( 'stats_interval' ))) {
$error_update [] = __ ( 'Batch statistics period (secs)' );
}
if ( ! config_update_value ( 'agentaccess' , ( int ) get_parameter ( 'agentaccess' ))) {
$error_update [] = __ ( 'Use agent access graph' );
}
if ( ! config_update_value ( 'num_files_attachment' , ( int ) get_parameter ( 'num_files_attachment' ))) {
$error_update [] = __ ( 'Max. recommended number of files in attachment directory' );
}
if ( ! config_update_value ( 'delete_notinit' , get_parameter ( 'delete_notinit' ))) {
$error_update [] = __ ( 'Delete not init modules' );
}
if ( ! config_update_value ( 'big_operation_step_datos_purge' , get_parameter ( 'big_operation_step_datos_purge' ))) {
$error_update [] = __ ( 'Big Operatiopn Step to purge old data' );
}
if ( ! config_update_value ( 'small_operation_step_datos_purge' , get_parameter ( 'small_operation_step_datos_purge' ))) {
$error_update [] = __ ( 'Small Operation Step to purge old data' );
}
if ( ! config_update_value ( 'num_past_special_days' , get_parameter ( 'num_past_special_days' ))) {
$error_update [] = __ ( 'Retention period of past special days' );
}
if ( ! config_update_value ( 'max_macro_fields' , get_parameter ( 'max_macro_fields' ))) {
$error_update [] = __ ( 'Max. macro data fields' );
}
if ( isset ( $config [ 'enterprise_installed' ]) && $config [ 'enterprise_installed' ] == 1 ) {
if ( ! config_update_value ( 'inventory_purge' , get_parameter ( 'inventory_purge' ))) {
$error_update [] = __ ( 'Max. days before delete inventory data' );
}
}
2019-02-13 14:43:55 +01:00
if ( ! config_update_value ( 'delete_old_messages' , get_parameter ( 'delete_old_messages' ))) {
$error_update [] = __ ( 'Max. days before delete old messages' );
}
2019-03-01 12:39:55 +01:00
if ( ! config_update_value ( 'delete_old_network_matrix' , get_parameter ( 'delete_old_network_matrix' ))) {
$error_update [] = __ ( 'Max. days before delete old network matrix data' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'max_graph_container' , get_parameter ( 'max_graph_container' ))) {
$error_update [] = __ ( 'Graph container - Max. Items' );
}
2019-02-26 08:44:50 +01:00
if ( ! config_update_value ( 'max_execution_event_response' , get_parameter ( 'max_execution_event_response' ))) {
$error_update [] = __ ( 'Max execution event response' );
}
2020-12-02 10:13:22 +01:00
if ( ! config_update_value ( 'row_limit_csv' , get_parameter ( 'row_limit_csv' ))) {
$error_update [] = __ ( 'Row limit in csv log' );
}
2021-02-04 13:11:47 +01:00
if ( ! config_update_value ( 'snmpwalk' , get_parameter ( 'snmpwalk' ))) {
$error_update [] = __ ( 'SNMP walk binary path' );
}
if ( ! config_update_value ( 'snmpwalk_fallback' , get_parameter ( 'snmpwalk_fallback' ))) {
$error_update [] = __ ( 'SNMP walk binary path (fallback for v1)' );
}
2019-02-07 16:24:49 +01:00
break ;
case 'vis' :
// VISUAL STYLES SETUP.
if ( ! config_update_value ( 'date_format' , ( string ) get_parameter ( 'date_format' ))) {
$error_update [] = __ ( 'Date format string' );
}
if ( ! config_update_value ( 'prominent_time' , ( string ) get_parameter ( 'prominent_time' ))) {
$error_update [] = __ ( 'Timestamp or time comparation' );
}
if ( ! config_update_value ( 'graph_color1' , ( string ) get_parameter ( 'graph_color1' ))) {
$error_update [] = __ ( 'Graph color #1' );
}
if ( ! config_update_value ( 'graph_color2' , ( string ) get_parameter ( 'graph_color2' ))) {
$error_update [] = __ ( 'Graph color #2' );
}
if ( ! config_update_value ( 'graph_color3' , ( string ) get_parameter ( 'graph_color3' ))) {
$error_update [] = __ ( 'Graph color #3' );
}
if ( ! config_update_value ( 'graph_color4' , ( string ) get_parameter ( 'graph_color4' ))) {
$error_update [] = __ ( 'Graph color #4' );
}
if ( ! config_update_value ( 'graph_color5' , ( string ) get_parameter ( 'graph_color5' ))) {
$error_update [] = __ ( 'Graph color #5' );
}
if ( ! config_update_value ( 'graph_color6' , ( string ) get_parameter ( 'graph_color6' ))) {
$error_update [] = __ ( 'Graph color #6' );
}
if ( ! config_update_value ( 'graph_color7' , ( string ) get_parameter ( 'graph_color7' ))) {
$error_update [] = __ ( 'Graph color #7' );
}
if ( ! config_update_value ( 'graph_color8' , ( string ) get_parameter ( 'graph_color8' ))) {
$error_update [] = __ ( 'Graph color #8' );
}
if ( ! config_update_value ( 'graph_color9' , ( string ) get_parameter ( 'graph_color9' ))) {
$error_update [] = __ ( 'Graph color #9' );
}
if ( ! config_update_value ( 'graph_color10' , ( string ) get_parameter ( 'graph_color10' ))) {
$error_update [] = __ ( 'Graph color #10' );
}
if ( ! config_update_value ( 'interface_unit' , ( string ) get_parameter ( 'interface_unit' , __ ( 'Bytes' )))) {
$error_update [] = __ ( 'Value to interface graphics' );
}
if ( ! config_update_value ( 'graph_precision' , ( string ) get_parameter ( 'graph_precision' , 1 ))) {
$error_update [] = __ ( 'Data precision for reports' );
}
$style = ( string ) get_parameter ( 'style' );
if ( $style != $config [ 'style' ]) {
$style = substr ( $style , 0 , ( strlen ( $style ) - 4 ));
}
if ( ! config_update_value ( 'style' , $style )) {
$error_update [] = __ ( 'Style template' );
}
if ( ! config_update_value ( 'block_size' , ( int ) get_parameter ( 'block_size' ))) {
$error_update [] = __ ( 'Block size for pagination' );
}
if ( ! config_update_value ( 'round_corner' , ( bool ) get_parameter ( 'round_corner' ))) {
$error_update [] = __ ( 'Use round corners' );
}
2020-10-05 17:03:30 +02:00
if ( ! config_update_value ( 'maximum_y_axis' , ( bool ) get_parameter ( 'maximum_y_axis' ))) {
$error_update [] = __ ( 'Chart fit to content' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'show_qr_code_header' , ( bool ) get_parameter ( 'show_qr_code_header' ))) {
$error_update [] = __ ( 'Show QR code header' );
}
if ( ! config_update_value ( 'status_images_set' , ( string ) get_parameter ( 'status_images_set' ))) {
$error_update [] = __ ( 'Status icon set' );
}
if ( ! config_update_value ( 'fontpath' , ( string ) get_parameter ( 'fontpath' ))) {
$error_update [] = __ ( 'Font path' );
}
if ( ! config_update_value ( 'font_size' , get_parameter ( 'font_size' ))) {
$error_update [] = __ ( 'Font size' );
}
if ( ! config_update_value ( 'custom_favicon' , ( string ) get_parameter ( 'custom_favicon' ))) {
$error_update [] = __ ( 'Custom favicon' );
}
if ( ! config_update_value ( 'custom_logo' , ( string ) get_parameter ( 'custom_logo' ))) {
$error_update [] = __ ( 'Custom logo' );
}
2019-02-25 11:54:46 +01:00
if ( ! config_update_value ( 'custom_logo_collapsed' , ( string ) get_parameter ( 'custom_logo_collapsed' ))) {
$error_update [] = __ ( 'Custom logo collapsed' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'custom_logo_white_bg' , ( string ) get_parameter ( 'custom_logo_white_bg' ))) {
$error_update [] = __ ( 'Custom logo white background' );
}
if ( ! config_update_value ( 'custom_logo_login' , ( string ) get_parameter ( 'custom_logo_login' ))) {
$error_update [] = __ ( 'Custom logo login' );
}
if ( ! config_update_value ( 'custom_splash_login' , ( string ) get_parameter ( 'custom_splash_login' ))) {
$error_update [] = __ ( 'Custom splash login' );
}
if ( ! config_update_value ( 'custom_docs_logo' , ( string ) get_parameter ( 'custom_docs_logo' ))) {
$error_update [] = __ ( 'Custom documentation logo' );
}
if ( ! config_update_value ( 'custom_support_logo' , ( string ) get_parameter ( 'custom_support_logo' ))) {
$error_update [] = __ ( 'Custom support logo' );
}
if ( ! config_update_value ( 'custom_network_center_logo' , ( string ) get_parameter ( 'custom_network_center_logo' ))) {
$error_update [] = __ ( 'Custom networkmap center logo' );
}
if ( ! config_update_value ( 'custom_mobile_console_logo' , ( string ) get_parameter ( 'custom_mobile_console_logo' ))) {
$error_update [] = __ ( 'Custom networkmap center logo' );
}
2019-03-25 12:41:39 +01:00
if ( ! config_update_value ( 'custom_title_header' , ( string ) get_parameter ( 'custom_title_header' ))) {
$error_update [] = __ ( 'Custom title header' );
}
if ( ! config_update_value ( 'custom_subtitle_header' , ( string ) get_parameter ( 'custom_subtitle_header' ))) {
$error_update [] = __ ( 'Custom subtitle header' );
}
2021-05-25 11:58:18 +02:00
if ( ! config_update_value ( 'meta_custom_title_header' , ( string ) get_parameter ( 'meta_custom_title_header' ))) {
$error_update [] = __ ( 'Meta custom title header' );
}
if ( ! config_update_value ( 'meta_custom_subtitle_header' , ( string ) get_parameter ( 'meta_custom_subtitle_header' ))) {
$error_update [] = __ ( 'Meta custom subtitle header' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'custom_title1_login' , ( string ) get_parameter ( 'custom_title1_login' ))) {
$error_update [] = __ ( 'Custom title1 login' );
}
if ( ! config_update_value ( 'custom_title2_login' , ( string ) get_parameter ( 'custom_title2_login' ))) {
$error_update [] = __ ( 'Custom title2 login' );
}
if ( ! config_update_value ( 'login_background' , ( string ) get_parameter ( 'login_background' ))) {
$error_update [] = __ ( 'Login background' );
}
if ( ! config_update_value ( 'custom_docs_url' , ( string ) get_parameter ( 'custom_docs_url' ))) {
$error_update [] = __ ( 'Custom Docs url' );
}
if ( ! config_update_value ( 'custom_support_url' , ( string ) get_parameter ( 'custom_support_url' ))) {
$error_update [] = __ ( 'Custom support url' );
}
if ( ! config_update_value ( 'rb_product_name' , ( string ) get_parameter ( 'rb_product_name' ))) {
$error_update [] = __ ( 'Product name' );
}
if ( ! config_update_value ( 'rb_copyright_notice' , ( string ) get_parameter ( 'rb_copyright_notice' ))) {
$error_update [] = __ ( 'Copyright notice' );
}
if ( ! config_update_value ( 'meta_custom_logo_white_bg' , ( string ) get_parameter ( 'meta_custom_logo_white_bg' ))) {
$error_update [] = __ ( 'Custom logo metaconsole (white background)' );
}
if ( ! config_update_value ( 'meta_custom_logo_login' , ( string ) get_parameter ( 'meta_custom_logo_login' ))) {
$error_update [] = __ ( 'Custom logo login metaconsole' );
}
if ( ! config_update_value ( 'meta_custom_splash_login' , ( string ) get_parameter ( 'meta_custom_splash_login' ))) {
$error_update [] = __ ( 'Custom splash login metaconsole' );
}
if ( ! config_update_value ( 'meta_custom_title1_login' , ( string ) get_parameter ( 'meta_custom_title1_login' ))) {
$error_update [] = __ ( 'Custom title1 login metaconsole' );
}
if ( ! config_update_value ( 'meta_custom_title2_login' , ( string ) get_parameter ( 'meta_custom_title2_login' ))) {
$error_update [] = __ ( 'Custom title2 login metaconsole' );
}
if ( ! config_update_value ( 'meta_login_background' , ( string ) get_parameter ( 'meta_login_background' ))) {
$error_update [] = __ ( 'Login background metaconsole' );
}
if ( ! config_update_value ( 'meta_custom_docs_url' , ( string ) get_parameter ( 'meta_custom_docs_url' ))) {
$error_update [] = __ ( 'Custom Docs url' );
}
if ( ! config_update_value ( 'meta_custom_support_url' , ( string ) get_parameter ( 'meta_custom_support_url' ))) {
$error_update [] = __ ( 'Custom support url' );
}
2019-04-16 12:23:03 +02:00
if ( ! config_update_value ( 'legacy_vc' , ( int ) get_parameter ( 'legacy_vc' ))) {
$error_update [] = __ ( 'Use the legacy Visual Console' );
}
2019-05-28 18:34:07 +02:00
if ( ! config_update_value ( 'vc_default_cache_expiration' , ( int ) get_parameter ( 'vc_default_cache_expiration' ))) {
$error_update [] = __ ( " Default expiration of the Visual Console item's cache " );
}
2019-04-16 12:23:03 +02:00
if ( ! config_update_value ( 'vc_refr' , ( int ) get_parameter ( 'vc_refr' ))) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Default interval for refresh on Visual Console' );
}
if ( ! config_update_value ( 'vc_favourite_view' , ( int ) get_parameter ( 'vc_favourite_view' , 0 ))) {
$error_update [] = __ ( 'Default line favourite_view for the Visual Console' );
}
if ( ! config_update_value ( 'vc_menu_items' , ( int ) get_parameter ( 'vc_menu_items' , 10 ))) {
$error_update [] = __ ( 'Default line menu items for the Visual Console' );
}
if ( ! config_update_value ( 'vc_line_thickness' , ( int ) get_parameter ( 'vc_line_thickness' ))) {
$error_update [] = __ ( 'Default line thickness for the Visual Console' );
}
if ( ! config_update_value ( 'ser_menu_items' , ( int ) get_parameter ( 'ser_menu_items' , 10 ))) {
$error_update [] = __ ( 'Default line menu items for the Services' );
}
if ( ! config_update_value ( 'agent_size_text_small' , get_parameter ( 'agent_size_text_small' ))) {
$error_update [] = __ ( 'Agent size text' );
}
if ( ! config_update_value ( 'agent_size_text_medium' , get_parameter ( 'agent_size_text_medium' ))) {
$error_update [] = __ ( 'Agent size text' );
}
if ( ! config_update_value ( 'module_size_text_small' , get_parameter ( 'module_size_text_small' ))) {
$error_update [] = __ ( 'Module size text' );
}
if ( ! config_update_value ( 'module_size_text_medium' , get_parameter ( 'module_size_text_medium' ))) {
$error_update [] = __ ( 'Description size text' );
}
if ( ! config_update_value ( 'description_size_text' , get_parameter ( 'description_size_text' ))) {
$error_update [] = __ ( 'Description size text' );
}
if ( ! config_update_value ( 'item_title_size_text' , get_parameter ( 'item_title_size_text' ))) {
$error_update [] = __ ( 'Item title size text' );
}
if ( ! config_update_value ( 'gis_label' , get_parameter ( 'gis_label' ))) {
$error_update [] = __ ( 'GIS Labels' );
}
if ( ! config_update_value ( 'simple_module_value' , get_parameter ( 'simple_module_value' ))) {
$error_update [] = __ ( 'Show units in values report' );
}
if ( ! config_update_value ( 'gis_default_icon' , get_parameter ( 'gis_default_icon' ))) {
$error_update [] = __ ( 'Default icon in GIS' );
}
if ( ! config_update_value ( 'autohidden_menu' , get_parameter ( 'autohidden_menu' ))) {
$error_update [] = __ ( 'Autohidden menu' );
}
if ( ! config_update_value ( 'visual_animation' , get_parameter ( 'visual_animation' ))) {
$error_update [] = __ ( 'visual_animation' );
}
if ( ! config_update_value ( 'disable_help' , get_parameter ( 'disable_help' ))) {
$error_update [] = __ ( 'Disable help' );
}
if ( ! config_update_value ( 'fixed_graph' , get_parameter ( 'fixed_graph' ))) {
$error_update [] = __ ( 'Fixed graph' );
}
if ( ! config_update_value ( 'fixed_header' , get_parameter ( 'fixed_header' ))) {
$error_update [] = __ ( 'Fixed header' );
}
if ( ! config_update_value ( 'paginate_module' , get_parameter ( 'paginate_module' ))) {
$error_update [] = __ ( 'Paginate module' );
}
if ( ! config_update_value ( 'graphviz_bin_dir' , get_parameter ( 'graphviz_bin_dir' ))) {
$error_update [] = __ ( 'Custom graphviz directory' );
}
if ( ! config_update_value ( 'networkmap_max_width' , get_parameter ( 'networkmap_max_width' ))) {
$error_update [] = __ ( 'Networkmap max width' );
}
if ( ! config_update_value ( 'short_module_graph_data' , get_parameter ( 'short_module_graph_data' ))) {
$error_update [] = __ ( 'Shortened module graph data' );
}
if ( ! config_update_value ( 'show_group_name' , get_parameter ( 'show_group_name' ))) {
$error_update [] = __ ( 'Show the group name instead the group icon.' );
}
if ( ! config_update_value ( 'custom_graph_width' , ( int ) get_parameter ( 'custom_graph_width' , 1 ))) {
$error_update [] = __ ( 'Default line thickness for the Custom Graph.' );
}
if ( ! config_update_value ( 'type_module_charts' , ( string ) get_parameter ( 'type_module_charts' , 'area' ))) {
$error_update [] = __ ( 'Default type of module charts.' );
}
2020-12-17 16:58:20 +01:00
if ( ! config_update_value ( 'items_combined_charts' , ( string ) get_parameter ( 'items_combined_charts' , 10 ))) {
$error_update [] = __ ( 'Default Number of elements in Custom Graph.' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'type_interface_charts' , ( string ) get_parameter ( 'type_interface_charts' , 'line' ))) {
$error_update [] = __ ( 'Default type of interface charts.' );
}
if ( ! config_update_value ( 'render_proc' , ( bool ) get_parameter ( 'render_proc' , false ))) {
$error_update [] = __ ( 'Display data of proc modules in other format' );
}
if ( ! config_update_value ( 'render_proc_ok' , ( string ) get_parameter ( 'render_proc_ok' , __ ( 'Ok' )))) {
$error_update [] = __ ( 'Display text proc modules have state is ok' );
}
if ( ! config_update_value ( 'render_proc_fail' , ( string ) get_parameter ( 'render_proc_fail' , __ ( 'Fail' )))) {
$error_update [] = __ ( 'Display text when proc modules have state critical' );
}
// Daniel maya 02/06/2016 Display menu with click --INI.
if ( ! config_update_value ( 'click_display' , ( bool ) get_parameter ( 'click_display' , false ))) {
$error_update [] = __ ( 'Display lateral menus with left click' );
}
// Daniel maya 02/06/2016 Display menu with click --END.
if ( isset ( $config [ 'enterprise_installed' ]) && $config [ 'enterprise_installed' ] == 1 ) {
if ( ! config_update_value ( 'service_label_font_size' , get_parameter ( 'service_label_font_size' , false ))) {
$error_update [] = __ ( 'Service label font size' );
}
if ( ! config_update_value ( 'service_item_padding_size' , get_parameter ( 'service_item_padding_size' , false ))) {
$error_update [] = __ ( 'Service item padding size' );
}
}
if ( ! config_update_value ( 'percentil' , ( int ) get_parameter ( 'percentil' , 0 ))) {
$error_update [] = __ ( 'Default percentil' );
}
if ( ! config_update_value ( 'full_scale_option' , ( int ) get_parameter ( 'full_scale_option' , 0 ))) {
$error_update [] = __ ( 'Default full scale (TIP)' );
}
if ( ! config_update_value ( 'type_mode_graph' , ( int ) get_parameter ( 'type_mode_graph' , 0 ))) {
$error_update [] = __ ( 'Default soft graphs' );
}
if ( ! config_update_value ( 'zoom_graph' , ( int ) get_parameter ( 'zoom_graph' , 1 ))) {
$error_update [] = __ ( 'Default zoom graphs' );
}
2020-10-07 16:03:52 +02:00
if ( ! config_update_value (
'graph_image_height' ,
( int ) get_parameter ( 'graph_image_height' , 130 )
)
) {
$error_update [] = __ (
'Default height of the chart image'
);
2019-02-07 16:24:49 +01:00
}
// --------------------------------------------------
// CUSTOM VALUES POST PROCESS
// --------------------------------------------------
2020-06-09 10:22:54 +02:00
$custom_value = io_safe_input ( strip_tags ( io_safe_output ( get_parameter ( 'custom_value' ))));
$custom_text = io_safe_input ( strip_tags ( io_safe_output ( get_parameter ( 'custom_text' ))));
2019-02-07 16:24:49 +01:00
$custom_value_add = ( bool ) get_parameter ( 'custom_value_add' , 0 );
$custom_value_to_delete = get_parameter ( 'custom_value_to_delete' , 0 );
$custom_value = str_replace ( ',' , '.' , $custom_value );
if ( $custom_value_add ) {
include_once 'include/functions_post_process.php' ;
if ( ! post_process_add_custom_value (
$custom_text ,
( string ) $custom_value
)
) {
$error_update [] = __ ( 'Add the custom post process' );
}
}
if ( $custom_value_to_delete > 0 ) {
include_once 'include/functions_post_process.php' ;
if ( ! post_process_delete_custom_value ( $custom_value_to_delete )) {
$error_update [] = __ ( 'Delete the custom post process' );
}
}
// --------------------------------------------------
// --------------------------------------------------
// CUSTOM INTERVAL VALUES
// --------------------------------------------------
$interval_values = get_parameter ( 'interval_values' );
// Add new interval value if is provided.
$interval_value = ( float ) get_parameter ( 'interval_value' , 0 );
if ( $interval_value > 0 ) {
$interval_unit = ( int ) get_parameter ( 'interval_unit' );
$new_interval = ( $interval_value * $interval_unit );
if ( $interval_values === '' ) {
$interval_values = $new_interval ;
} else {
$interval_values_array = explode ( ',' , $interval_values );
if ( ! in_array ( $new_interval , $interval_values_array )) {
$interval_values_array [] = $new_interval ;
$interval_values = implode ( ',' , $interval_values_array );
}
}
}
// Delete interval value if is required.
$interval_to_delete = ( float ) get_parameter ( 'interval_to_delete' );
if ( $interval_to_delete > 0 ) {
$interval_values_array = explode ( ',' , $interval_values );
foreach ( $interval_values_array as $k => $iva ) {
if ( $interval_to_delete == $iva ) {
unset ( $interval_values_array [ $k ]);
}
}
$interval_values = implode ( ',' , $interval_values_array );
}
if ( ! config_update_value ( 'interval_values' , $interval_values )) {
$error_update [] = __ ( 'Delete interval' );
}
2019-12-05 17:41:44 +01:00
// --------------------------------------------------
// --------------------------------------------------
// MODULE CUSTOM UNITS
// --------------------------------------------------
2020-06-09 10:22:54 +02:00
$custom_unit = io_safe_input ( strip_tags ( io_safe_output ( get_parameter ( 'custom_module_unit' ))));
$custom_unit_to_delete = io_safe_input ( strip_tags ( io_safe_output ( get_parameter ( 'custom_module_unit_to_delete' , '' ))));
2019-12-05 17:41:44 +01:00
if ( ! empty ( $custom_unit )) {
if ( ! add_custom_module_unit (
$custom_unit
)
) {
$error_update [] = __ ( 'Add custom module unit' );
}
}
if ( ! empty ( $custom_unit_to_delete )) {
if ( ! delete_custom_module_unit ( $custom_unit_to_delete )) {
$error_update [] = __ ( 'Delete custom module unit' );
}
}
2019-02-07 16:24:49 +01:00
// --------------------------------------------------
if ( ! config_update_value ( 'custom_report_info' , get_parameter ( 'custom_report_info' ))) {
$error_update [] = __ ( 'Custom report info' );
}
// Juanma (06/05/2014) New feature: Custom front page for reports.
2019-10-09 16:24:37 +02:00
if ( ! config_update_value ( 'font_size_item_report' , get_parameter ( 'font_size_item_report' , 2 ))) {
2020-01-07 09:25:31 +01:00
$error_update [] = __ ( 'HTML font size for SLA (em)' );
}
2020-10-07 16:03:52 +02:00
if ( ! config_update_value ( 'global_font_size_report' , get_parameter ( 'global_font_size_report' , 10 ))) {
2020-01-07 09:25:31 +01:00
$error_update [] = __ ( 'PDF font size (px)' );
2019-10-09 16:24:37 +02:00
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'custom_report_front' , get_parameter ( 'custom_report_front' ))) {
$error_update [] = __ ( 'Custom report front' );
}
if ( ! config_update_value ( 'custom_report_front_font' , get_parameter ( 'custom_report_front_font' ))) {
$error_update [] = __ ( 'Custom report front' ) . ' - ' . __ ( 'Font family' );
}
if ( ! config_update_value ( 'custom_report_front_logo' , get_parameter ( 'custom_report_front_logo' ))) {
$error_update [] = __ ( 'Custom report front' ) . ' - ' . __ ( 'Custom logo' );
}
if ( ! config_update_value ( 'custom_report_front_header' , get_parameter ( 'custom_report_front_header' ))) {
$error_update [] = __ ( 'Custom report front' ) . ' - ' . __ ( 'Header' );
}
if ( ! config_update_value ( 'custom_report_front_firstpage' , get_parameter ( 'custom_report_front_firstpage' ))) {
$error_update [] = __ ( 'Custom report front' ) . ' - ' . __ ( 'First page' );
}
if ( ! config_update_value ( 'custom_report_front_footer' , get_parameter ( 'custom_report_front_footer' ))) {
$error_update [] = __ ( 'Custom report front' ) . ' - ' . __ ( 'Footer' );
}
if ( ! config_update_value ( 'csv_divider' , ( string ) get_parameter ( 'csv_divider' , ';' ))) {
$error_update [] = __ ( 'CSV divider' );
}
2019-12-05 17:41:44 +01:00
2020-07-23 16:52:24 +02:00
if ( ! config_update_value ( 'csv_decimal_separator' , ( string ) get_parameter ( 'csv_decimal_separator' , '.' ))) {
$error_update [] = __ ( 'CSV decimal separator' );
}
2020-01-17 12:42:29 +01:00
if ( ! config_update_value ( 'use_data_multiplier' , get_parameter ( 'use_data_multiplier' , '1' ))) {
2019-12-05 17:41:44 +01:00
$error_update [] = __ ( 'Use data multiplier' );
}
2019-02-07 16:24:49 +01:00
break ;
case 'net' :
if ( ! config_update_value ( 'netflow_path' , get_parameter ( 'netflow_path' ))) {
$error_update [] = __ ( 'Data storage path' );
}
if ( ! config_update_value ( 'netflow_interval' , ( int ) get_parameter ( 'netflow_interval' ))) {
$error_update [] = __ ( 'Daemon interval' );
}
if ( ! config_update_value ( 'netflow_daemon' , get_parameter ( 'netflow_daemon' ))) {
$error_update [] = __ ( 'Daemon binary path' );
}
if ( ! config_update_value ( 'netflow_nfdump' , get_parameter ( 'netflow_nfdump' ))) {
$error_update [] = __ ( 'Nfdump binary path' );
}
if ( ! config_update_value ( 'netflow_nfexpire' , get_parameter ( 'netflow_nfexpire' ))) {
$error_update [] = __ ( 'Nfexpire binary path' );
}
if ( ! config_update_value ( 'netflow_max_resolution' , ( int ) get_parameter ( 'netflow_max_resolution' ))) {
$error_update [] = __ ( 'Maximum chart resolution' );
}
if ( ! config_update_value ( 'netflow_disable_custom_lvfilters' , get_parameter ( 'netflow_disable_custom_lvfilters' ))) {
$error_update [] = __ ( 'Disable custom live view filters' );
}
if ( ! config_update_value ( 'netflow_max_lifetime' , ( int ) get_parameter ( 'netflow_max_lifetime' ))) {
$error_update [] = __ ( 'Netflow max lifetime' );
}
if ( ! config_update_value ( 'netflow_get_ip_hostname' , ( int ) get_parameter ( 'netflow_get_ip_hostname' ))) {
$error_update [] = __ ( 'Name resolution for IP address' );
}
break ;
case 'log' :
if ( ! config_update_value ( 'elasticsearch_ip' , get_parameter ( 'elasticsearch_ip' ))) {
$error_update [] = __ ( 'IP ElasticSearch server' );
}
if ( ! config_update_value ( 'elasticsearch_port' , get_parameter ( 'elasticsearch_port' ))) {
$error_update [] = __ ( 'Port ElasticSearch server' );
}
if ( ! config_update_value ( 'number_logs_viewed' , ( int ) get_parameter ( 'number_logs_viewed' ))) {
$error_update [] = __ ( 'Number of logs viewed' );
}
if ( ! config_update_value ( 'Days_purge_old_information' , ( int ) get_parameter ( 'Days_purge_old_information' ))) {
$error_update [] = __ ( 'Days to purge old information' );
}
break ;
case 'hist_db' :
2021-01-27 12:35:37 +01:00
if ( $config [ 'dbname' ] == get_parameter ( 'history_db_name' )
&& $config [ 'dbport' ] == get_parameter ( 'history_db_port' )
&& $config [ 'dbhost' ] == io_input_password ( get_parameter ( 'history_db_host' ))
) {
// Same definition for active and historical database!
// This is a critical error.
2021-02-22 12:25:24 +01:00
$config [ 'error_config_update_config' ][ 'correct' ] = false ;
$config [ 'error_config_update_config' ][ 'message' ] = __ (
'Active and historical database cannot be the same.'
);
return ;
2021-01-27 12:35:37 +01:00
} else {
if ( ! config_update_value ( 'history_db_host' , get_parameter ( 'history_db_host' ))) {
$error_update [] = __ ( 'Host' );
}
2019-02-07 16:24:49 +01:00
2021-01-27 12:35:37 +01:00
if ( ! config_update_value ( 'history_db_port' , get_parameter ( 'history_db_port' ))) {
$error_update [] = __ ( 'Port' );
}
2019-02-07 16:24:49 +01:00
2021-01-27 12:35:37 +01:00
if ( ! config_update_value ( 'history_db_name' , get_parameter ( 'history_db_name' ))) {
$error_update [] = __ ( 'Database name' );
}
2019-02-07 16:24:49 +01:00
}
2021-01-27 12:35:37 +01:00
if ( ! config_update_value ( 'history_db_enabled' , get_parameter ( 'history_db_enabled' ))) {
$error_update [] = __ ( 'Enable history database' );
2019-02-07 16:24:49 +01:00
}
2021-01-27 12:35:37 +01:00
if ( ! config_update_value ( 'history_event_enabled' , get_parameter ( 'history_event_enabled' ))) {
$error_update [] = __ ( 'Enable history event' );
2019-02-07 16:24:49 +01:00
}
if ( ! config_update_value ( 'history_db_user' , get_parameter ( 'history_db_user' ))) {
$error_update [] = __ ( 'Database user' );
}
if ( ! config_update_value ( 'history_db_pass' , io_input_password ( get_parameter ( 'history_db_pass' )))) {
$error_update [] = __ ( 'Database password' );
}
2019-12-02 11:54:39 +01:00
$history_db_days = get_parameter ( 'history_db_days' );
if ( ! is_numeric ( $history_db_days )
|| $history_db_days <= 0
|| ! config_update_value ( 'history_db_days' , $history_db_days )
) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Days' );
}
2019-12-02 11:54:39 +01:00
$history_event_days = get_parameter ( 'history_event_days' );
if ( ! is_numeric ( $history_event_days )
|| $history_event_days <= 0
|| ! config_update_value ( 'history_event_days' , $history_event_days )
) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Event Days' );
}
2019-12-02 11:54:39 +01:00
$history_db_step = get_parameter ( 'history_db_step' );
if ( ! is_numeric ( $history_db_step )
|| $history_db_step <= 0
|| ! config_update_value ( 'history_db_step' , $history_db_step )
) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Step' );
}
2019-12-02 11:54:39 +01:00
$history_db_delay = get_parameter ( 'history_db_delay' );
if ( ! is_numeric ( $history_db_delay )
|| $history_db_delay <= 0
|| ! config_update_value ( 'history_db_delay' , $history_db_delay )
) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Delay' );
}
2021-01-27 12:35:37 +01:00
if (( bool ) $config [ 'history_db_enabled' ] === true ) {
$dbm = new DBMaintainer (
[
'host' => $config [ 'history_db_host' ],
'port' => $config [ 'history_db_port' ],
'name' => $config [ 'history_db_name' ],
'user' => $config [ 'history_db_user' ],
'pass' => $config [ 'history_db_pass' ],
]
);
// Performs several checks and installs if needed.
2021-01-28 13:20:36 +01:00
if ( $dbm -> checkDatabaseDefinition () === true
&& $dbm -> isInstalled () === false
) {
// Target is ready but several tasks are pending.
$dbm -> process ();
} else if ( $dbm -> check () !== true ) {
2021-01-27 12:35:37 +01:00
$errors [] = $dbm -> getLastError ();
}
}
// Historical configuration tokens (stored in historical db).
if ( Config :: set (
'days_purge' ,
get_parameter ( 'history_dbh_purge' ),
true
) !== true
) {
$error_update [] = __ ( 'Historical database purge' );
}
if ( Config :: set (
2021-01-28 16:12:47 +01:00
'history_partitions_auto' ,
2021-02-01 15:00:54 +01:00
get_parameter_switch ( 'history_partitions_auto' , 0 ),
2021-01-27 12:35:37 +01:00
true
) !== true
) {
2021-02-01 15:00:54 +01:00
$error_update [] = __ ( 'Historical database partitions' );
2021-01-27 12:35:37 +01:00
}
if ( Config :: set (
'event_purge' ,
get_parameter ( 'history_dbh_events_purge' ),
true
) !== true
) {
$error_update [] = __ ( 'Historical database events purge' );
}
if ( Config :: set (
'string_purge' ,
get_parameter ( 'history_dbh_string_purge' ),
true
) !== true
) {
$error_update [] = __ ( 'Historical database string purge' );
}
// Disable history db in history db.
Config :: set ( 'history_db_enabled' , 0 , true );
2019-02-07 16:24:49 +01:00
break ;
case 'ehorus' :
2019-05-10 15:00:21 +02:00
if ( ! config_update_value ( 'ehorus_enabled' , ( int ) get_parameter ( 'ehorus_enabled' , 0 ))) {
2019-02-07 16:24:49 +01:00
$error_update [] = __ ( 'Enable eHorus' );
}
2019-05-28 13:14:42 +02:00
if ( ! config_update_value ( 'ehorus_user_level_conf' , ( int ) get_parameter ( 'ehorus_user_level_conf' , 0 ))) {
2019-05-09 19:23:18 +02:00
$error_update [] = __ ( 'eHorus user login' );
}
2019-02-07 16:24:49 +01:00
if ( ! config_update_value ( 'ehorus_user' , ( string ) get_parameter ( 'ehorus_user' , $config [ 'ehorus_user' ]))) {
$error_update [] = __ ( 'eHorus user' );
}
if ( ! config_update_value ( 'ehorus_pass' , io_input_password (( string ) get_parameter ( 'ehorus_pass' , $config [ 'ehorus_pass' ])))) {
$error_update [] = __ ( 'eHorus password' );
}
if ( ! config_update_value ( 'ehorus_hostname' , ( string ) get_parameter ( 'ehorus_hostname' , $config [ 'ehorus_hostname' ]))) {
$error_update [] = __ ( 'eHorus API hostname' );
}
if ( ! config_update_value ( 'ehorus_port' , ( int ) get_parameter ( 'ehorus_port' , $config [ 'ehorus_port' ]))) {
$error_update [] = __ ( 'eHorus API port' );
}
if ( ! config_update_value ( 'ehorus_req_timeout' , ( int ) get_parameter ( 'ehorus_req_timeout' , $config [ 'ehorus_req_timeout' ]))) {
$error_update [] = __ ( 'eHorus request timeout' );
}
if ( ! config_update_value ( 'ehorus_custom_field' , ( string ) get_parameter ( 'ehorus_custom_field' , $config [ 'ehorus_custom_field' ]))) {
$error_update [] = __ ( 'eHorus id custom field' );
}
break ;
2019-08-05 13:42:01 +02:00
case 'integria' :
2021-05-07 14:29:29 +02:00
if ( ! config_update_value ( 'integria_user_level_conf' , ( int ) get_parameter ( 'integria_user_level_conf' , 0 ))) {
$error_update [] = __ ( 'Integria user login' );
}
2019-08-05 13:42:01 +02:00
if ( ! config_update_value ( 'integria_enabled' , ( int ) get_parameter ( 'integria_enabled' , 0 ))) {
2019-09-25 16:13:37 +02:00
$error_update [] = __ ( 'Enable Integria IMS' );
2019-08-05 13:42:01 +02:00
}
if ( ! config_update_value ( 'integria_user' , ( string ) get_parameter ( 'integria_user' , $config [ 'integria_user' ]))) {
$error_update [] = __ ( 'Integria user' );
}
if ( ! config_update_value ( 'integria_pass' , io_input_password (( string ) get_parameter ( 'integria_pass' , $config [ 'integria_pass' ])))) {
$error_update [] = __ ( 'Integria password' );
}
2021-02-25 13:18:04 +01:00
$integria_hostname = ( string ) get_parameter ( 'integria_hostname' , $config [ 'integria_hostname' ]);
if ( parse_url ( $integria_hostname , PHP_URL_SCHEME ) === null ) {
2021-04-16 10:02:34 +02:00
if ( empty ( $_SERVER [ 'HTTPS' ]) === false ) {
$integria_hostname = 'https://' . $integria_hostname ;
} else {
$integria_hostname = 'http://' . $integria_hostname ;
}
2021-02-25 13:18:04 +01:00
}
if ( ! config_update_value ( 'integria_hostname' , $integria_hostname )) {
2019-08-05 13:42:01 +02:00
$error_update [] = __ ( 'integria API hostname' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'integria_api_pass' , io_input_password (( string ) get_parameter ( 'integria_api_pass' , $config [ 'integria_api_pass' ])))) {
$error_update [] = __ ( 'Integria API password' );
}
2019-08-05 13:42:01 +02:00
if ( ! config_update_value ( 'integria_req_timeout' , ( int ) get_parameter ( 'integria_req_timeout' , $config [ 'integria_req_timeout' ]))) {
$error_update [] = __ ( 'Integria request timeout' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'default_group' , ( int ) get_parameter ( 'default_group' , $config [ 'default_group' ]))) {
$error_update [] = __ ( 'Integria default group' );
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_default_group' , ( int ) get_parameter ( 'cr_default_group' , $config [ 'cr_default_group' ]))) {
$error_update [] = __ ( 'Integria custom response default group' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'default_criticity' , ( int ) get_parameter ( 'default_criticity' , $config [ 'default_criticity' ]))) {
2019-09-25 16:13:37 +02:00
$error_update [] = __ ( 'Integria default priority' );
2019-09-02 17:01:41 +02:00
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_default_criticity' , ( int ) get_parameter ( 'cr_default_criticity' , $config [ 'cr_default_criticity' ]))) {
$error_update [] = __ ( 'Integria custom response default priority' );
}
2019-09-17 13:38:17 +02:00
if ( ! config_update_value ( 'default_creator' , ( string ) get_parameter ( 'default_creator' , $config [ 'default_creator' ]))) {
$error_update [] = __ ( 'Integria default creator' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'default_owner' , ( string ) get_parameter ( 'default_owner' , $config [ 'default_owner' ]))) {
$error_update [] = __ ( 'Integria default owner' );
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_default_owner' , ( string ) get_parameter ( 'cr_default_owner' , $config [ 'cr_default_owner' ]))) {
$error_update [] = __ ( 'Integria custom response default owner' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'incident_type' , ( int ) get_parameter ( 'incident_type' , $config [ 'incident_type' ]))) {
2019-09-25 16:13:37 +02:00
$error_update [] = __ ( 'Integria default ticket type' );
2019-09-02 17:01:41 +02:00
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_incident_type' , ( int ) get_parameter ( 'cr_incident_type' , $config [ 'cr_incident_type' ]))) {
$error_update [] = __ ( 'Integria custom response default ticket type' );
}
2019-09-17 13:38:17 +02:00
if ( ! config_update_value ( 'incident_status' , ( int ) get_parameter ( 'incident_status' , $config [ 'incident_status' ]))) {
2019-09-25 16:13:37 +02:00
$error_update [] = __ ( 'Integria default ticket status' );
2019-09-17 13:38:17 +02:00
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_incident_status' , ( int ) get_parameter ( 'cr_incident_status' , $config [ 'cr_incident_status' ]))) {
$error_update [] = __ ( 'Integria custom response default ticket status' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'incident_title' , ( string ) get_parameter ( 'incident_title' , $config [ 'incident_title' ]))) {
2019-09-25 16:13:37 +02:00
$error_update [] = __ ( 'Integria default ticket title' );
2019-09-02 17:01:41 +02:00
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_incident_title' , ( string ) get_parameter ( 'cr_incident_title' , $config [ 'cr_incident_title' ]))) {
$error_update [] = __ ( 'Integria custom response default ticket title' );
}
2019-09-02 17:01:41 +02:00
if ( ! config_update_value ( 'incident_content' , ( string ) get_parameter ( 'incident_content' , $config [ 'incident_content' ]))) {
2019-09-25 16:13:37 +02:00
$error_update [] = __ ( 'Integria default ticket content' );
2019-09-02 17:01:41 +02:00
}
2019-09-26 13:22:10 +02:00
if ( ! config_update_value ( 'cr_incident_content' , ( string ) get_parameter ( 'cr_incident_content' , $config [ 'cr_incident_content' ]))) {
$error_update [] = __ ( 'Integria custom response default ticket content' );
}
2019-08-05 13:42:01 +02:00
break ;
2020-02-27 11:20:24 +01:00
case 'module_library' :
$module_library_user = get_parameter ( 'module_library_user' );
2020-12-10 10:49:13 +01:00
if ( ! config_update_value ( 'module_library_user' , $module_library_user )) {
2020-02-27 11:20:24 +01:00
$error_update [] = __ ( 'User' );
}
$module_library_password = get_parameter ( 'module_library_password' );
2020-12-10 10:49:13 +01:00
if ( ! config_update_value ( 'module_library_password' , $module_library_password )) {
2020-02-27 11:20:24 +01:00
$error_update [] = __ ( 'Password' );
}
break ;
2020-05-26 13:48:43 +02:00
case 'websocket_engine' :
if ( ! config_update_value ( 'ws_bind_address' , get_parameter ( 'ws_bind_address' ))) {
$error_update [] = __ ( 'WebSocket bind address' );
}
if ( ! config_update_value ( 'ws_port' , get_parameter ( 'ws_port' ))) {
$error_update [] = __ ( 'WebSocket port' );
}
if ( ! config_update_value ( 'ws_proxy_url' , get_parameter ( 'ws_proxy_url' ))) {
$error_update [] = __ ( 'WebSocket proxy url' );
}
break ;
2019-02-07 16:24:49 +01:00
default :
// Ignore.
break ;
}
default :
// Ignore.
break ;
}
if ( count ( $error_update ) > 0 ) {
$config [ 'error_config_update_config' ] = [];
$config [ 'error_config_update_config' ][ 'correct' ] = false ;
$values = implode ( ', ' , $error_update );
$config [ 'error_config_update_config' ][ 'message' ] = sprintf ( __ ( 'Failed updated: the next values cannot update: %s' ), $values );
} else {
$config [ 'error_config_update_config' ] = [];
$config [ 'error_config_update_config' ][ 'correct' ] = true ;
}
2021-01-27 12:35:37 +01:00
if ( count ( $errors ) > 0 ) {
$config [ 'error_config_update_config' ][ 'errors' ] = $errors ;
}
if ( count ( $warnings ) > 0 ) {
$config [ 'error_config_update_config' ][ 'warnings' ] = $warnings ;
}
2019-02-07 16:24:49 +01:00
enterprise_include_once ( 'include/functions_policies.php' );
$enterprise = enterprise_include_once ( 'include/functions_skins.php' );
if ( $enterprise !== ENTERPRISE_NOT_HOOK ) {
$config [ 'relative_path' ] = get_parameter ( 'relative_path' , $config [ 'relative_path' ]);
}
2009-03-05 13:52:59 +01:00
}
2019-02-07 16:24:49 +01:00
2009-03-05 13:52:59 +01:00
/**
2019-02-07 16:24:49 +01:00
* Process config variables .
*
* @ return void
2009-03-05 13:52:59 +01:00
*/
2019-02-07 16:24:49 +01:00
function config_process_config ()
{
global $config ;
$configs = db_get_all_rows_in_table ( 'tconfig' );
if ( empty ( $configs )) {
include $config [ 'homedir' ] . '/general/error_emptyconfig.php' ;
exit ;
}
$is_windows = false ;
if ( substr ( strtolower ( PHP_OS ), 0 , 3 ) === 'win' ) {
$is_windows = true ;
}
// Compatibility fix.
foreach ( $configs as $c ) {
$config [ $c [ 'token' ]] = $c [ 'value' ];
}
if ( ! isset ( $config [ 'language' ])) {
config_update_value ( 'language' , 'en' );
}
if ( isset ( $config [ 'homeurl' ]) && ( strlen ( $config [ 'homeurl' ]) > 0 )) {
if ( $config [ 'homeurl' ][ 0 ] != '/' ) {
$config [ 'homeurl' ] = '/' . $config [ 'homeurl' ];
}
}
if ( ! isset ( $config [ 'remote_config' ])) {
if ( $is_windows ) {
2019-09-24 19:07:55 +02:00
$default = 'C:\PandoraFMS\Pandora_Server\data_in' ;
2019-02-07 16:24:49 +01:00
} else {
$default = '/var/spool/pandora/data_in' ;
}
config_update_value ( 'remote_config' , $default );
}
if ( ! isset ( $config [ 'phantomjs_bin' ])) {
if ( $is_windows ) {
2019-09-24 19:07:55 +02:00
$default = 'C:\PandoraFMS\Pandora_Server\bin' ;
2019-02-07 16:24:49 +01:00
} else {
$default = '/usr/bin' ;
}
config_update_value ( 'phantomjs_bin' , $default );
}
if ( ! isset ( $config [ 'date_format' ])) {
config_update_value ( 'date_format' , 'F j, Y, g:i a' );
}
if ( ! isset ( $config [ 'event_view_hr' ])) {
config_update_value ( 'event_view_hr' , 8 );
}
if ( ! isset ( $config [ 'report_limit' ])) {
config_update_value ( 'report_limit' , 100 );
}
if ( ! isset ( $config [ 'loginhash_pwd' ])) {
config_update_value ( 'loginhash_pwd' , io_input_password (( rand ( 0 , 1000 ) * rand ( 0 , 1000 )) . 'pandorahash' ));
}
if ( ! isset ( $config [ 'trap2agent' ])) {
config_update_value ( 'trap2agent' , 0 );
}
if ( ! isset ( $config [ 'prominent_time' ])) {
// Prominent time tells us what to show prominently when a timestamp is
// displayed. The comparation (... days ago) or the timestamp (full date).
config_update_value ( 'prominent_time' , 'comparation' );
}
if ( ! isset ( $config [ 'timesource' ])) {
// Timesource says where time comes from (system or mysql).
config_update_value ( 'timesource' , 'system' );
}
if ( ! isset ( $config [ 'https' ])) {
// Sets whether or not we want to enforce https. We don't want to go to a
// potentially unexisting config by default.
config_update_value ( 'https' , false );
}
if ( ! isset ( $config [ 'use_cert' ])) {
config_update_value ( 'use_cert' , false );
}
if ( ! isset ( $config [ 'cert_path' ])) {
// Sets name and path of ssl path for use in application.
config_update_value ( 'cert_path' , '/etc/ssl/certs/pandorafms.pem' );
}
if ( ! isset ( $config [ 'num_files_attachment' ])) {
config_update_value ( 'num_files_attachment' , 100 );
}
if ( ! isset ( $config [ 'status_images_set' ])) {
config_update_value ( 'status_images_set' , 'default' );
}
// Load user session.
if ( isset ( $_SESSION [ 'id_usuario' ])) {
$config [ 'id_user' ] = $_SESSION [ 'id_usuario' ];
}
if ( ! isset ( $config [ 'round_corner' ])) {
config_update_value ( 'round_corner' , false );
}
2020-10-05 17:03:30 +02:00
if ( isset ( $config [ 'maximum_y_axis' ]) === false ) {
config_update_value ( 'maximum_y_axis' , false );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'show_qr_code_header' ])) {
config_update_value ( 'show_qr_code_header' , false );
}
if ( ! isset ( $config [ 'agentaccess' ])) {
config_update_value ( 'agentaccess' , true );
}
if ( ! isset ( $config [ 'timezone' ])) {
config_update_value ( 'timezone' , 'Europe/Berlin' );
}
if ( ! isset ( $config [ 'stats_interval' ])) {
config_update_value ( 'stats_interval' , SECONDS_5MINUTES );
}
if ( ! isset ( $config [ 'realtimestats' ])) {
config_update_value ( 'realtimestats' , 1 );
}
if ( ! isset ( $config [ 'delete_notinit' ])) {
config_update_value ( 'delete_notinit' , 0 );
}
if ( ! isset ( $config [ 'big_operation_step_datos_purge' ])) {
config_update_value ( 'big_operation_step_datos_purge' , 100 );
}
if ( ! isset ( $config [ 'small_operation_step_datos_purge' ])) {
config_update_value ( 'small_operation_step_datos_purge' , 1000 );
}
if ( ! isset ( $config [ 'num_past_special_days' ])) {
config_update_value ( 'num_past_special_days' , 0 );
}
if ( isset ( $config [ 'enterprise_installed' ])) {
if ( ! isset ( $config [ 'inventory_purge' ])) {
config_update_value ( 'inventory_purge' , 21 );
}
}
2019-02-13 14:43:55 +01:00
if ( ! isset ( $config [ 'delete_old_messages' ])) {
config_update_value ( 'delete_old_messages' , 21 );
}
2019-03-01 12:39:55 +01:00
if ( ! isset ( $config [ 'delete_old_network_matrix' ])) {
config_update_value ( 'delete_old_network_matrix' , 10 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'max_graph_container' ])) {
config_update_value ( 'max_graph_container' , 10 );
}
2019-02-26 08:44:50 +01:00
if ( ! isset ( $config [ 'max_execution_event_response' ])) {
config_update_value ( 'max_execution_event_response' , 10 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'max_macro_fields' ])) {
config_update_value ( 'max_macro_fields' , 10 );
}
2020-12-02 10:13:22 +01:00
if ( ! isset ( $config [ 'row_limit_csv' ])) {
config_update_value ( 'row_limit_csv' , 10000 );
}
2021-02-04 13:11:47 +01:00
if ( ! isset ( $config [ 'snmpwalk' ])) {
switch ( PHP_OS ) {
case 'FreeBSD' :
config_update_value ( 'snmpwalk' , '/usr/local/bin/snmpwalk' );
break ;
case 'NetBSD' :
config_update_value ( 'snmpwalk' , '/usr/pkg/bin/snmpwalk' );
break ;
case 'WIN32' :
case 'WINNT' :
case 'Windows' :
config_update_value ( 'snmpwalk' , 'snmpwalk' );
break ;
default :
config_update_value ( 'snmpwalk' , 'snmpbulkwalk' );
break ;
}
}
if ( ! isset ( $config [ 'snmpwalk_fallback' ])) {
config_update_value ( 'snmpwalk_fallback' , 'snmpwalk' );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'event_purge' ])) {
config_update_value ( 'event_purge' , 15 );
}
if ( ! isset ( $config [ 'metaconsole_events_history' ])) {
config_update_value ( 'metaconsole_events_history' , 0 );
}
if ( ! isset ( $config [ 'trap_purge' ])) {
config_update_value ( 'trap_purge' , 7 );
}
if ( ! isset ( $config [ 'string_purge' ])) {
config_update_value ( 'string_purge' , 14 );
}
if ( ! isset ( $config [ 'audit_purge' ])) {
config_update_value ( 'audit_purge' , 30 );
}
if ( ! isset ( $config [ 'acl_enterprise' ])) {
config_update_value ( 'acl_enterprise' , 0 );
}
if ( ! isset ( $config [ 'metaconsole' ])) {
config_update_value ( 'metaconsole' , 0 );
}
if ( ! isset ( $config [ 'gis_purge' ])) {
config_update_value ( 'gis_purge' , 7 );
}
if ( ! isset ( $config [ 'collection_max_size' ])) {
config_update_value ( 'collection_max_size' , 1000000 );
}
2021-03-16 09:21:16 +01:00
if ( ! isset ( $config [ 'policy_add_max_agents' ])) {
config_update_value ( 'policy_add_max_agents' , 200 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'event_replication' ])) {
config_update_value ( 'event_replication' , 0 );
}
if ( ! isset ( $config [ 'replication_interval' ])) {
config_update_value ( 'replication_interval' , 10 );
}
if ( ! isset ( $config [ 'replication_limit' ])) {
config_update_value ( 'replication_limit' , 50 );
}
if ( ! isset ( $config [ 'replication_dbengine' ])) {
config_update_value ( 'replication_dbengine' , 'mysql' );
}
if ( ! isset ( $config [ 'replication_dbhost' ])) {
config_update_value ( 'replication_dbhost' , '' );
}
if ( ! isset ( $config [ 'replication_dbname' ])) {
config_update_value ( 'replication_dbname' , '' );
}
if ( ! isset ( $config [ 'replication_dbuser' ])) {
config_update_value ( 'replication_dbuser' , '' );
}
if ( ! isset ( $config [ 'replication_dbpass' ])) {
config_update_value ( 'replication_dbpass' , '' );
}
if ( ! isset ( $config [ 'replication_dbport' ])) {
config_update_value ( 'replication_dbport' , '' );
}
if ( ! isset ( $config [ 'replication_mode' ])) {
config_update_value ( 'replication_mode' , 'only_validated' );
}
if ( ! isset ( $config [ 'metaconsole_agent_cache' ])) {
config_update_value ( 'metaconsole_agent_cache' , 0 );
}
if ( ! isset ( $config [ 'show_events_in_local' ])) {
config_update_value ( 'show_events_in_local' , 0 );
}
if ( ! isset ( $config [ 'log_collector' ])) {
config_update_value ( 'log_collector' , 0 );
}
if ( ! isset ( $config [ 'enable_update_manager' ])) {
config_update_value ( 'enable_update_manager' , 1 );
}
2019-07-11 12:45:52 +02:00
if ( ! isset ( $config [ 'disabled_newsletter' ])) {
config_update_value ( 'disabled_newsletter' , 0 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'ipam_ocuppied_critical_treshold' ])) {
config_update_value ( 'ipam_ocuppied_critical_treshold' , 90 );
}
if ( ! isset ( $config [ 'ipam_ocuppied_warning_treshold' ])) {
config_update_value ( 'ipam_ocuppied_warning_treshold' , 80 );
}
if ( ! isset ( $config [ 'reset_pass_option' ])) {
config_update_value ( 'reset_pass_option' , 0 );
}
if ( ! isset ( $config [ 'include_agents' ])) {
config_update_value ( 'include_agents' , 0 );
}
if ( ! isset ( $config [ 'alias_as_name' ])) {
config_update_value ( 'alias_as_name' , 0 );
}
2020-06-08 10:48:48 +02:00
if ( ! isset ( $config [ 'console_log_enabled' ])) {
config_update_value ( 'console_log_enabled' , 0 );
}
2019-09-24 19:07:55 +02:00
2020-06-08 10:48:48 +02:00
if ( ! isset ( $config [ 'audit_log_enabled' ])) {
config_update_value ( 'audit_log_enabled' , 0 );
2019-02-07 16:24:49 +01:00
}
2020-09-17 14:38:01 +02:00
if ( ! isset ( $config [ 'module_custom_id_ro' ])) {
config_update_value ( 'module_custom_id_ro' , 0 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'elasticsearch_ip' ])) {
config_update_value ( 'elasticsearch_ip' , '' );
}
if ( ! isset ( $config [ 'elasticsearch_port' ])) {
config_update_value ( 'elasticsearch_port' , 9200 );
}
if ( ! isset ( $config [ 'number_logs_viewed' ])) {
config_update_value ( 'number_logs_viewed' , 50 );
}
if ( ! isset ( $config [ 'Days_purge_old_information' ])) {
config_update_value ( 'Days_purge_old_information' , 90 );
}
if ( ! isset ( $config [ 'font_size' ])) {
2020-10-07 16:03:52 +02:00
config_update_value ( 'font_size' , 8 );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'limit_parameters_massive' ])) {
config_update_value ( 'limit_parameters_massive' , ( ini_get ( 'max_input_vars' ) / 2 ));
}
2019-02-06 18:06:49 +01:00
if ( ! isset ( $config [ 'unique_ip' ])) {
config_update_value ( 'unique_ip' , 0 );
}
2019-02-07 16:24:49 +01:00
2019-10-30 16:56:44 +01:00
if ( ! isset ( $config [ 'welcome_state' ])) {
config_update_value ( 'welcome_state' , WELCOME_STARTED );
2019-10-24 16:56:13 +02:00
}
2020-10-06 17:02:58 +02:00
if ( ! isset ( $config [ '2Fa_auth' ])) {
config_update_value ( '2Fa_auth' , '' );
}
2019-02-26 10:43:59 +01:00
/*
* Parse the ACL IP list for access API
*/
2019-09-24 19:07:55 +02:00
2019-12-17 15:25:28 +01:00
$temp_list_ACL_IPs_for_API = [];
if ( isset ( $config [ 'list_ACL_IPs_for_API' ])) {
if ( ! empty ( $config [ 'list_ACL_IPs_for_API' ])) {
$temp_list_ACL_IPs_for_API = explode ( ';' , $config [ 'list_ACL_IPs_for_API' ]);
}
}
$config [ 'list_ACL_IPs_for_API' ] = $temp_list_ACL_IPs_for_API ;
2019-02-07 16:24:49 +01:00
$keysConfig = array_keys ( $config );
2019-09-24 19:07:55 +02:00
/*
* This is not set here . The first time , when no
* setup is done , update_manager extension manage it
* the first time make a conenction and disable itself
* Not Managed here !
* if ( ! isset ( $config [ " autoupdate " ])) {
* config_update_value ( 'autoupdate' , true ); .
* }
*/
2019-02-07 16:24:49 +01:00
include_once $config [ 'homedir' ] . '/include/auth/mysql.php' ;
include_once $config [ 'homedir' ] . '/include/functions_io.php' ;
// Next is the directory where "/attachment" directory is placed,
// to upload files stores. This MUST be writtable by http server
// user, and should be in pandora root. By default, Pandora adds
// /attachment to this, so by default is the pandora console home
// dir.
2019-09-24 19:07:55 +02:00
$attachment_store_path = $config [ 'homedir' ] . '/attachment' ;
if ( strtoupper ( substr ( PHP_OS , 0 , 3 )) === 'WIN' ) {
// Windows.
$attachment_store_path = $config [ 'homedir' ] . '\attachment' ;
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'attachment_store' ])) {
config_update_value (
'attachment_store' ,
2019-09-24 19:07:55 +02:00
$attachment_store_path
2019-02-07 16:24:49 +01:00
);
} else {
// Fixed when the user moves the pandora console to another dir
// after the first uses.
if ( ! is_dir ( $config [ 'attachment_store' ])) {
config_update_value (
'attachment_store' ,
2019-09-24 19:07:55 +02:00
$attachment_store_path
2019-02-07 16:24:49 +01:00
);
}
}
if ( ! isset ( $config [ 'fontpath' ])) {
config_update_value (
'fontpath' ,
2021-06-28 11:25:22 +02:00
'Lato-Regular.ttf'
2019-02-07 16:24:49 +01:00
);
}
if ( ! isset ( $config [ 'style' ])) {
config_update_value ( 'style' , 'pandora' );
}
if ( ! isset ( $config [ 'login_background' ])) {
config_update_value ( 'login_background' , '' );
}
if ( ! isset ( $config [ 'login_background_meta' ])) {
config_update_value ( 'login_background_meta' , 'background_metaconsole.png' );
}
if ( ! isset ( $config [ 'paginate_module' ])) {
config_update_value ( 'paginate_module' , false );
}
if ( ! isset ( $config [ 'graphviz_bin_dir' ])) {
config_update_value ( 'graphviz_bin_dir' , '' );
}
if ( ! isset ( $config [ 'disable_help' ])) {
config_update_value ( 'disable_help' , false );
}
if ( ! isset ( $config [ 'fixed_header' ])) {
config_update_value ( 'fixed_header' , false );
}
if ( ! isset ( $config [ 'fixed_graph' ])) {
config_update_value ( 'fixed_graph' , false );
}
if ( ! isset ( $config [ 'custom_favicon' ])) {
config_update_value ( 'custom_favicon' , '' );
}
if ( ! isset ( $config [ 'custom_logo' ])) {
2019-03-25 12:41:39 +01:00
config_update_value ( 'custom_logo' , 'pandora_logo_head_4.png' );
2019-02-25 11:54:46 +01:00
}
if ( ! isset ( $config [ 'custom_logo_collapsed' ])) {
config_update_value ( 'custom_logo_collapsed' , 'pandora_logo_green_collapsed.png' );
2019-02-07 16:24:49 +01:00
}
2021-05-25 11:58:18 +02:00
if ( is_metaconsole ()) {
if ( ! isset ( $config [ 'meta_custom_logo' ])) {
config_update_value ( 'meta_custom_logo' , 'pandoraFMS_metaconsole_full.svg' );
}
if ( ! isset ( $config [ 'meta_custom_logo_collapsed' ])) {
config_update_value ( 'meta_custom_logo_collapsed' , 'pandoraFMS_metaconsole_collapse.svg' );
}
if ( ! isset ( $config [ 'meta_menu_type' ])) {
config_update_value ( 'meta_menu_type' , 'classic' );
}
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'custom_logo_white_bg' ])) {
config_update_value ( 'custom_logo_white_bg' , 'pandora_logo_head_white_bg.png' );
}
if ( ! isset ( $config [ 'custom_logo_login' ])) {
config_update_value ( 'custom_logo_login' , 'login_logo_v7.png' );
}
if ( ! isset ( $config [ 'custom_splash_login' ])) {
config_update_value ( 'custom_splash_login' , 'splash_image_default.png' );
}
if ( ! isset ( $config [ 'custom_docs_logo' ])) {
config_update_value ( 'custom_docs_logo' , '' );
}
if ( ! isset ( $config [ 'custom_support_logo' ])) {
config_update_value ( 'custom_support_logo' , '' );
}
if ( ! isset ( $config [ 'custom_network_center_logo' ])) {
config_update_value ( 'custom_network_center_logo' , '' );
}
if ( ! isset ( $config [ 'custom_mobile_console_logo' ])) {
config_update_value ( 'custom_mobile_console_logo' , '' );
}
2019-03-25 12:41:39 +01:00
if ( ! isset ( $config [ 'custom_title_header' ])) {
config_update_value ( 'custom_title_header' , __ ( 'Pandora FMS' ));
}
if ( ! isset ( $config [ 'custom_subtitle_header' ])) {
config_update_value ( 'custom_subtitle_header' , __ ( 'the Flexible Monitoring System' ));
}
2021-05-25 11:58:18 +02:00
if ( ! isset ( $config [ 'meta_custom_title_header' ])) {
config_update_value ( 'meta_custom_title_header' , __ ( 'PandoraFMS Metaconsole' ));
}
if ( ! isset ( $config [ 'meta_custom_subtitle_header' ])) {
config_update_value ( 'meta_custom_subtitle_header' , __ ( 'Centralized operation console' ));
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'custom_title1_login' ])) {
2019-03-11 10:07:22 +01:00
config_update_value ( 'custom_title1_login' , __ ( 'PANDORA FMS' ));
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'custom_title2_login' ])) {
2019-03-11 10:07:22 +01:00
config_update_value ( 'custom_title2_login' , __ ( 'ONE TOOL TO MONITOR THEM ALL' ));
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'custom_docs_url' ])) {
2021-06-09 16:55:25 +02:00
config_update_value ( 'custom_docs_url' , 'https://pandorafms.com/manual' );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'custom_support_url' ])) {
2021-03-09 16:02:05 +01:00
config_update_value ( 'custom_support_url' , 'https://support.pandorafms.com' );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'rb_product_name' ])) {
config_update_value ( 'rb_product_name' , get_product_name ());
}
if ( ! isset ( $config [ 'rb_copyright_notice' ])) {
config_update_value ( 'rb_copyright_notice' , get_copyright_notice ());
}
if ( ! isset ( $config [ 'meta_custom_docs_url' ])) {
2021-06-24 14:31:15 +02:00
config_update_value ( 'meta_custom_docs_url' , 'https://pandorafms.com/manual/' );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'meta_custom_support_url' ])) {
2021-03-09 16:02:05 +01:00
config_update_value ( 'meta_custom_support_url' , 'https://support.pandorafms.com' );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'meta_custom_logo_white_bg' ])) {
config_update_value ( 'pandora_logo_head_white_bg' , 'pandora_logo_head_white_bg.png' );
}
if ( ! isset ( $config [ 'meta_custom_logo_login' ])) {
config_update_value ( 'meta_custom_logo_login' , 'pandora_logo.png' );
}
if ( ! isset ( $config [ 'meta_custom_splash_login' ])) {
config_update_value ( 'meta_custom_splash_login' , 'splash_image_metaconsola.png' );
}
if ( ! isset ( $config [ 'meta_custom_title1_login' ])) {
config_update_value ( 'meta_custom_title1_login' , __ ( 'PANDORA FMS NEXT GENERATION' ));
}
if ( ! isset ( $config [ 'meta_custom_title2_login' ])) {
config_update_value ( 'meta_custom_title2_login' , __ ( 'METACONSOLE' ));
}
if ( ! isset ( $config [ 'vc_favourite_view' ])) {
config_update_value ( 'vc_favourite_view' , 0 );
}
if ( ! isset ( $config [ 'vc_menu_items' ])) {
config_update_value ( 'vc_menu_items' , 10 );
}
if ( ! isset ( $config [ 'ser_menu_items' ])) {
config_update_value ( 'ser_menu_items' , 10 );
}
if ( ! isset ( $config [ 'history_db_enabled' ])) {
config_update_value ( 'history_db_enabled' , false );
}
if ( ! isset ( $config [ 'history_event_enabled' ])) {
config_update_value ( 'history_event_enabled' , false );
}
if ( ! isset ( $config [ 'history_db_host' ])) {
config_update_value ( 'history_db_host' , '' );
}
if ( ! isset ( $config [ 'history_db_port' ])) {
config_update_value ( 'history_db_port' , 3306 );
}
if ( ! isset ( $config [ 'history_db_name' ])) {
config_update_value ( 'history_db_name' , 'pandora' );
}
if ( ! isset ( $config [ 'history_db_user' ])) {
config_update_value ( 'history_db_user' , 'pandora' );
}
if ( ! isset ( $config [ 'history_db_pass' ])) {
config_update_value ( 'history_db_pass' , '' );
}
if ( ! isset ( $config [ 'history_db_days' ])) {
config_update_value ( 'history_db_days' , 0 );
}
if ( ! isset ( $config [ 'history_event_days' ])) {
config_update_value ( 'history_event_days' , 90 );
}
if ( ! isset ( $config [ 'history_db_step' ])) {
config_update_value ( 'history_db_step' , 0 );
}
if ( ! isset ( $config [ 'history_db_delay' ])) {
config_update_value ( 'history_db_delay' , 0 );
}
if ( ! isset ( $config [ 'email_from_dir' ])) {
config_update_value ( 'email_from_dir' , 'pandora@pandorafms.org' );
}
if ( ! isset ( $config [ 'email_from_name' ])) {
config_update_value ( 'email_from_name' , 'Pandora FMS' );
}
if ( ! isset ( $config [ 'email_smtpServer' ])) {
config_update_value ( 'email_smtpServer' , '127.0.0.1' );
}
if ( ! isset ( $config [ 'email_smtpPort' ])) {
config_update_value ( 'email_smtpPort' , 25 );
}
if ( ! isset ( $config [ 'email_encryption' ])) {
config_update_value ( 'email_encryption' , 0 );
}
if ( ! isset ( $config [ 'email_username' ])) {
config_update_value ( 'email_username' , '' );
}
if ( ! isset ( $config [ 'email_password' ])) {
config_update_value ( 'email_password' , '' );
}
if ( ! isset ( $config [ 'activate_gis' ])) {
config_update_value ( 'activate_gis' , 0 );
}
if ( ! isset ( $config [ 'activate_netflow' ])) {
config_update_value ( 'activate_netflow' , 0 );
}
if ( ! isset ( $config [ 'netflow_path' ])) {
if ( $is_windows ) {
2019-09-24 19:07:55 +02:00
$default = 'C:\PandoraFMS\Pandora_Server\data_in\netflow' ;
2019-02-07 16:24:49 +01:00
} else {
$default = '/var/spool/pandora/data_in/netflow' ;
}
config_update_value ( 'netflow_path' , $default );
}
if ( ! isset ( $config [ 'netflow_interval' ])) {
config_update_value ( 'netflow_interval' , SECONDS_10MINUTES );
}
if ( ! isset ( $config [ 'netflow_daemon' ])) {
config_update_value ( 'netflow_daemon' , '/usr/bin/nfcapd' );
}
if ( ! isset ( $config [ 'netflow_nfdump' ])) {
config_update_value ( 'netflow_nfdump' , '/usr/bin/nfdump' );
}
if ( ! isset ( $config [ 'netflow_nfexpire' ])) {
config_update_value ( 'netflow_nfexpire' , '/usr/bin/nfexpire' );
}
if ( ! isset ( $config [ 'netflow_max_resolution' ])) {
config_update_value ( 'netflow_max_resolution' , '50' );
}
if ( ! isset ( $config [ 'netflow_disable_custom_lvfilters' ])) {
config_update_value ( 'netflow_disable_custom_lvfilters' , 0 );
}
if ( ! isset ( $config [ 'netflow_max_lifetime' ])) {
config_update_value ( 'netflow_max_lifetime' , '5' );
}
if ( ! isset ( $config [ 'auth' ])) {
config_update_value ( 'auth' , 'mysql' );
}
if ( ! isset ( $config [ 'autocreate_remote_users' ])) {
config_update_value ( 'autocreate_remote_users' , 0 );
}
if ( ! isset ( $config [ 'autocreate_blacklist' ])) {
config_update_value ( 'autocreate_blacklist' , '' );
}
if ( ! isset ( $config [ 'default_remote_profile' ])) {
config_update_value ( 'default_remote_profile' , 0 );
}
if ( ! isset ( $config [ 'default_remote_group' ])) {
config_update_value ( 'default_remote_group' , 0 );
}
if ( ! isset ( $config [ 'default_assign_tags' ])) {
config_update_value ( 'default_assign_tags' , '' );
}
if ( ! isset ( $config [ 'default_no_hierarchy' ])) {
config_update_value ( 'default_no_hierarchy' , 0 );
}
if ( ! isset ( $config [ 'ldap_server' ])) {
config_update_value ( 'ldap_server' , 'localhost' );
}
if ( ! isset ( $config [ 'ldap_port' ])) {
config_update_value ( 'ldap_port' , 389 );
}
if ( ! isset ( $config [ 'ldap_version' ])) {
config_update_value ( 'ldap_version' , '3' );
}
if ( ! isset ( $config [ 'ldap_start_tls' ])) {
config_update_value ( 'ldap_start_tls' , 0 );
}
if ( ! isset ( $config [ 'ldap_base_dn' ])) {
config_update_value (
'ldap_base_dn' ,
'ou=People,dc=edu,dc=example,dc=org'
);
}
if ( ! isset ( $config [ 'ldap_login_attr' ])) {
config_update_value ( 'ldap_login_attr' , 'uid' );
}
if ( ! isset ( $config [ 'ldap_admin_login' ])) {
config_update_value ( 'ldap_admin_login' , '' );
}
if ( ! isset ( $config [ 'ldap_admin_pass' ])) {
config_update_value ( 'ldap_admin_pass' , '' );
}
if ( ! isset ( $config [ 'ldap_function' ])) {
config_update_value ( 'ldap_function' , 'local' );
}
if ( ! isset ( $config [ 'fallback_local_auth' ])) {
config_update_value ( 'fallback_local_auth' , '0' );
}
if ( ! isset ( $config [ 'ad_server' ])) {
config_update_value ( 'ad_server' , 'localhost' );
}
if ( ! isset ( $config [ 'ad_port' ])) {
config_update_value ( 'ad_port' , 389 );
}
if ( ! isset ( $config [ 'ad_start_tls' ])) {
config_update_value ( 'ad_start_tls' , 0 );
}
if ( ! isset ( $config [ 'ad_advanced_config' ])) {
config_update_value ( 'ad_advanced_config' , 0 );
}
if ( ! isset ( $config [ 'ldap_advanced_config' ])) {
config_update_value ( 'ldap_advanced_config' , 0 );
}
if ( ! isset ( $config [ 'ad_adv_user_node' ])) {
config_update_value ( 'ad_adv_user_node' , 1 );
}
if ( ! isset ( $config [ 'ldap_adv_user_node' ])) {
config_update_value ( 'ldap_adv_user_node' , 1 );
}
if ( ! isset ( $config [ 'ad_domain' ])) {
config_update_value ( 'ad_domain' , '' );
}
if ( ! isset ( $config [ 'ad_adv_perms' ])) {
config_update_value ( 'ad_adv_perms' , '' );
} else {
2019-02-22 10:54:17 +01:00
$temp_ad_adv_perms = [];
2019-02-07 16:24:49 +01:00
if ( ! json_decode ( io_safe_output ( $config [ 'ad_adv_perms' ]))) {
2019-02-22 10:54:17 +01:00
if ( $config [ 'ad_adv_perms' ] != '' ) {
2019-02-07 16:24:49 +01:00
$perms = explode ( ';' , io_safe_output ( $config [ 'ad_adv_perms' ]));
foreach ( $perms as $ad_adv_perm ) {
if ( preg_match ( '/[\[\]]/' , $ad_adv_perm )) {
$all_data = explode ( ',' , io_safe_output ( $ad_adv_perm ));
$profile = $all_data [ 0 ];
$group_pnd = $all_data [ 1 ];
$groups_ad = str_replace ([ '[' , ']' ], '' , $all_data [ 2 ]);
$tags = str_replace ([ '[' , ']' ], '' , $all_data [ 3 ]);
$groups_ad = explode ( '|' , $groups_ad );
$tags_name = explode ( '|' , $tags );
$tags_ids = [];
foreach ( $tags_name as $tag ) {
$tags_ids [] = tags_get_id ( $tag );
}
$profile = profile_get_profiles (
[
'name' => io_safe_input ( $profile ),
]
);
if ( ! $profile ) {
continue ;
}
$profile_id = array_keys ( $profile );
$id_grupo = groups_get_id ( io_safe_input ( $group_pnd ), false );
$new_ad_adv_perms [] = [
'profile' => $profile_id [ 0 ],
'group' => [ $id_grupo ],
'tags' => $tags_ids ,
'groups_ad' => $groups_ad ,
];
} else {
$all_data = explode ( ',' , io_safe_output ( $ad_adv_perm ));
$profile = $all_data [ 0 ];
$group_pnd = $all_data [ 1 ];
$groups_ad = $all_data [ 2 ];
$tags = $all_data [ 3 ];
$profile = profile_get_profiles (
[
'name' => io_safe_input ( $profile ),
]
);
if ( ! $profile ) {
continue ;
}
$profile_id = array_keys ( $profile );
$id_grupo = groups_get_id ( io_safe_input ( $group_pnd ), false );
$new_ad_adv_perms [] = [
'profile' => $profile_id [ 0 ],
'group' => [ $id_grupo ],
'tags' => [ $tags ],
'groups_ad' => [ $groups_ad ],
];
}
}
if ( ! empty ( $new_ad_adv_perms )) {
$temp_ad_adv_perms = json_encode ( $new_ad_adv_perms );
}
2019-02-22 10:54:17 +01:00
} else {
$temp_ad_adv_perms = '' ;
2019-02-07 16:24:49 +01:00
}
2019-02-22 10:54:17 +01:00
} else {
$temp_ad_adv_perms = $config [ 'ad_adv_perms' ];
2019-02-07 16:24:49 +01:00
}
2019-02-22 10:54:17 +01:00
config_update_value ( 'ad_adv_perms' , $temp_ad_adv_perms );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'ldap_adv_perms' ])) {
config_update_value ( 'ldap_adv_perms' , '' );
} else {
2019-02-22 10:54:17 +01:00
$temp_ldap_adv_perms = [];
2019-02-07 16:24:49 +01:00
if ( ! json_decode ( io_safe_output ( $config [ 'ldap_adv_perms' ]))) {
2019-02-22 10:54:17 +01:00
if ( $config [ 'ldap_adv_perms' ] != '' ) {
2019-02-07 16:24:49 +01:00
$perms = explode ( ';' , io_safe_output ( $config [ 'ldap_adv_perms' ]));
2019-02-22 10:54:17 +01:00
foreach ( $perms as $ldap_adv_perm ) {
if ( preg_match ( '/[\[\]]/' , $ldap_adv_perm )) {
$all_data = explode ( ',' , io_safe_output ( $ldap_adv_perm ));
2019-02-07 16:24:49 +01:00
$profile = $all_data [ 0 ];
$group_pnd = $all_data [ 1 ];
$groups_ad = str_replace ([ '[' , ']' ], '' , $all_data [ 2 ]);
$tags = str_replace ([ '[' , ']' ], '' , $all_data [ 3 ]);
$groups_ad = explode ( '|' , $groups_ad );
$tags_name = explode ( '|' , $tags );
$tags_ids = [];
foreach ( $tags_name as $tag ) {
$tags_ids [] = tags_get_id ( $tag );
}
$profile = profile_get_profiles (
[
'name' => io_safe_input ( $profile ),
]
);
if ( ! $profile ) {
continue ;
}
$profile_id = array_keys ( $profile );
$id_grupo = groups_get_id ( io_safe_input ( $group_pnd ), false );
$new_ldap_adv_perms [] = [
'profile' => $profile_id [ 0 ],
'group' => [ $id_grupo ],
'tags' => $tags_ids ,
'groups_ldap' => $groups_ldap ,
];
} else {
2019-02-22 10:54:17 +01:00
$all_data = explode ( ',' , io_safe_output ( $ldap_adv_perm ));
2019-02-07 16:24:49 +01:00
$profile = $all_data [ 0 ];
$group_pnd = $all_data [ 1 ];
$groups_ad = $all_data [ 2 ];
$tags = $all_data [ 3 ];
$profile = profile_get_profiles (
[
'name' => io_safe_input ( $profile ),
]
);
if ( ! $profile ) {
continue ;
}
$profile_id = array_keys ( $profile );
$id_grupo = groups_get_id ( io_safe_input ( $group_pnd ), false );
$new_ldap_adv_perms [] = [
'profile' => $profile_id [ 0 ],
'group' => [ $id_grupo ],
'tags' => [ $tags ],
'groups_ldap' => [ $groups_ldap ],
];
}
}
if ( ! empty ( $new_ldap_adv_perms )) {
$temp_ldap_adv_perms = json_encode ( $new_ldap_adv_perms );
}
2019-02-22 10:54:17 +01:00
} else {
$temp_ldap_adv_perms = '' ;
2019-02-07 16:24:49 +01:00
}
2019-02-22 10:54:17 +01:00
} else {
$temp_ldap_adv_perms = $config [ 'ldap_adv_perms' ];
2019-02-07 16:24:49 +01:00
}
2019-02-22 10:54:17 +01:00
config_update_value ( 'ldap_adv_perms' , $temp_ldap_adv_perms );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'rpandora_server' ])) {
config_update_value ( 'rpandora_server' , 'localhost' );
}
if ( ! isset ( $config [ 'rpandora_port' ])) {
config_update_value ( 'rpandora_port' , 3306 );
}
if ( ! isset ( $config [ 'rpandora_dbname' ])) {
config_update_value ( 'rpandora_dbname' , 'pandora' );
}
if ( ! isset ( $config [ 'rpandora_user' ])) {
config_update_value ( 'rpandora_user' , 'pandora' );
}
if ( ! isset ( $config [ 'rpandora_pass' ])) {
config_update_value ( 'rpandora_pass' , '' );
}
if ( ! isset ( $config [ 'rintegria_server' ])) {
config_update_value ( 'rintegria_server' , 'localhost' );
}
if ( ! isset ( $config [ 'rintegria_port' ])) {
config_update_value ( 'rintegria_port' , 3306 );
}
if ( ! isset ( $config [ 'rintegria_dbname' ])) {
config_update_value ( 'rintegria_dbname' , 'integria' );
}
if ( ! isset ( $config [ 'rintegria_user' ])) {
config_update_value ( 'rintegria_user' , 'integria' );
}
if ( ! isset ( $config [ 'rintegria_pass' ])) {
config_update_value ( 'rintegria_pass' , '' );
}
if ( ! isset ( $config [ 'saml_path' ])) {
config_update_value ( 'saml_path' , '/opt/' );
}
2019-06-14 10:34:51 +02:00
if ( ! isset ( $config [ 'saml_source' ])) {
config_update_value ( 'saml_source' , '' );
}
if ( ! isset ( $config [ 'saml_user_id' ])) {
config_update_value ( 'saml_user_id' , '' );
}
if ( ! isset ( $config [ 'saml_mail' ])) {
config_update_value ( 'saml_mail' , '' );
}
if ( ! isset ( $config [ 'saml_group_name' ])) {
config_update_value ( 'saml_group_name' , '' );
}
2019-06-27 17:42:29 +02:00
if ( ! isset ( $config [ 'saml_attr_type' ])) {
config_update_value ( 'saml_attr_type' , false );
}
2019-06-14 10:34:51 +02:00
if ( ! isset ( $config [ 'saml_profiles_and_tags' ])) {
config_update_value ( 'saml_profiles_and_tags' , '' );
}
2019-06-27 17:42:29 +02:00
if ( ! isset ( $config [ 'saml_profile' ])) {
config_update_value ( 'saml_profile' , '' );
}
if ( ! isset ( $config [ 'saml_tag' ])) {
config_update_value ( 'saml_tag' , '' );
}
2019-06-14 10:34:51 +02:00
if ( ! isset ( $config [ 'saml_profile_tag_separator' ])) {
config_update_value ( 'saml_profile_tag_separator' , '' );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'autoupdate' ])) {
config_update_value ( 'autoupdate' , 1 );
}
if ( ! isset ( $config [ 'api_password' ])) {
config_update_value ( 'api_password' , '' );
}
if ( defined ( 'METACONSOLE' )) {
// Customizable sections (Metaconsole).
enterprise_include_once ( 'include/functions_enterprise.php' );
$customizable_sections = enterprise_hook ( 'enterprise_get_customizable_sections' );
if ( $customizable_sections != ENTERPRISE_NOT_HOOK ) {
foreach ( $customizable_sections as $k => $v ) {
if ( ! isset ( $config [ $k ])) {
config_update_value ( $k , $v [ 'default' ]);
}
}
}
if ( ! isset ( $config [ 'meta_num_elements' ])) {
config_update_value ( 'meta_num_elements' , 100 );
}
}
if ( ! isset ( $config [ 'relative_path' ]) && ( isset ( $_POST [ 'nick' ])
|| isset ( $config [ 'id_user' ])) && isset ( $config [ 'enterprise_installed' ])
) {
$isFunctionSkins = enterprise_include_once ( 'include/functions_skins.php' );
if ( $isFunctionSkins !== ENTERPRISE_NOT_HOOK ) {
// 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' ) {
$id = get_parameter_get ( 'id' , $config [ 'id_user' ]);
// ID given as parameter.
$user_info = get_user_info ( $id );
// If current user is editing himself or if the user has UM (User Management) rights on any groups the user is part of AND the authorization scheme allows for users/admins to update info.
if (( $config [ 'id_user' ] == $id || check_acl ( $config [ 'id_user' ], users_get_groups ( $id ), 'UM' )) && $config [ 'user_can_update_info' ]) {
$view_mode = false ;
} else {
$view_mode = true ;
}
if ( isset ( $_GET [ 'modified' ]) && ! $view_mode ) {
$upd_info [ 'id_skin' ] = get_parameter ( 'skin' , $user_info [ 'id_skin' ]);
$return_update_skin = update_user ( $id , $upd_info );
}
}
if ( ! is_metaconsole ()) {
// Skins are available only in console mode.
if ( isset ( $config [ 'id_user' ])) {
$relative_path = enterprise_hook ( 'skins_set_image_skin_path' , [ $config [ 'id_user' ]]);
} else {
$relative_path = enterprise_hook ( 'skins_set_image_skin_path' , [ get_parameter ( 'nick' )]);
}
} else {
$relative_path = '' ;
}
$config [ 'relative_path' ] = $relative_path ;
}
}
if ( ! isset ( $config [ 'dbtype' ])) {
config_update_value ( 'dbtype' , 'mysql' );
}
2019-04-16 12:23:03 +02:00
if ( ! isset ( $config [ 'legacy_vc' ])) {
2021-02-05 15:08:58 +01:00
config_update_value ( 'legacy_vc' , 0 );
2019-04-16 12:23:03 +02:00
}
2019-05-28 18:34:07 +02:00
if ( ! isset ( $config [ 'vc_default_cache_expiration' ])) {
config_update_value ( 'vc_default_cache_expiration' , 60 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'vc_refr' ])) {
config_update_value ( 'vc_refr' , 300 );
}
2019-04-16 12:23:03 +02:00
if ( ! isset ( $config [ 'vc_line_thickness' ])) {
config_update_value ( 'vc_line_thickness' , 2 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'agent_size_text_small' ])) {
config_update_value ( 'agent_size_text_small' , 18 );
}
if ( ! isset ( $config [ 'agent_size_text_medium' ])) {
config_update_value ( 'agent_size_text_medium' , 50 );
}
if ( ! isset ( $config [ 'module_size_text_small' ])) {
config_update_value ( 'module_size_text_small' , 25 );
}
if ( ! isset ( $config [ 'module_size_text_medium' ])) {
config_update_value ( 'module_size_text_medium' , 50 );
}
if ( ! isset ( $config [ 'description_size_text' ])) {
config_update_value ( 'description_size_text' , 60 );
}
if ( ! isset ( $config [ 'item_title_size_text' ])) {
config_update_value ( 'item_title_size_text' , 45 );
}
if ( ! isset ( $config [ 'simple_module_value' ])) {
config_update_value ( 'simple_module_value' , 1 );
}
if ( ! isset ( $config [ 'gis_label' ])) {
config_update_value ( 'gis_label' , 0 );
}
if ( ! isset ( $config [ 'interface_unit' ])) {
config_update_value ( 'interface_unit' , __ ( 'Bytes' ));
}
if ( ! isset ( $config [ 'graph_precision' ])) {
config_update_value ( 'graph_precision' , 1 );
} else {
if ( ! isset ( $config [ 'enterprise_installed' ])) {
config_update_value ( 'graph_precision' , 1 );
}
}
if ( ! isset ( $config [ 'gis_default_icon' ])) {
config_update_value ( 'gis_default_icon' , 'marker' );
}
if ( ! isset ( $config [ 'interval_values' ])) {
config_update_value ( 'interval_values' , '' );
}
if ( ! isset ( $config [ 'public_url' ])) {
config_update_value ( 'public_url' , '' );
}
if ( ! isset ( $config [ 'referer_security' ])) {
config_update_value ( 'referer_security' , 0 );
}
if ( ! isset ( $config [ 'event_storm_protection' ])) {
config_update_value ( 'event_storm_protection' , 0 );
}
2020-06-23 09:21:15 +02:00
if ( ! isset ( $config [ 'use_custom_encoding' ])) {
config_update_value ( 'use_custom_encoding' , 0 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'server_log_dir' ])) {
config_update_value ( 'server_log_dir' , '' );
}
if ( ! isset ( $config [ 'max_log_size' ])) {
config_update_value ( 'max_log_size' , 512 );
}
if ( ! isset ( $config [ 'show_group_name' ])) {
config_update_value ( 'show_group_name' , 0 );
}
if ( ! isset ( $config [ 'custom_graph_width' ])) {
config_update_value ( 'custom_graph_width' , 1 );
}
if ( ! isset ( $config [ 'type_module_charts' ])) {
config_update_value ( 'type_module_charts' , 'area' );
}
2020-12-17 16:58:20 +01:00
if ( ! isset ( $config [ 'items_combined_charts' ])) {
config_update_value ( 'items_combined_charts' , 10 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'type_interface_charts' ])) {
config_update_value ( 'type_interface_charts' , 'line' );
}
if ( ! isset ( $config [ 'render_proc' ])) {
config_update_value ( 'render_proc' , 0 );
}
if ( ! isset ( $config [ 'graph_image_height' ])) {
2020-10-07 16:03:52 +02:00
config_update_value ( 'graph_image_height' , 130 );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'zoom_graph' ])) {
config_update_value ( 'zoom_graph' , 1 );
}
2019-09-18 11:15:55 +02:00
if ( ! isset ( $config [ 'percentil' ])) {
config_update_value ( 'percentil' , 95 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'render_proc_ok' ])) {
config_update_value ( 'render_proc_ok' , __ ( 'Ok' ));
}
if ( ! isset ( $config [ 'render_proc_fail' ])) {
config_update_value ( 'render_proc_fail' , __ ( 'Fail' ));
}
// Daniel maya 02/06/2016 Display menu with click --INI.
if ( ! isset ( $config [ 'click_display' ])) {
config_update_value ( 'click_display' , 1 );
}
// Daniel maya 02/06/2016 Display menu with click --END.
if ( isset ( $config [ 'enterprise_installed' ]) && $config [ 'enterprise_installed' ] == 1 ) {
if ( ! isset ( $config [ 'service_label_font_size' ])) {
config_update_value ( 'service_label_font_size' , 20 );
}
if ( ! isset ( $config [ 'service_item_padding_size' ])) {
config_update_value ( 'service_item_padding_size' , 80 );
}
}
if ( ! isset ( $config [ 'csv_divider' ])) {
config_update_value ( 'csv_divider' , ';' );
}
2020-07-23 16:52:24 +02:00
if ( ! isset ( $config [ 'csv_decimal_separator' ])) {
config_update_value ( 'csv_decimal_separator' , '.' );
}
2019-12-05 17:41:44 +01:00
if ( ! isset ( $config [ 'use_data_multiplier' ])) {
2020-01-15 16:00:33 +01:00
config_update_value ( 'use_data_multiplier' , '1' );
2019-12-05 17:41:44 +01:00
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'command_snapshot' ])) {
config_update_value ( 'command_snapshot' , 1 );
}
if ( ! isset ( $config [ 'custom_report_info' ])) {
config_update_value ( 'custom_report_info' , 1 );
}
if ( ! isset ( $config [ 'custom_report_front' ])) {
config_update_value ( 'custom_report_front' , 0 );
}
2020-10-07 16:03:52 +02:00
if ( ! isset ( $config [ 'global_font_size_report' ])) {
config_update_value ( 'global_font_size_report' , 10 );
}
2019-10-09 16:24:37 +02:00
if ( ! isset ( $config [ 'font_size_item_report' ])) {
config_update_value ( 'font_size_item_report' , 2 );
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'custom_report_front_font' ])) {
2021-06-28 11:25:22 +02:00
config_update_value ( 'custom_report_front_font' , 'Lato-Regular.ttf' );
2019-02-07 16:24:49 +01:00
}
if ( ! isset ( $config [ 'custom_report_front_logo' ])) {
config_update_value (
'custom_report_front_logo' ,
'images/pandora_logo_white.jpg'
);
}
if ( ! isset ( $config [ 'custom_report_front_header' ])) {
config_update_value ( 'custom_report_front_header' , '' );
}
if ( ! isset ( $config [ 'custom_report_front_firstpage' ])) {
config_update_value (
'custom_report_front_firstpage' ,
'<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><img src="(_URLIMAGE_)/images/pandora_report_logo.png" alt="" width="800" /></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><span style="font-size: xx-large;">(_REPORT_NAME_)</span></p>
<p style="text-align: center;"><span style="font-size: large;">(_DATETIME_)</span></p>'
);
}
if ( ! isset ( $config [ 'custom_report_front_footer' ])) {
config_update_value ( 'custom_report_front_footer' , '' );
}
if ( ! isset ( $config [ 'autohidden_menu' ])) {
config_update_value ( 'autohidden_menu' , 0 );
}
if ( ! isset ( $config [ 'visual_animation' ])) {
config_update_value ( 'visual_animation' , 1 );
}
if ( ! isset ( $config [ 'networkmap_max_width' ])) {
config_update_value ( 'networkmap_max_width' , 900 );
}
if ( ! isset ( $config [ 'short_module_graph_data' ])) {
config_update_value ( 'short_module_graph_data' , '' );
}
if ( ! isset ( $config [ 'tutorial_mode' ])) {
config_update_value ( 'tutorial_mode' , 'full' );
}
if ( ! isset ( $config [ 'post_process_custom_values' ])) {
config_update_value (
'post_process_custom_values' ,
json_encode ([])
);
}
if ( ! isset ( $config [ 'update_manager_proxy_server' ])) {
config_update_value (
'update_manager_proxy_server' ,
''
);
}
if ( ! isset ( $config [ 'update_manager_proxy_port' ])) {
config_update_value (
'update_manager_proxy_port' ,
''
);
}
if ( ! isset ( $config [ 'update_manager_proxy_user' ])) {
config_update_value (
'update_manager_proxy_user' ,
''
);
}
2019-12-18 15:30:23 +01:00
if ( ! isset ( $config [ 'update_manager_proxy_password' ])) {
config_update_value (
'update_manager_proxy_password' ,
''
);
}
2019-02-07 16:24:49 +01:00
if ( ! isset ( $config [ 'session_timeout' ])) {
config_update_value ( 'session_timeout' , 90 );
}
if ( ! isset ( $config [ 'max_file_size' ])) {
config_update_value ( 'max_file_size' , '2M' );
}
if ( ! isset ( $config [ 'initial_wizard' ])) {
config_update_value ( 'initial_wizard' , 0 );
}
if ( ! isset ( $config [ 'identification_reminder' ])) {
config_update_value ( 'identification_reminder' , 1 );
}
if ( ! isset ( $config [ 'identification_reminder_timestamp' ])) {
config_update_value ( 'identification_reminder_timestamp' , 0 );
}
if ( ! isset ( $config [ 'instance_registered' ])) {
config_update_value ( 'instance_registered' , 0 );
}
// Ehorus.
if ( ! isset ( $config [ 'ehorus_enabled' ])) {
config_update_value ( 'ehorus_enabled' , 0 );
}
if ( ! isset ( $config [ 'ehorus_custom_field' ])) {
config_update_value ( 'ehorus_custom_field' , 'eHorusID' );
}
if ( ! isset ( $config [ 'ehorus_hostname' ])) {
config_update_value ( 'ehorus_hostname' , 'portal.ehorus.com' );
}
if ( ! isset ( $config [ 'ehorus_port' ])) {
config_update_value ( 'ehorus_port' , 18080 );
}
if ( ! isset ( $config [ 'ehorus_req_timeout' ])) {
config_update_value ( 'ehorus_req_timeout' , 5 );
}
2019-08-05 14:18:23 +02:00
// Integria.
2021-05-07 14:29:29 +02:00
if ( ! isset ( $config [ 'integria_user_level_conf' ])) {
config_update_value ( 'integria_user_level_conf' , 0 );
}
2019-08-05 13:42:01 +02:00
if ( ! isset ( $config [ 'integria_enabled' ])) {
config_update_value ( 'integria_enabled' , 0 );
}
if ( ! isset ( $config [ 'integria_req_timeout' ])) {
config_update_value ( 'integria_req_timeout' , 5 );
}
if ( ! isset ( $config [ 'integria_hostname' ])) {
config_update_value ( 'integria_hostname' , '' );
}
2020-02-27 11:20:24 +01:00
// Module Library.
if ( ! isset ( $config [ 'module_library_user' ])) {
config_update_value ( 'module_library_user' , '' );
}
if ( ! isset ( $config [ 'module_library_password' ])) {
config_update_value ( 'module_library_password' , '' );
}
2019-02-07 16:24:49 +01:00
// Finally, check if any value was overwritten in a form.
config_update_config ();
2009-03-05 13:52:59 +01:00
}
2011-06-27 17:27:19 +02:00
2019-02-07 16:24:49 +01:00
/**
* Start supervisor .
*
* @ return void
*/
function config_check ()
{
global $config ;
include_once __DIR__ . '/class/ConsoleSupervisor.php' ;
2019-02-07 18:00:51 +01:00
// Enterprise customers launch supervisor using discovery task.
2019-02-19 11:14:48 +01:00
if ( enterprise_installed () === false ) {
2019-02-07 16:24:49 +01:00
$supervisor = new ConsoleSupervisor ( false );
$supervisor -> run ();
2019-03-04 14:57:57 +01:00
} else {
2019-02-19 11:13:07 +01:00
$supervisor = new ConsoleSupervisor ( false );
2019-02-22 18:12:01 +01:00
$supervisor -> runBasic ();
2019-02-07 16:24:49 +01:00
}
2014-01-13 14:06:45 +01:00
}
2019-02-07 16:24:49 +01:00
2019-05-23 10:27:50 +02:00
/**
* Retrieves base url stored for Update Manager .
*
* @ return string URL .
*/
function get_um_url ()
{
global $config ;
if ( isset ( $config [ 'url_update_manager' ])) {
$url = $config [ 'url_update_manager' ];
$url = substr ( $url , 0 , ( strlen ( $url ) - strpos ( strrev ( $url ), '/' )));
} else {
$url = 'https://licensing.artica.es/pandoraupdate7/' ;
config_update_value (
'url_update_manager' ,
'https://licensing.artica.es/pandoraupdate7/server.php'
);
}
return $url ;
}
2019-02-07 16:24:49 +01:00
/**
* Return in bytes
*
* @ param string $val Value to convert .
*
* @ return integer
*/
function config_return_in_bytes ( $val )
{
2021-02-10 15:00:23 +01:00
$val = ( int ) trim ( $val );
2019-02-07 16:24:49 +01:00
$last = strtolower ( $val [( strlen ( $val ) - 1 )]);
switch ( $last ) {
// The 'G' modifier is available since PHP 5.1.0.
case 'g' :
$val *= 1024 ;
case 'm' :
$val *= 1024 ;
case 'k' :
$val *= 1024 ;
default :
// Ignore.
break ;
}
return $val ;
2011-06-27 17:27:19 +02:00
}
2019-02-07 16:24:49 +01:00
/**
* Undocumented function
*
* @ return void
*/
function config_user_set_custom_config ()
{
global $config ;
$userinfo = get_user_info ( $config [ 'id_user' ]);
// Refresh the last_connect info in the user table.
// if last update was more than 5 minutes ago.
if ( $userinfo [ 'last_connect' ] < ( time () - SECONDS_1MINUTE )) {
update_user ( $config [ 'id_user' ], [ 'last_connect' => time ()]);
}
if ( ! empty ( $userinfo [ 'block_size' ]) && ( $userinfo [ 'block_size' ] != 0 )) {
$config [ 'block_size' ] = $userinfo [ 'block_size' ];
}
// Each user could have it's own timezone).
if ( isset ( $userinfo [ 'timezone' ])) {
if ( $userinfo [ 'timezone' ] != '' ) {
date_default_timezone_set ( $userinfo [ 'timezone' ]);
}
}
2021-06-16 14:17:45 +02:00
if (( isset ( $userinfo [ 'id_skin' ]) && ( int ) $userinfo [ 'id_skin' ] !== 0 )) {
2021-04-13 11:26:50 +02:00
if (( int ) $userinfo [ 'id_skin' ] === 1 ) {
$config [ 'style' ] = 'pandora' ;
}
if (( int ) $userinfo [ 'id_skin' ] === 2 ) {
$config [ 'style' ] = 'pandora_black' ;
}
}
$skin = get_parameter ( 'skin' , false );
$sec2_aux = get_parameter ( 'sec2' );
if ( $sec2_aux != 'godmode/groups/group_list' && $skin !== false ) {
$id_user_aux = get_parameter ( 'id' );
if ( $id_user_aux == $config [ 'id_user' ]) {
2021-06-16 14:17:45 +02:00
if ( $config [ 'style' ] === 'pandora_black' && ( int ) $skin === 0 || ( int ) $skin === 2 ) {
2021-04-13 11:26:50 +02:00
$config [ 'style' ] = 'pandora_black' ;
2021-06-16 14:17:45 +02:00
} else if (( int ) $skin === 1 || ( int ) $skin === 0 ) {
$config [ 'style' ] = 'pandora' ;
2021-04-13 11:26:50 +02:00
}
}
}
2019-02-07 16:24:49 +01:00
if ( defined ( 'METACONSOLE' )) {
$config [ 'metaconsole_access' ] = $userinfo [ 'metaconsole_access' ];
}
2015-01-19 14:35:56 +01:00
}
2015-04-13 11:27:23 +02:00
2019-02-07 16:24:49 +01:00
/**
* Undocumented function
*
* @ return void
*/
function config_prepare_session ()
{
global $config ;
if ( isset ( $config [ 'id_user' ])) {
$user = users_get_user_by_id ( $config [ 'id_user' ]);
$user_sesion_time = $user [ 'session_time' ];
} else {
$user_sesion_time = null ;
}
if ( $user_sesion_time == 0 ) {
// Change the session timeout value to session_timeout minutes // 8*60*60 = 8 hours.
$sessionCookieExpireTime = $config [ 'session_timeout' ];
} else {
// Change the session timeout value to session_timeout minutes // 8*60*60 = 8 hours.
$sessionCookieExpireTime = $user_sesion_time ;
}
if ( $sessionCookieExpireTime <= 0 ) {
$sessionCookieExpireTime = ( 10 * 365 * 24 * 60 * 60 );
} else {
$sessionCookieExpireTime *= 60 ;
}
// Reset the expiration time upon page load //session_name() is default name of session PHPSESSID.
if ( isset ( $_COOKIE [ session_name ()])) {
2019-07-01 12:46:09 +02:00
$update_cookie = true ;
if ( is_ajax ()) {
// Avoid session upadte while processing ajax responses - notifications.
if ( get_parameter ( 'check_new_notifications' , false )) {
$update_cookie = false ;
}
}
if ( $update_cookie === true ) {
setcookie ( session_name (), $_COOKIE [ session_name ()], ( time () + $sessionCookieExpireTime ), '/' );
}
2019-02-07 16:24:49 +01:00
}
ini_set ( 'post_max_size' , $config [ 'max_file_size' ]);
ini_set ( 'upload_max_filesize' , $config [ 'max_file_size' ]);
2015-04-13 11:27:23 +02:00
}