From 9272c15706a6ac8518517e813797868991747ae0 Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Fri, 8 Apr 2022 18:41:28 +0200 Subject: [PATCH] add advanced_mode flag to various settings; exclude from output and global-search when settings-mode is 'basic' Signed-off-by: Michael Kaufmann --- actions/admin/settings/100.panel.php | 24 +++++++---- actions/admin/settings/110.accounts.php | 3 +- actions/admin/settings/120.system.php | 18 +++++---- actions/admin/settings/122.froxlorvhost.php | 20 +++++---- actions/admin/settings/125.cronjob.php | 1 + actions/admin/settings/130.webserver.php | 45 ++++++++++++++------- actions/admin/settings/131.ssl.php | 24 +++++++---- actions/admin/settings/135.fcgid.php | 15 ++++--- actions/admin/settings/136.phpfpm.php | 24 +++++++---- actions/admin/settings/140.statistics.php | 3 +- actions/admin/settings/150.mail.php | 24 +++++++---- actions/admin/settings/160.nameserver.php | 9 +++-- actions/admin/settings/180.dkim.php | 12 ++++-- actions/admin/settings/210.security.php | 15 ++++--- actions/admin/settings/220.quota.php | 1 + install/froxlor.sql | 4 +- lib/Froxlor/Ajax/GlobalSearch.php | 7 ++++ lib/Froxlor/UI/Form.php | 8 ++++ 18 files changed, 175 insertions(+), 82 deletions(-) diff --git a/actions/admin/settings/100.panel.php b/actions/admin/settings/100.panel.php index 338e620a..8d2739af 100644 --- a/actions/admin/settings/100.panel.php +++ b/actions/admin/settings/100.panel.php @@ -74,7 +74,8 @@ return array( 'varname' => 'natsorting', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_paging' => array( 'label' => $lng['serversettings']['paging'], @@ -121,7 +122,8 @@ return array( 'type' => 'email', 'string_emptyallowed' => true, 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_decimal_places' => array( 'label' => $lng['serversettings']['decimal_places'], @@ -131,7 +133,8 @@ return array( 'min' => 0, 'max' => 15, 'default' => 4, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_phpmyadmin_url' => array( 'label' => $lng['serversettings']['phpmyadmin_url'], @@ -166,7 +169,8 @@ return array( 'varname' => 'show_version_login', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'admin_show_version_footer' => array( 'label' => $lng['admin']['show_version_footer'], @@ -207,7 +211,8 @@ return array( 'varname' => 'allow_domain_change_admin', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_allow_domain_change_customer' => array( 'label' => $lng['serversettings']['panel_allow_domain_change_customer'], @@ -215,7 +220,8 @@ return array( 'varname' => 'allow_domain_change_customer', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_phpconfigs_hidestdsubdomain' => array( 'label' => $lng['serversettings']['panel_phpconfigs_hidestdsubdomain'], @@ -223,7 +229,8 @@ return array( 'varname' => 'phpconfigs_hidestdsubdomain', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_customer_hide_options' => array( 'label' => $lng['serversettings']['panel_customer_hide_options'], @@ -248,7 +255,8 @@ return array( 'traffic.ftp' => $lng['menue']['traffic']['traffic'] . " / FTP", 'traffic.mail' => $lng['menue']['traffic']['traffic'] . " / Mail" ], - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_imprint_url' => array( 'label' => $lng['serversettings']['imprint_url'], diff --git a/actions/admin/settings/110.accounts.php b/actions/admin/settings/110.accounts.php index 87df7138..e6d381e2 100644 --- a/actions/admin/settings/110.accounts.php +++ b/actions/admin/settings/110.accounts.php @@ -128,7 +128,8 @@ return array( 'varname' => 'password_regex', 'type' => 'text', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'customer_accountprefix' => array( 'label' => $lng['serversettings']['accountprefix'], diff --git a/actions/admin/settings/120.system.php b/actions/admin/settings/120.system.php index 3661ad3e..afc676dc 100644 --- a/actions/admin/settings/120.system.php +++ b/actions/admin/settings/120.system.php @@ -144,7 +144,8 @@ return array( 'type' => 'text', 'string_regexp' => '/^[a-zA-Z0-9]{1,6}$/', 'default' => 'html', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_store_index_file_subs' => array( 'label' => $lng['serversettings']['system_store_index_file_subs'], @@ -195,7 +196,6 @@ return array( 'default' => 90, 'save_method' => 'storeSettingField' ), - 'system_mail_use_smtp' => array( 'label' => $lng['serversettings']['mail_use_smtp'], 'settinggroup' => 'system', @@ -260,7 +260,8 @@ return array( 'varname' => 'apply_specialsettings_default', 'type' => 'checkbox', 'default' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_apply_phpconfigs_default' => array( 'label' => $lng['serversettings']['apply_phpconfigs_default'], @@ -268,7 +269,8 @@ return array( 'varname' => 'apply_phpconfigs_default', 'type' => 'checkbox', 'default' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_domaindefaultalias' => array( 'label' => $lng['admin']['domaindefaultalias'], @@ -281,15 +283,17 @@ return array( '1' => $lng['domains']['serveraliasoption_www'], '2' => $lng['domains']['serveraliasoption_none'] ), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'hide_incompatible_settings' => array( 'label' => $lng['serversettings']['hide_incompatible_settings'], 'settinggroup' => 'system', 'varname' => 'hide_incompatible_settings', 'type' => 'checkbox', - 'default' => false, - 'save_method' => 'storeSettingField' + 'default' => true, + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), ) ) diff --git a/actions/admin/settings/122.froxlorvhost.php b/actions/admin/settings/122.froxlorvhost.php index 8453a918..be6f6d98 100644 --- a/actions/admin/settings/122.froxlorvhost.php +++ b/actions/admin/settings/122.froxlorvhost.php @@ -39,7 +39,8 @@ return array( 'string_regexp' => '/^(([a-z0-9\-\._]+, ?)*[a-z0-9\-\._]+)?$/i', 'string_emptyallowed' => true, 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), /** * SSL / Let's Encrypt @@ -75,12 +76,13 @@ return array( 'type' => 'number', 'min' => 0, 'max' => 94608000, // 3-years - 'default' => 0, + 'default' => 10368000, 'save_method' => 'storeSettingField', 'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array( '\Froxlor\Settings\FroxlorVhostSettings', 'hasVhostContainerEnabled' - ), true) + ), true), + 'advanced_mode' => true ), 'system_hsts_incsub' => array( 'label' => $lng['admin']['domain_hsts_incsub'], @@ -92,7 +94,8 @@ return array( 'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array( '\Froxlor\Settings\FroxlorVhostSettings', 'hasVhostContainerEnabled' - ), true) + ), true), + 'advanced_mode' => true ), 'system_hsts_preload' => array( 'label' => $lng['admin']['domain_hsts_preload'], @@ -104,7 +107,8 @@ return array( 'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array( '\Froxlor\Settings\FroxlorVhostSettings', 'hasVhostContainerEnabled' - ), true) + ), true), + 'advanced_mode' => true ), 'system_honorcipherorder' => array( 'label' => $lng['admin']['domain_honorcipherorder'], @@ -116,7 +120,8 @@ return array( 'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array( '\Froxlor\Settings\FroxlorVhostSettings', 'hasVhostContainerEnabled' - ), true) + ), true), + 'advanced_mode' => true ), 'system_sessiontickets' => array( 'label' => $lng['admin']['domain_sessiontickets'], @@ -128,7 +133,8 @@ return array( 'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array( '\Froxlor\Settings\FroxlorVhostSettings', 'hasVhostContainerEnabled' - ), true) + ), true), + 'advanced_mode' => true ), /** * FCGID diff --git a/actions/admin/settings/125.cronjob.php b/actions/admin/settings/125.cronjob.php index 8b0b731f..9217f1c4 100644 --- a/actions/admin/settings/125.cronjob.php +++ b/actions/admin/settings/125.cronjob.php @@ -19,6 +19,7 @@ return array( 'crond' => array( 'title' => $lng['admin']['cronsettings'], 'icon' => 'fa-solid fa-clock-rotate-left', + 'advanced_mode' => true, 'fields' => array( 'system_cronconfig' => array( 'label' => $lng['serversettings']['system_cronconfig'], diff --git a/actions/admin/settings/130.webserver.php b/actions/admin/settings/130.webserver.php index 57c74a30..265519b2 100644 --- a/actions/admin/settings/130.webserver.php +++ b/actions/admin/settings/130.webserver.php @@ -60,7 +60,8 @@ return array( 'visible' => (\Froxlor\Settings::Get('system.mod_fcgid') == 0 && \Froxlor\Settings::Get('phpfpm.enabled') == 0), 'websrv_avail' => array( 'apache2' - ) + ), + 'advanced_mode' => true ), 'system_http2_support' => array( 'label' => $lng['serversettings']['http2_support'], @@ -84,7 +85,8 @@ return array( 'string_emptyallowed' => true, 'default' => '', 'save_method' => 'storeSettingField', - 'visible' => \Froxlor\Settings::Get('system.use_ssl') + 'visible' => \Froxlor\Settings::Get('system.use_ssl'), + 'advanced_mode' => true ), 'system_httpuser' => array( 'label' => $lng['admin']['webserver_user'], @@ -147,7 +149,8 @@ return array( 'save_method' => 'storeSettingField', 'websrv_avail' => array( 'apache2' - ) + ), + 'advanced_mode' => true ), 'system_logfiles_piped' => array( 'label' => $lng['serversettings']['logfiles_piped'], @@ -158,7 +161,8 @@ return array( 'save_method' => 'storeSettingField', 'websrv_avail' => array( 'apache2' - ) + ), + 'advanced_mode' => true ), 'system_logfiles_format' => array( 'label' => $lng['serversettings']['logfiles_format'], @@ -172,7 +176,8 @@ return array( 'apache2', 'nginx' ), - 'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1 + 'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1, + 'advanced_mode' => true ), 'system_logfiles_type' => array( 'label' => $lng['serversettings']['logfiles_type'], @@ -227,7 +232,8 @@ return array( 'type' => 'text', 'string_emptyallowed' => true, 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_deactivateddocroot' => array( 'label' => $lng['serversettings']['deactivateddocroot'], @@ -245,7 +251,8 @@ return array( 'varname' => 'default_vhostconf', 'type' => 'textarea', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_default_sslvhostconf' => array( 'label' => $lng['serversettings']['default_sslvhostconf'], @@ -254,7 +261,8 @@ return array( 'type' => 'textarea', 'default' => '', 'save_method' => 'storeSettingField', - 'visible' => \Froxlor\Settings::Get('system.use_ssl') == 1 + 'visible' => \Froxlor\Settings::Get('system.use_ssl') == 1, + 'advanced_mode' => true ), 'system_include_default_vhostconf' => array( 'label' => $lng['serversettings']['includedefault_sslvhostconf'], @@ -262,7 +270,8 @@ return array( 'varname' => 'include_default_vhostconf', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_apache_globaldiropt' => array( 'label' => $lng['serversettings']['apache_globaldiropt'], @@ -274,7 +283,8 @@ return array( 'visible' => (\Froxlor\Settings::Get('system.mod_fcgid') == 0 && \Froxlor\Settings::Get('phpfpm.enabled') == 0), 'websrv_avail' => array( 'apache2' - ) + ), + 'advanced_mode' => true ), 'system_apachereload_command' => array( 'label' => $lng['serversettings']['apachereload_command'], @@ -324,7 +334,8 @@ return array( 'varname' => 'enabled', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'defaultwebsrverrhandler_err401' => array( 'label' => $lng['serversettings']['defaultwebsrverrhandler_err401'], @@ -336,7 +347,8 @@ return array( 'websrv_avail' => array( 'apache2', 'nginx' - ) + ), + 'advanced_mode' => true ), 'defaultwebsrverrhandler_err403' => array( 'label' => $lng['serversettings']['defaultwebsrverrhandler_err403'], @@ -348,7 +360,8 @@ return array( 'websrv_avail' => array( 'apache2', 'nginx' - ) + ), + 'advanced_mode' => true ), 'defaultwebsrverrhandler_err404' => array( 'label' => $lng['serversettings']['defaultwebsrverrhandler_err404'], @@ -356,7 +369,8 @@ return array( 'varname' => 'err404', 'type' => 'text', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'defaultwebsrverrhandler_err500' => array( 'label' => $lng['serversettings']['defaultwebsrverrhandler_err500'], @@ -368,7 +382,8 @@ return array( 'websrv_avail' => array( 'apache2', 'nginx' - ) + ), + 'advanced_mode' => true ), 'customredirect_enabled' => array( 'label' => $lng['serversettings']['customredirect_enabled'], diff --git a/actions/admin/settings/131.ssl.php b/actions/admin/settings/131.ssl.php index 22f3719f..eee8d887 100644 --- a/actions/admin/settings/131.ssl.php +++ b/actions/admin/settings/131.ssl.php @@ -53,7 +53,8 @@ return array( 'type' => 'text', 'string_emptyallowed' => false, 'default' => 'ECDH+AESGCM:ECDH+AES256:!aNULL:!MD5:!DSS:!DH:!AES128', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_tlsv13_cipher_list' => array( 'label' => $lng['serversettings']['ssl']['tlsv13_cipher_list'], @@ -63,7 +64,8 @@ return array( 'string_emptyallowed' => true, 'default' => '', 'visible' => \Froxlor\Settings::Get('system.webserver') == "apache2" && \Froxlor\Settings::Get('system.apache24') == 1, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_ssl_cert_file' => array( 'label' => $lng['serversettings']['ssl']['ssl_cert_file'], @@ -113,7 +115,8 @@ return array( 'string_emptyallowed' => false, 'default' => 'shmcb:/var/run/apache2/ocsp-stapling.cache(131072)', 'visible' => \Froxlor\Settings::Get('system.webserver') == "apache2" && \Froxlor\Settings::Get('system.apache24') == 1, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_sessionticketsenabled' => array( 'label' => $lng['admin']['domain_sessionticketsenabled'], @@ -122,7 +125,8 @@ return array( 'type' => 'checkbox', 'default' => true, 'save_method' => 'storeSettingField', - 'visible' => \Froxlor\Settings::Get('system.use_ssl') && (\Froxlor\Settings::Get('system.webserver') == "nginx" || (\Froxlor\Settings::Get('system.webserver') == "apache2" && \Froxlor\Settings::Get('system.apache24') == 1)) + 'visible' => \Froxlor\Settings::Get('system.use_ssl') && (\Froxlor\Settings::Get('system.webserver') == "nginx" || (\Froxlor\Settings::Get('system.webserver') == "apache2" && \Froxlor\Settings::Get('system.apache24') == 1)), + 'advanced_mode' => true ), 'system_leenabled' => array( 'label' => $lng['serversettings']['leenabled'], @@ -140,7 +144,8 @@ return array( 'type' => 'text', 'string_type' => 'file', 'default' => '/root/.acme.sh/acme.sh', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_letsencryptacmeconf' => array( 'label' => $lng['serversettings']['letsencryptacmeconf'], @@ -188,7 +193,8 @@ return array( 'type' => 'text', 'string_emptyallowed' => false, 'default' => \Froxlor\Froxlor::getInstallDir(), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_letsencryptkeysize' => array( 'label' => $lng['serversettings']['letsencryptkeysize'], @@ -215,7 +221,8 @@ return array( '256' => 'ec-256', '384' => 'ec-384' ), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_letsencryptreuseold' => array( 'label' => $lng['serversettings']['letsencryptreuseold'], @@ -223,7 +230,8 @@ return array( 'varname' => 'letsencryptreuseold', 'type' => 'checkbox', 'default' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_disable_le_selfcheck' => array( 'label' => $lng['serversettings']['le_domain_dnscheck'], diff --git a/actions/admin/settings/135.fcgid.php b/actions/admin/settings/135.fcgid.php index 541774bf..fc4a9dd3 100644 --- a/actions/admin/settings/135.fcgid.php +++ b/actions/admin/settings/135.fcgid.php @@ -68,7 +68,8 @@ return array( 'string_delimiter' => ':', 'string_emptyallowed' => true, 'default' => '/usr/share/php/:/usr/share/php5/', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mod_fcgid_wrapper' => array( 'label' => $lng['serversettings']['mod_fcgid']['wrapper'], @@ -83,7 +84,8 @@ return array( 'save_method' => 'storeSettingField', 'websrv_avail' => array( 'apache2' - ) + ), + 'advanced_mode' => true ), 'system_mod_fcgid_starter' => array( 'label' => $lng['serversettings']['mod_fcgid']['starter'], @@ -92,7 +94,8 @@ return array( 'type' => 'number', 'min' => 0, 'default' => 0, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mod_fcgid_maxrequests' => array( 'label' => $lng['serversettings']['mod_fcgid']['maxrequests'], @@ -100,7 +103,8 @@ return array( 'varname' => 'mod_fcgid_maxrequests', 'type' => 'number', 'default' => 250, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mod_fcgid_defaultini' => array( 'label' => $lng['serversettings']['mod_fcgid']['defaultini'], @@ -119,7 +123,8 @@ return array( 'varname' => 'mod_fcgid_idle_timeout', 'type' => 'number', 'default' => 30, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ) ) ) diff --git a/actions/admin/settings/136.phpfpm.php b/actions/admin/settings/136.phpfpm.php index 903afaf4..a575ca53 100644 --- a/actions/admin/settings/136.phpfpm.php +++ b/actions/admin/settings/136.phpfpm.php @@ -52,7 +52,8 @@ return array( 'type' => 'text', 'string_type' => 'confdir', 'default' => '/var/www/php-fpm/', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_tmpdir' => array( 'label' => $lng['serversettings']['mod_fcgid']['tmpdir'], @@ -72,7 +73,8 @@ return array( 'string_delimiter' => ':', 'string_emptyallowed' => true, 'default' => '/usr/share/php/:/usr/share/php5/', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_envpath' => array( 'label' => $lng['serversettings']['phpfpm_settings']['envpath'], @@ -83,7 +85,8 @@ return array( 'string_delimiter' => ':', 'string_emptyallowed' => true, 'default' => '/usr/local/bin:/usr/bin:/bin', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_fastcgi_ipcdir' => array( 'label' => $lng['serversettings']['phpfpm_settings']['ipcdir'], @@ -92,7 +95,8 @@ return array( 'type' => 'text', 'string_type' => 'dir', 'default' => '/var/lib/apache2/fastcgi/', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_use_mod_proxy' => array( 'label' => $lng['phpfpm']['use_mod_proxy'], @@ -109,7 +113,8 @@ return array( 'varname' => 'ini_flags', 'type' => 'textarea', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_ini_values' => array( 'label' => $lng['phpfpm']['ini_values'], @@ -117,7 +122,8 @@ return array( 'varname' => 'ini_values', 'type' => 'textarea', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_ini_admin_flags' => array( 'label' => $lng['phpfpm']['ini_admin_flags'], @@ -125,7 +131,8 @@ return array( 'varname' => 'ini_admin_flags', 'type' => 'textarea', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_phpfpm_ini_admin_values' => array( 'label' => $lng['phpfpm']['ini_admin_values'], @@ -133,7 +140,8 @@ return array( 'varname' => 'ini_admin_values', 'type' => 'textarea', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ) ) ) diff --git a/actions/admin/settings/140.statistics.php b/actions/admin/settings/140.statistics.php index 2a074263..dc305362 100644 --- a/actions/admin/settings/140.statistics.php +++ b/actions/admin/settings/140.statistics.php @@ -91,7 +91,8 @@ return array( 'type' => 'text', 'default' => '1', 'save_method' => 'storeSettingField', - 'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1 + 'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1, + 'advanced_mode' => true ) ) ) diff --git a/actions/admin/settings/150.mail.php b/actions/admin/settings/150.mail.php index 029eaf64..2f13b111 100644 --- a/actions/admin/settings/150.mail.php +++ b/actions/admin/settings/150.mail.php @@ -30,7 +30,8 @@ return array( 'default' => 2000, 'min' => 2, 'max' => 65535, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_vmail_gid' => array( 'label' => $lng['serversettings']['vmail_gid'], @@ -40,7 +41,8 @@ return array( 'default' => 2000, 'min' => 2, 'max' => 65535, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_vmail_homedir' => array( 'label' => $lng['serversettings']['vmail_homedir'], @@ -59,7 +61,8 @@ return array( 'string_type' => 'dir', 'default' => 'Maildir', 'string_emptyallowed' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'panel_sendalternativemail' => array( 'label' => $lng['serversettings']['sendalternativemail'], @@ -99,7 +102,8 @@ return array( 'varname' => 'mailtraffic_enabled', 'type' => 'checkbox', 'default' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mdaserver' => array( 'label' => $lng['serversettings']['mdaserver'], @@ -111,7 +115,8 @@ return array( 'courier' => 'Courier', 'dovecot' => 'Dovecot' ), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mdalog' => array( 'label' => $lng['serversettings']['mdalog'], @@ -121,7 +126,8 @@ return array( 'string_type' => 'file', 'default' => '/var/log/mail.log', 'string_emptyallowed' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mtaserver' => array( 'label' => $lng['serversettings']['mtaserver'], @@ -133,7 +139,8 @@ return array( 'exim4' => 'Exim4', 'postfix' => 'Postfix' ), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_mtalog' => array( 'label' => $lng['serversettings']['mtalog'], @@ -143,7 +150,8 @@ return array( 'string_type' => 'file', 'default' => '/var/log/mail.log', 'string_emptyallowed' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ) ) ) diff --git a/actions/admin/settings/160.nameserver.php b/actions/admin/settings/160.nameserver.php index dbbd83f8..bccbd278 100644 --- a/actions/admin/settings/160.nameserver.php +++ b/actions/admin/settings/160.nameserver.php @@ -109,7 +109,8 @@ return array( 'Native' => 'Native', 'Master' => 'Master' ), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_dns_createmailentry' => array( 'label' => $lng['serversettings']['mail_also_with_mxservers'], @@ -125,7 +126,8 @@ return array( 'varname' => 'dns_createcaaentry', 'type' => 'checkbox', 'default' => true, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'caa_caa_entry' => array( 'label' => $lng['serversettings']['caa_entry_custom'], @@ -133,7 +135,8 @@ return array( 'varname' => 'caa_entry', 'type' => 'textarea', 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_defaultttl' => array( 'label' => $lng['serversettings']['defaultttl'], diff --git a/actions/admin/settings/180.dkim.php b/actions/admin/settings/180.dkim.php index ccb5775b..15ba6909 100644 --- a/actions/admin/settings/180.dkim.php +++ b/actions/admin/settings/180.dkim.php @@ -47,7 +47,8 @@ return array( 'type' => 'text', 'string_regexp' => '/^[a-z0-9\._]+$/i', 'default' => '.priv', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'dkim_domains' => array( 'label' => $lng['dkim']['dkim_domains'], @@ -79,7 +80,8 @@ return array( 'sha1' => 'SHA1', 'sha256' => 'SHA256' ), - 'save_method' => 'storeSettingFieldInsertBindTask' + 'save_method' => 'storeSettingFieldInsertBindTask', + 'advanced_mode' => true ), 'dkim_servicetype' => array( 'label' => $lng['dkim']['dkim_servicetype'], @@ -91,7 +93,8 @@ return array( '0' => 'All', '1' => 'E-Mail' ), - 'save_method' => 'storeSettingFieldInsertBindTask' + 'save_method' => 'storeSettingFieldInsertBindTask', + 'advanced_mode' => true ), 'dkim_keylength' => array( 'label' => array( @@ -115,7 +118,8 @@ return array( 'type' => 'text', 'string_regexp' => '/^[a-z0-9\._]+$/i', 'default' => '', - 'save_method' => 'storeSettingFieldInsertBindTask' + 'save_method' => 'storeSettingFieldInsertBindTask', + 'advanced_mode' => true ), 'dkimrestart_command' => array( 'label' => $lng['dkim']['dkimrestart_command'], diff --git a/actions/admin/settings/210.security.php b/actions/admin/settings/210.security.php index e11f7c89..051c5d69 100644 --- a/actions/admin/settings/210.security.php +++ b/actions/admin/settings/210.security.php @@ -36,7 +36,8 @@ return array( 'varname' => 'mailpwcleartext', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_passwordcryptfunc' => array( 'label' => $lng['serversettings']['passwordcryptfunc'], @@ -48,7 +49,8 @@ return array( '\\Froxlor\\System\\Crypt', 'getAvailablePasswordHashes' ), - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_allow_error_report_admin' => array( 'label' => $lng['serversettings']['allow_error_report_admin'], @@ -72,7 +74,8 @@ return array( 'varname' => 'allow_customer_shell', 'type' => 'checkbox', 'default' => false, - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_available_shells' => array( 'label' => $lng['serversettings']['available_shells'], @@ -81,7 +84,8 @@ return array( 'type' => 'text', 'string_emptyallowed' => true, 'default' => '', - 'save_method' => 'storeSettingField' + 'save_method' => 'storeSettingField', + 'advanced_mode' => true ), 'system_froxlorusergroup' => array( 'label' => $lng['serversettings']['froxlorusergroup'], @@ -94,7 +98,8 @@ return array( '\\Froxlor\\Validate\\Check', 'checkLocalGroup' ), - 'visible' => \Froxlor\Settings::Get('system.nssextrausers') + 'visible' => \Froxlor\Settings::Get('system.nssextrausers'), + 'advanced_mode' => true ), ) ) diff --git a/actions/admin/settings/220.quota.php b/actions/admin/settings/220.quota.php index 949343b3..f03b324b 100644 --- a/actions/admin/settings/220.quota.php +++ b/actions/admin/settings/220.quota.php @@ -18,6 +18,7 @@ return array( 'diskquota' => array( 'title' => $lng['diskquota'], 'icon' => 'fa-solid fa-sliders', + 'advanced_mode' => true, 'fields' => array( 'diskquota_enabled' => array( 'label' => $lng['serversettings']['diskquota_enabled'], diff --git a/install/froxlor.sql b/install/froxlor.sql index ff3f5e04..53a9673b 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -653,7 +653,7 @@ opcache.validate_timestamps'), ('system', 'mail_smtp_auth', '1'), ('system', 'mail_smtp_user', ''), ('system', 'mail_smtp_passwd', ''), - ('system', 'hsts_maxage', '0'), + ('system', 'hsts_maxage', '10368000'), ('system', 'hsts_incsub', '0'), ('system', 'hsts_preload', '0'), ('system', 'leregistered', '0'), @@ -675,7 +675,7 @@ opcache.validate_timestamps'), ('system', 'froxloraliases', ''), ('system', 'apply_specialsettings_default', '1'), ('system', 'apply_phpconfigs_default', '1'), - ('system', 'hide_incompatible_settings', '0'), + ('system', 'hide_incompatible_settings', '1'), ('system', 'include_default_vhostconf', '0'), ('system', 'soaemail', ''), ('system', 'domaindefaultalias', '0'), diff --git a/lib/Froxlor/Ajax/GlobalSearch.php b/lib/Froxlor/Ajax/GlobalSearch.php index c57bf059..6e466a6d 100644 --- a/lib/Froxlor/Ajax/GlobalSearch.php +++ b/lib/Froxlor/Ajax/GlobalSearch.php @@ -4,6 +4,7 @@ namespace Froxlor\Ajax; use Froxlor\Froxlor; use Froxlor\PhpHelper; +use Froxlor\Settings; use Froxlor\UI\Collection; /** @@ -50,9 +51,15 @@ class GlobalSearch $pk = explode(".", $pathkey); if (count($pk) > 4) { $settingkey = $pk[0] . '.' . $pk[1] . '.' . $pk[2] . '.' . $pk[3]; + if (isset($settings_data[$pk[0]][$pk[1]]['advanced_mode']) && $settings_data[$pk[0]][$pk[1]]['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) { + continue; + } if (is_array($processed['settings']) && !array_key_exists($settingkey, $processed['settings'])) { $processed['settings'][$settingkey] = true; $sresult = $settings_data[$pk[0]][$pk[1]][$pk[2]][$pk[3]]; + if (isset($sresult['advanced_mode']) && $sresult['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) { + continue; + } if ($sresult['type'] != 'hidden') { if (!isset($result['settings'])) { $result['settings'] = []; diff --git a/lib/Froxlor/UI/Form.php b/lib/Froxlor/UI/Form.php index f56c1033..d56ec2a7 100644 --- a/lib/Froxlor/UI/Form.php +++ b/lib/Froxlor/UI/Form.php @@ -12,6 +12,10 @@ class Form if (\Froxlor\Validate\Form::validateFormDefinition($form)) { foreach ($form['groups'] as $groupname => $groupdetails) { + // check for advanced mode sections + if (isset($groupdetails['advanced_mode']) && $groupdetails['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) { + continue; + } // show overview if ($part == '' || $part == 'all') { if (isset($groupdetails['title']) && $groupdetails['title'] != '') { @@ -48,6 +52,10 @@ class Form if (\Froxlor\Validate\Form::validateFieldDefinition($groupdetails)) { // Collect form field output foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { + // check for advanced mode sections + if (isset($fielddetails['advanced_mode']) && $fielddetails['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) { + continue; + } $fields[$fieldname] = self::getFormFieldOutput($fieldname, $fielddetails); $fields[$fieldname] = array_merge($fields[$fieldname], self::prefetchFormFieldData($fieldname, $fielddetails)); }