major refactoring of almost all files

This commit is contained in:
envoyr
2022-04-28 20:48:00 +02:00
parent a2e95b960f
commit 4f4c71d79b
285 changed files with 21716 additions and 18766 deletions

View File

@@ -2,121 +2,128 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Language
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'panel' => array(
'title' => $lng['admin']['panelsettings'],
return [
'groups' => [
'panel' => [
'title' => lng('admin.panelsettings'),
'icon' => 'fa-solid fa-chalkboard-user',
'fields' => array(
'panel_standardlanguage' => array(
'label' => array(
'title' => $lng['login']['language'],
'description' => $lng['serversettings']['language']['description']
),
'fields' => [
'panel_standardlanguage' => [
'label' => [
'title' => lng('login.language'),
'description' => lng('serversettings.language.description')
],
'settinggroup' => 'panel',
'varname' => 'standardlanguage',
'type' => 'select',
'default' => 'English',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\User',
'getLanguages'
),
],
'save_method' => 'storeSettingField'
),
'panel_default_theme' => array(
'label' => array(
'title' => $lng['panel']['theme'],
'description' => $lng['serversettings']['default_theme']
),
],
'panel_default_theme' => [
'label' => [
'title' => lng('panel.theme'),
'description' => lng('serversettings.default_theme')
],
'settinggroup' => 'panel',
'varname' => 'default_theme',
'type' => 'select',
'default' => 'Froxlor',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\UI\\Panel\\UI',
'getThemes'
),
],
'save_method' => 'storeSettingDefaultTheme'
),
'panel_allow_theme_change_customer' => array(
'label' => $lng['serversettings']['panel_allow_theme_change_customer'],
],
'panel_allow_theme_change_customer' => [
'label' => lng('serversettings.panel_allow_theme_change_customer'),
'settinggroup' => 'panel',
'varname' => 'allow_theme_change_customer',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'panel_allow_theme_change_admin' => array(
'label' => $lng['serversettings']['panel_allow_theme_change_admin'],
],
'panel_allow_theme_change_admin' => [
'label' => lng('serversettings.panel_allow_theme_change_admin'),
'settinggroup' => 'panel',
'varname' => 'allow_theme_change_admin',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'panel_natsorting' => array(
'label' => $lng['serversettings']['natsorting'],
],
'panel_natsorting' => [
'label' => lng('serversettings.natsorting'),
'settinggroup' => 'panel',
'varname' => 'natsorting',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_paging' => array(
'label' => $lng['serversettings']['paging'],
],
'panel_paging' => [
'label' => lng('serversettings.paging'),
'settinggroup' => 'panel',
'varname' => 'paging',
'type' => 'number',
'min' => 0,
'default' => 0,
'save_method' => 'storeSettingField'
),
'panel_pathedit' => array(
'label' => $lng['serversettings']['pathedit'],
],
'panel_pathedit' => [
'label' => lng('serversettings.pathedit'),
'settinggroup' => 'panel',
'varname' => 'pathedit',
'type' => 'select',
'default' => 'Manual',
'select_var' => [
'Manual' => $lng['serversettings']['manual'],
'Dropdown' => $lng['serversettings']['dropdown']
'Manual' => lng('serversettings.manual'),
'Dropdown' => lng('serversettings.dropdown')
],
'save_method' => 'storeSettingField'
),
'panel_adminmail' => array(
'label' => $lng['serversettings']['adminmail'],
],
'panel_adminmail' => [
'label' => lng('serversettings.adminmail'),
'settinggroup' => 'panel',
'varname' => 'adminmail',
'type' => 'email',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_adminmail_defname' => array(
'label' => $lng['serversettings']['adminmail_defname'],
],
'panel_adminmail_defname' => [
'label' => lng('serversettings.adminmail_defname'),
'settinggroup' => 'panel',
'varname' => 'adminmail_defname',
'type' => 'text',
'default' => 'Froxlor Administrator',
'save_method' => 'storeSettingField'
),
'panel_adminmail_return' => array(
'label' => $lng['serversettings']['adminmail_return'],
],
'panel_adminmail_return' => [
'label' => lng('serversettings.adminmail_return'),
'settinggroup' => 'panel',
'varname' => 'adminmail_return',
'type' => 'email',
@@ -124,9 +131,9 @@ return array(
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_decimal_places' => array(
'label' => $lng['serversettings']['decimal_places'],
],
'panel_decimal_places' => [
'label' => lng('serversettings.decimal_places'),
'settinggroup' => 'panel',
'varname' => 'decimal_places',
'type' => 'number',
@@ -135,105 +142,105 @@ return array(
'default' => 4,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_phpmyadmin_url' => array(
'label' => $lng['serversettings']['phpmyadmin_url'],
],
'panel_phpmyadmin_url' => [
'label' => lng('serversettings.phpmyadmin_url'),
'settinggroup' => 'panel',
'varname' => 'phpmyadmin_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_webmail_url' => array(
'label' => $lng['serversettings']['webmail_url'],
],
'panel_webmail_url' => [
'label' => lng('serversettings.webmail_url'),
'settinggroup' => 'panel',
'varname' => 'webmail_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_webftp_url' => array(
'label' => $lng['serversettings']['webftp_url'],
],
'panel_webftp_url' => [
'label' => lng('serversettings.webftp_url'),
'settinggroup' => 'panel',
'varname' => 'webftp_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'admin_show_version_login' => array(
'label' => $lng['admin']['show_version_login'],
],
'admin_show_version_login' => [
'label' => lng('admin.show_version_login'),
'settinggroup' => 'admin',
'varname' => 'show_version_login',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'admin_show_version_footer' => array(
'label' => $lng['admin']['show_version_footer'],
],
'admin_show_version_footer' => [
'label' => lng('admin.show_version_footer'),
'settinggroup' => 'admin',
'varname' => 'show_version_footer',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'admin_show_news_feed' => array(
'label' => $lng['admin']['show_news_feed'],
],
'admin_show_news_feed' => [
'label' => lng('admin.show_news_feed'),
'settinggroup' => 'admin',
'varname' => 'show_news_feed',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'customer_show_news_feed' => array(
'label' => $lng['admin']['customer_show_news_feed'],
],
'customer_show_news_feed' => [
'label' => lng('admin.customer_show_news_feed'),
'settinggroup' => 'customer',
'varname' => 'show_news_feed',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'customer_news_feed_url' => array(
'label' => $lng['admin']['customer_news_feed_url'],
],
'customer_news_feed_url' => [
'label' => lng('admin.customer_news_feed_url'),
'settinggroup' => 'customer',
'varname' => 'news_feed_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_allow_domain_change_admin' => array(
'label' => $lng['serversettings']['panel_allow_domain_change_admin'],
],
'panel_allow_domain_change_admin' => [
'label' => lng('serversettings.panel_allow_domain_change_admin'),
'settinggroup' => 'panel',
'varname' => 'allow_domain_change_admin',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_allow_domain_change_customer' => array(
'label' => $lng['serversettings']['panel_allow_domain_change_customer'],
],
'panel_allow_domain_change_customer' => [
'label' => lng('serversettings.panel_allow_domain_change_customer'),
'settinggroup' => 'panel',
'varname' => 'allow_domain_change_customer',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_phpconfigs_hidestdsubdomain' => array(
'label' => $lng['serversettings']['panel_phpconfigs_hidestdsubdomain'],
],
'panel_phpconfigs_hidestdsubdomain' => [
'label' => lng('serversettings.panel_phpconfigs_hidestdsubdomain'),
'settinggroup' => 'panel',
'varname' => 'phpconfigs_hidestdsubdomain',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_customer_hide_options' => array(
'label' => $lng['serversettings']['panel_customer_hide_options'],
],
'panel_customer_hide_options' => [
'label' => lng('serversettings.panel_customer_hide_options'),
'settinggroup' => 'panel',
'varname' => 'customer_hide_options',
'type' => 'select',
@@ -241,85 +248,85 @@ return array(
'select_mode' => 'multiple',
'option_emptyallowed' => true,
'select_var' => [
'email' => $lng['menue']['email']['email'],
'mysql' => $lng['menue']['mysql']['mysql'],
'domains' => $lng['menue']['domains']['domains'],
'ftp' => $lng['menue']['ftp']['ftp'],
'extras' => $lng['menue']['extras']['extras'],
'extras.directoryprotection' => $lng['menue']['extras']['extras'] . " / " . $lng['menue']['extras']['directoryprotection'],
'extras.pathoptions' => $lng['menue']['extras']['extras'] . " / " . $lng['menue']['extras']['pathoptions'],
'extras.logger' => $lng['menue']['extras']['extras'] . " / " . $lng['admin']['loggersystem'],
'extras.backup' => $lng['menue']['extras']['extras'] . " / " . $lng['menue']['extras']['backup'],
'traffic' => $lng['menue']['traffic']['traffic'],
'traffic.http' => $lng['menue']['traffic']['traffic'] . " / HTTP",
'traffic.ftp' => $lng['menue']['traffic']['traffic'] . " / FTP",
'traffic.mail' => $lng['menue']['traffic']['traffic'] . " / Mail"
'email' => lng('menue.email.email'),
'mysql' => lng('menue.mysql.mysql'),
'domains' => lng('menue.domains.domains'),
'ftp' => lng('menue.ftp.ftp'),
'extras' => lng('menue.extras.extras'),
'extras.directoryprotection' => lng('menue.extras.extras') . " / " . lng('menue.extras.directoryprotection'),
'extras.pathoptions' => lng('menue.extras.extras') . " / " . lng('menue.extras.pathoptions'),
'extras.logger' => lng('menue.extras.extras') . " / " . lng('admin.loggersystem'),
'extras.backup' => lng('menue.extras.extras') . " / " . lng('menue.extras.backup'),
'traffic' => lng('menue.traffic.traffic'),
'traffic.http' => lng('menue.traffic.traffic') . " / HTTP",
'traffic.ftp' => lng('menue.traffic.traffic') . " / FTP",
'traffic.mail' => lng('menue.traffic.traffic') . " / Mail"
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_imprint_url' => array(
'label' => $lng['serversettings']['imprint_url'],
],
'panel_imprint_url' => [
'label' => lng('serversettings.imprint_url'),
'settinggroup' => 'panel',
'varname' => 'imprint_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_terms_url' => array(
'label' => $lng['serversettings']['terms_url'],
],
'panel_terms_url' => [
'label' => lng('serversettings.terms_url'),
'settinggroup' => 'panel',
'varname' => 'terms_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_privacy_url' => array(
'label' => $lng['serversettings']['privacy_url'],
],
'panel_privacy_url' => [
'label' => lng('serversettings.privacy_url'),
'settinggroup' => 'panel',
'varname' => 'privacy_url',
'type' => 'url',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'panel_logo_overridetheme' => array(
'label' => $lng['serversettings']['logo_overridetheme'],
],
'panel_logo_overridetheme' => [
'label' => lng('serversettings.logo_overridetheme'),
'settinggroup' => 'panel',
'varname' => 'logo_overridetheme',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'panel_logo_overridecustom' => array(
'label' => $lng['serversettings']['logo_overridecustom'],
],
'panel_logo_overridecustom' => [
'label' => lng('serversettings.logo_overridecustom'),
'settinggroup' => 'panel',
'varname' => 'logo_overridecustom',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'panel_logo_image_header' => array(
'label' => $lng['serversettings']['logo_image_header'],
],
'panel_logo_image_header' => [
'label' => lng('serversettings.logo_image_header'),
'settinggroup' => 'panel',
'varname' => 'logo_image_header',
'type' => 'image',
'image_name' => 'logo_header',
'default' => '',
'save_method' => 'storeSettingImage'
),
'panel_logo_image_login' => array(
'label' => $lng['serversettings']['logo_image_login'],
],
'panel_logo_image_login' => [
'label' => lng('serversettings.logo_image_login'),
'settinggroup' => 'panel',
'varname' => 'logo_image_login',
'type' => 'image',
'image_name' => 'logo_login',
'default' => '',
'save_method' => 'storeSettingImage'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,229 +2,236 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'accounts' => array(
'title' => $lng['admin']['accountsettings'],
return [
'groups' => [
'accounts' => [
'title' => lng('admin.accountsettings'),
'icon' => 'fa-solid fa-users-gear',
'fields' => array(
'session_sessiontimeout' => array(
'label' => $lng['serversettings']['session_timeout'],
'fields' => [
'session_sessiontimeout' => [
'label' => lng('serversettings.session_timeout'),
'settinggroup' => 'session',
'varname' => 'sessiontimeout',
'type' => 'number',
'min' => 60,
'default' => 600,
'save_method' => 'storeSettingField'
),
'session_allow_multiple_login' => array(
'label' => $lng['serversettings']['session_allow_multiple_login'],
],
'session_allow_multiple_login' => [
'label' => lng('serversettings.session_allow_multiple_login'),
'settinggroup' => 'session',
'varname' => 'allow_multiple_login',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'login_domain_login' => array(
'label' => $lng['serversettings']['login_domain_login'],
],
'login_domain_login' => [
'label' => lng('serversettings.login_domain_login'),
'settinggroup' => 'login',
'varname' => 'domain_login',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'login_maxloginattempts' => array(
'label' => $lng['serversettings']['maxloginattempts'],
],
'login_maxloginattempts' => [
'label' => lng('serversettings.maxloginattempts'),
'settinggroup' => 'login',
'varname' => 'maxloginattempts',
'type' => 'number',
'min' => 1,
'default' => 3,
'save_method' => 'storeSettingField'
),
'login_deactivatetime' => array(
'label' => $lng['serversettings']['deactivatetime'],
],
'login_deactivatetime' => [
'label' => lng('serversettings.deactivatetime'),
'settinggroup' => 'login',
'varname' => 'deactivatetime',
'type' => 'number',
'min' => 0,
'default' => 900,
'save_method' => 'storeSettingField'
),
'2fa_enabled' => array(
'label' => $lng['2fa']['2fa_enabled'],
],
'2fa_enabled' => [
'label' => lng('2fa.2fa_enabled'),
'settinggroup' => '2fa',
'varname' => 'enabled',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'panel_password_min_length' => array(
'label' => $lng['serversettings']['panel_password_min_length'],
],
'panel_password_min_length' => [
'label' => lng('serversettings.panel_password_min_length'),
'settinggroup' => 'panel',
'varname' => 'password_min_length',
'type' => 'number',
'min' => 0,
'default' => 0,
'save_method' => 'storeSettingField'
),
'panel_password_alpha_lower' => array(
'label' => $lng['serversettings']['panel_password_alpha_lower'],
],
'panel_password_alpha_lower' => [
'label' => lng('serversettings.panel_password_alpha_lower'),
'settinggroup' => 'panel',
'varname' => 'password_alpha_lower',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'panel_password_alpha_upper' => array(
'label' => $lng['serversettings']['panel_password_alpha_upper'],
],
'panel_password_alpha_upper' => [
'label' => lng('serversettings.panel_password_alpha_upper'),
'settinggroup' => 'panel',
'varname' => 'password_alpha_upper',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'panel_password_numeric' => array(
'label' => $lng['serversettings']['panel_password_numeric'],
],
'panel_password_numeric' => [
'label' => lng('serversettings.panel_password_numeric'),
'settinggroup' => 'panel',
'varname' => 'password_numeric',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'panel_password_special_char_required' => array(
'label' => $lng['serversettings']['panel_password_special_char_required'],
],
'panel_password_special_char_required' => [
'label' => lng('serversettings.panel_password_special_char_required'),
'settinggroup' => 'panel',
'varname' => 'password_special_char_required',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'panel_password_special_char' => array(
'label' => $lng['serversettings']['panel_password_special_char'],
],
'panel_password_special_char' => [
'label' => lng('serversettings.panel_password_special_char'),
'settinggroup' => 'panel',
'varname' => 'password_special_char',
'type' => 'text',
'default' => '!?<>§$%+#=@',
'save_method' => 'storeSettingField'
),
'panel_password_regex' => array(
'label' => $lng['serversettings']['panel_password_regex'],
],
'panel_password_regex' => [
'label' => lng('serversettings.panel_password_regex'),
'settinggroup' => 'panel',
'varname' => 'password_regex',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'customer_accountprefix' => array(
'label' => $lng['serversettings']['accountprefix'],
],
'customer_accountprefix' => [
'label' => lng('serversettings.accountprefix'),
'settinggroup' => 'customer',
'varname' => 'accountprefix',
'type' => 'text',
'default' => '',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkUsername'
),
],
'save_method' => 'storeSettingField'
),
'customer_mysqlprefix' => array(
'label' => $lng['serversettings']['mysqlprefix'],
],
'customer_mysqlprefix' => [
'label' => lng('serversettings.mysqlprefix'),
'settinggroup' => 'customer',
'varname' => 'mysqlprefix',
'type' => 'text',
'default' => '',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkUsername'
),
],
'save_method' => 'storeSettingField'
),
'customer_ftpprefix' => array(
'label' => $lng['serversettings']['ftpprefix'],
],
'customer_ftpprefix' => [
'label' => lng('serversettings.ftpprefix'),
'settinggroup' => 'customer',
'varname' => 'ftpprefix',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField'
),
'customer_ftpatdomain' => array(
'label' => $lng['serversettings']['ftpdomain'],
],
'customer_ftpatdomain' => [
'label' => lng('serversettings.ftpdomain'),
'settinggroup' => 'customer',
'varname' => 'ftpatdomain',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'panel_allow_preset' => array(
'label' => $lng['serversettings']['allow_password_reset'],
],
'panel_allow_preset' => [
'label' => lng('serversettings.allow_password_reset'),
'settinggroup' => 'panel',
'varname' => 'allow_preset',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'dependency' => array(
'dependency' => [
'fieldname' => 'panel_allow_preset_admin',
'fielddata' => array(
'fielddata' => [
'settinggroup' => 'panel',
'varname' => 'allow_preset_admin'
),
],
'onlyif' => 0
)
),
'panel_allow_preset_admin' => array(
'label' => $lng['serversettings']['allow_password_reset_admin'],
]
],
'panel_allow_preset_admin' => [
'label' => lng('serversettings.allow_password_reset_admin'),
'settinggroup' => 'panel',
'varname' => 'allow_preset_admin',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'dependency' => array(
'dependency' => [
'fieldname' => 'panel_allow_preset',
'fielddata' => array(
'fielddata' => [
'settinggroup' => 'panel',
'varname' => 'allow_preset'
),
],
'onlyif' => 1
)
),
'system_backupenabled' => array(
'label' => $lng['serversettings']['backupenabled'],
]
],
'system_backupenabled' => [
'label' => lng('serversettings.backupenabled'),
'settinggroup' => 'system',
'varname' => 'backupenabled',
'type' => 'checkbox',
'default' => false,
'cronmodule' => 'froxlor/backup',
'save_method' => 'storeSettingField'
),
'system_createstdsubdom_default' => array(
'label' => $lng['serversettings']['createstdsubdom_default'],
],
'system_createstdsubdom_default' => [
'label' => lng('serversettings.createstdsubdom_default'),
'settinggroup' => 'system',
'varname' => 'createstdsubdom_default',
'type' => 'select',
'default' => '1',
'select_var' => array(
'0' => $lng['panel']['no'],
'1' => $lng['panel']['yes']
),
'select_var' => [
'0' => lng('panel.no'),
'1' => lng('panel.yes')
],
'save_method' => 'storeSettingField'
),
)
)
)
);
],
]
]
]
];

View File

@@ -2,143 +2,150 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'system' => array(
'title' => $lng['admin']['systemsettings'],
return [
'groups' => [
'system' => [
'title' => lng('admin.systemsettings'),
'icon' => 'fa-solid fa-gears',
'fields' => array(
'system_documentroot_prefix' => array(
'label' => $lng['serversettings']['documentroot_prefix'],
'fields' => [
'system_documentroot_prefix' => [
'label' => lng('serversettings.documentroot_prefix'),
'settinggroup' => 'system',
'varname' => 'documentroot_prefix',
'type' => 'text',
'string_type' => 'dir',
'default' => '/var/customers/webs/',
'save_method' => 'storeSettingField',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkPathConflicts'
)
),
'system_documentroot_use_default_value' => array(
'label' => $lng['serversettings']['documentroot_use_default_value'],
]
],
'system_documentroot_use_default_value' => [
'label' => lng('serversettings.documentroot_use_default_value'),
'settinggroup' => 'system',
'varname' => 'documentroot_use_default_value',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_ipaddress' => array(
'label' => $lng['serversettings']['ipaddress'],
],
'system_ipaddress' => [
'label' => lng('serversettings.ipaddress'),
'settinggroup' => 'system',
'varname' => 'ipaddress',
'type' => 'select',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Domain\\IpAddr',
'getIpAddresses'
),
],
'default' => '',
'save_method' => 'storeSettingIpAddress'
),
'system_defaultip' => array(
'label' => $lng['serversettings']['defaultip'],
],
'system_defaultip' => [
'label' => lng('serversettings.defaultip'),
'settinggroup' => 'system',
'varname' => 'defaultip',
'type' => 'select',
'select_mode' => 'multiple',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Domain\\IpAddr',
'getIpPortCombinations'
),
],
'default' => '',
'save_method' => 'storeSettingDefaultIp'
),
'system_defaultsslip' => array(
'label' => $lng['serversettings']['defaultsslip'],
],
'system_defaultsslip' => [
'label' => lng('serversettings.defaultsslip'),
'settinggroup' => 'system',
'varname' => 'defaultsslip',
'type' => 'select',
'select_mode' => 'multiple',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Domain\\IpAddr',
'getSslIpPortCombinations'
),
],
'default' => '',
'save_method' => 'storeSettingDefaultSslIp'
),
'system_hostname' => array(
'label' => $lng['serversettings']['hostname'],
],
'system_hostname' => [
'label' => lng('serversettings.hostname'),
'settinggroup' => 'system',
'varname' => 'hostname',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingHostname',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkHostname'
)
),
'api_enabled' => array(
'label' => $lng['serversettings']['enable_api'],
]
],
'api_enabled' => [
'label' => lng('serversettings.enable_api'),
'settinggroup' => 'api',
'varname' => 'enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_validatedomain' => array(
'label' => $lng['serversettings']['validate_domain'],
],
'system_validatedomain' => [
'label' => lng('serversettings.validate_domain'),
'settinggroup' => 'system',
'varname' => 'validate_domain',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'system_stdsubdomain' => array(
'label' => $lng['serversettings']['stdsubdomainhost'],
],
'system_stdsubdomain' => [
'label' => lng('serversettings.stdsubdomainhost'),
'settinggroup' => 'system',
'varname' => 'stdsubdomain',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingHostname'
),
'system_mysql_access_host' => array(
'label' => $lng['serversettings']['mysql_access_host'],
],
'system_mysql_access_host' => [
'label' => lng('serversettings.mysql_access_host'),
'settinggroup' => 'system',
'varname' => 'mysql_access_host',
'type' => 'text',
'default' => '127.0.0.1,localhost',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkMysqlAccessHost'
),
],
'save_method' => 'storeSettingMysqlAccessHost'
),
'system_nssextrausers' => array(
'label' => $lng['serversettings']['nssextrausers'],
],
'system_nssextrausers' => [
'label' => lng('serversettings.nssextrausers'),
'settinggroup' => 'system',
'varname' => 'nssextrausers',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_index_file_extension' => array(
'label' => $lng['serversettings']['index_file_extension'],
],
'system_index_file_extension' => [
'label' => lng('serversettings.index_file_extension'),
'settinggroup' => 'system',
'varname' => 'index_file_extension',
'type' => 'text',
@@ -146,38 +153,38 @@ return array(
'default' => 'html',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_store_index_file_subs' => array(
'label' => $lng['serversettings']['system_store_index_file_subs'],
],
'system_store_index_file_subs' => [
'label' => lng('serversettings.system_store_index_file_subs'),
'settinggroup' => 'system',
'varname' => 'store_index_file_subs',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'system_httpuser' => array(
],
'system_httpuser' => [
'settinggroup' => 'system',
'varname' => 'httpuser',
'type' => 'hidden',
'default' => 'www-data'
),
'system_httpgroup' => array(
],
'system_httpgroup' => [
'settinggroup' => 'system',
'varname' => 'httpgroup',
'type' => 'hidden',
'default' => 'www-data'
),
'system_report_enable' => array(
'label' => $lng['serversettings']['report']['report'],
],
'system_report_enable' => [
'label' => lng('serversettings.report.report'),
'settinggroup' => 'system',
'varname' => 'report_enable',
'type' => 'checkbox',
'default' => true,
'cronmodule' => 'froxlor/reports',
'save_method' => 'storeSettingField'
),
'system_report_webmax' => array(
'label' => $lng['serversettings']['report']['webmax'],
],
'system_report_webmax' => [
'label' => lng('serversettings.report.webmax'),
'settinggroup' => 'system',
'varname' => 'report_webmax',
'type' => 'number',
@@ -185,9 +192,9 @@ return array(
'max' => 150,
'default' => 90,
'save_method' => 'storeSettingField'
),
'system_report_trafficmax' => array(
'label' => $lng['serversettings']['report']['trafficmax'],
],
'system_report_trafficmax' => [
'label' => lng('serversettings.report.trafficmax'),
'settinggroup' => 'system',
'varname' => 'report_trafficmax',
'type' => 'number',
@@ -195,25 +202,25 @@ return array(
'max' => 150,
'default' => 90,
'save_method' => 'storeSettingField'
),
'system_mail_use_smtp' => array(
'label' => $lng['serversettings']['mail_use_smtp'],
],
'system_mail_use_smtp' => [
'label' => lng('serversettings.mail_use_smtp'),
'settinggroup' => 'system',
'varname' => 'mail_use_smtp',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_mail_smtp_host' => array(
'label' => $lng['serversettings']['mail_smtp_host'],
],
'system_mail_smtp_host' => [
'label' => lng('serversettings.mail_smtp_host'),
'settinggroup' => 'system',
'varname' => 'mail_smtp_host',
'type' => 'text',
'default' => 'localhost',
'save_method' => 'storeSettingField'
),
'system_mail_smtp_port' => array(
'label' => $lng['serversettings']['mail_smtp_port'],
],
'system_mail_smtp_port' => [
'label' => lng('serversettings.mail_smtp_port'),
'settinggroup' => 'system',
'varname' => 'mail_smtp_port',
'type' => 'number',
@@ -221,81 +228,81 @@ return array(
'max' => 65535,
'default' => 25,
'save_method' => 'storeSettingField'
),
'system_mail_smtp_usetls' => array(
'label' => $lng['serversettings']['mail_smtp_usetls'],
],
'system_mail_smtp_usetls' => [
'label' => lng('serversettings.mail_smtp_usetls'),
'settinggroup' => 'system',
'varname' => 'mail_smtp_usetls',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'system_mail_smtp_auth' => array(
'label' => $lng['serversettings']['mail_smtp_auth'],
],
'system_mail_smtp_auth' => [
'label' => lng('serversettings.mail_smtp_auth'),
'settinggroup' => 'system',
'varname' => 'mail_smtp_auth',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'system_mail_smtp_user' => array(
'label' => $lng['serversettings']['mail_smtp_user'],
],
'system_mail_smtp_user' => [
'label' => lng('serversettings.mail_smtp_user'),
'settinggroup' => 'system',
'varname' => 'mail_smtp_user',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField'
),
'system_mail_smtp_passwd' => array(
'label' => $lng['serversettings']['mail_smtp_passwd'],
],
'system_mail_smtp_passwd' => [
'label' => lng('serversettings.mail_smtp_passwd'),
'settinggroup' => 'system',
'varname' => 'mail_smtp_passwd',
'type' => 'password',
'default' => '',
'save_method' => 'storeSettingField'
),
'system_apply_specialsettings_default' => array(
'label' => $lng['serversettings']['apply_specialsettings_default'],
],
'system_apply_specialsettings_default' => [
'label' => lng('serversettings.apply_specialsettings_default'),
'settinggroup' => 'system',
'varname' => 'apply_specialsettings_default',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_apply_phpconfigs_default' => array(
'label' => $lng['serversettings']['apply_phpconfigs_default'],
],
'system_apply_phpconfigs_default' => [
'label' => lng('serversettings.apply_phpconfigs_default'),
'settinggroup' => 'system',
'varname' => 'apply_phpconfigs_default',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_domaindefaultalias' => array(
'label' => $lng['admin']['domaindefaultalias'],
],
'system_domaindefaultalias' => [
'label' => lng('admin.domaindefaultalias'),
'settinggroup' => 'system',
'varname' => 'domaindefaultalias',
'type' => 'select',
'default' => '0',
'select_var' => array(
'0' => $lng['domains']['serveraliasoption_wildcard'],
'1' => $lng['domains']['serveraliasoption_www'],
'2' => $lng['domains']['serveraliasoption_none']
),
'select_var' => [
'0' => lng('domains.serveraliasoption_wildcard'),
'1' => lng('domains.serveraliasoption_www'),
'2' => lng('domains.serveraliasoption_none')
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'hide_incompatible_settings' => array(
'label' => $lng['serversettings']['hide_incompatible_settings'],
],
'hide_incompatible_settings' => [
'label' => lng('serversettings.hide_incompatible_settings'),
'settinggroup' => 'system',
'varname' => 'hide_incompatible_settings',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
)
)
)
);
],
]
]
]
];

View File

@@ -2,37 +2,51 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2016 the Froxlor Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2016-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package \Froxlor\Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'froxlorvhost' => array(
'title' => $lng['admin']['froxlorvhost'] . (call_user_func(array('\Froxlor\Settings\FroxlorVhostSettings', 'hasVhostContainerEnabled')) == false ? $lng['admin']['novhostcontainer'] : ''),
use Froxlor\Settings;
return [
'groups' => [
'froxlorvhost' => [
'title' => lng('admin.froxlorvhost') . (call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
]) == false ? lng('admin.novhostcontainer') : ''),
'icon' => 'fa-solid fa-wrench',
'fields' => array(
'fields' => [
/**
* Webserver-Vhost
*/
'system_froxlordirectlyviahostname' => array(
'label' => $lng['serversettings']['froxlordirectlyviahostname'],
'system_froxlordirectlyviahostname' => [
'label' => lng('serversettings.froxlordirectlyviahostname'),
'settinggroup' => 'system',
'varname' => 'froxlordirectlyviahostname',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_froxloraliases' => array(
'label' => $lng['serversettings']['froxloraliases'],
],
'system_froxloraliases' => [
'label' => lng('serversettings.froxloraliases'),
'settinggroup' => 'system',
'varname' => 'froxloraliases',
'type' => 'text',
@@ -41,36 +55,36 @@ return array(
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
],
/**
* SSL / Let's Encrypt
*/
'system_le_froxlor_enabled' => array(
'label' => $lng['serversettings']['le_froxlor_enabled'],
'system_le_froxlor_enabled' => [
'label' => lng('serversettings.le_froxlor_enabled'),
'settinggroup' => 'system',
'varname' => 'le_froxlor_enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingClearCertificates',
'visible' => \Froxlor\Settings::Get('system.leenabled') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true)
),
'system_le_froxlor_redirect' => array(
'label' => $lng['serversettings']['le_froxlor_redirect'],
'visible' => Settings::Get('system.leenabled') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true)
],
'system_le_froxlor_redirect' => [
'label' => lng('serversettings.le_froxlor_redirect'),
'settinggroup' => 'system',
'varname' => 'le_froxlor_redirect',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true)
),
'system_hsts_maxage' => array(
'label' => $lng['admin']['domain_hsts_maxage'],
'visible' => Settings::Get('system.use_ssl') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true)
],
'system_hsts_maxage' => [
'label' => lng('admin.domain_hsts_maxage'),
'settinggroup' => 'system',
'varname' => 'hsts_maxage',
'type' => 'number',
@@ -78,199 +92,199 @@ return array(
'max' => 94608000, // 3-years
'default' => 10368000,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true),
'visible' => Settings::Get('system.use_ssl') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true),
'advanced_mode' => true
),
'system_hsts_incsub' => array(
'label' => $lng['admin']['domain_hsts_incsub'],
],
'system_hsts_incsub' => [
'label' => lng('admin.domain_hsts_incsub'),
'settinggroup' => 'system',
'varname' => 'hsts_incsub',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true),
'visible' => Settings::Get('system.use_ssl') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true),
'advanced_mode' => true
),
'system_hsts_preload' => array(
'label' => $lng['admin']['domain_hsts_preload'],
],
'system_hsts_preload' => [
'label' => lng('admin.domain_hsts_preload'),
'settinggroup' => 'system',
'varname' => 'hsts_preload',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true),
'visible' => Settings::Get('system.use_ssl') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true),
'advanced_mode' => true
),
'system_honorcipherorder' => array(
'label' => $lng['admin']['domain_honorcipherorder'],
],
'system_honorcipherorder' => [
'label' => lng('admin.domain_honorcipherorder'),
'settinggroup' => 'system',
'varname' => 'honorcipherorder',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true),
'visible' => Settings::Get('system.use_ssl') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true),
'advanced_mode' => true
),
'system_sessiontickets' => array(
'label' => $lng['admin']['domain_sessiontickets'],
],
'system_sessiontickets' => [
'label' => lng('admin.domain_sessiontickets'),
'settinggroup' => 'system',
'varname' => 'sessiontickets',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
), true),
'visible' => Settings::Get('system.use_ssl') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
], true),
'advanced_mode' => true
),
],
/**
* FCGID
*/
'system_mod_fcgid_enabled_ownvhost' => array(
'label' => $lng['serversettings']['mod_fcgid_ownvhost'],
'system_mod_fcgid_enabled_ownvhost' => [
'label' => lng('serversettings.mod_fcgid_ownvhost'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_ownvhost',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
'visible' => \Froxlor\Settings::Get('system.mod_fcgid') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'system_mod_fcgid_httpuser' => array(
'label' => $lng['admin']['mod_fcgid_user'],
],
'visible' => Settings::Get('system.mod_fcgid') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
'system_mod_fcgid_httpuser' => [
'label' => lng('admin.mod_fcgid_user'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_httpuser',
'type' => 'text',
'default' => 'froxlorlocal',
'save_method' => 'storeSettingWebserverFcgidFpmUser',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
'visible' => \Froxlor\Settings::Get('system.mod_fcgid') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'system_mod_fcgid_httpgroup' => array(
'label' => $lng['admin']['mod_fcgid_group'],
],
'visible' => Settings::Get('system.mod_fcgid') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
'system_mod_fcgid_httpgroup' => [
'label' => lng('admin.mod_fcgid_group'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_httpgroup',
'type' => 'text',
'default' => 'froxlorlocal',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
'visible' => \Froxlor\Settings::Get('system.mod_fcgid') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'system_mod_fcgid_defaultini_ownvhost' => array(
'label' => $lng['serversettings']['mod_fcgid']['defaultini_ownvhost'],
],
'visible' => Settings::Get('system.mod_fcgid') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
'system_mod_fcgid_defaultini_ownvhost' => [
'label' => lng('serversettings.mod_fcgid.defaultini_ownvhost'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_defaultini_ownvhost',
'type' => 'select',
'default' => '2',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Http\\PhpConfig',
'getPhpConfigs'
),
],
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
'visible' => \Froxlor\Settings::Get('system.mod_fcgid') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
],
'visible' => Settings::Get('system.mod_fcgid') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
/**
* php-fpm
*/
'system_phpfpm_enabled_ownvhost' => array(
'label' => $lng['phpfpm']['ownvhost'],
'system_phpfpm_enabled_ownvhost' => [
'label' => lng('phpfpm.ownvhost'),
'settinggroup' => 'phpfpm',
'varname' => 'enabled_ownvhost',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('phpfpm.enabled') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'system_phpfpm_httpuser' => array(
'label' => $lng['phpfpm']['vhost_httpuser'],
'visible' => Settings::Get('phpfpm.enabled') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
'system_phpfpm_httpuser' => [
'label' => lng('phpfpm.vhost_httpuser'),
'settinggroup' => 'phpfpm',
'varname' => 'vhost_httpuser',
'type' => 'text',
'default' => 'froxlorlocal',
'save_method' => 'storeSettingWebserverFcgidFpmUser',
'visible' => \Froxlor\Settings::Get('phpfpm.enabled') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'system_phpfpm_httpgroup' => array(
'label' => $lng['phpfpm']['vhost_httpgroup'],
'visible' => Settings::Get('phpfpm.enabled') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
'system_phpfpm_httpgroup' => [
'label' => lng('phpfpm.vhost_httpgroup'),
'settinggroup' => 'phpfpm',
'varname' => 'vhost_httpgroup',
'type' => 'text',
'default' => 'froxlorlocal',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('phpfpm.enabled') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'system_phpfpm_defaultini_ownvhost' => array(
'label' => $lng['serversettings']['mod_fcgid']['defaultini_ownvhost'],
'visible' => Settings::Get('phpfpm.enabled') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
'system_phpfpm_defaultini_ownvhost' => [
'label' => lng('serversettings.mod_fcgid.defaultini_ownvhost'),
'settinggroup' => 'phpfpm',
'varname' => 'vhost_defaultini',
'type' => 'select',
'default' => '2',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Http\\PhpConfig',
'getPhpConfigs'
),
],
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('phpfpm.enabled') && call_user_func(array(
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
))
),
'visible' => Settings::Get('phpfpm.enabled') && call_user_func([
'\Froxlor\Settings\FroxlorVhostSettings',
'hasVhostContainerEnabled'
])
],
/**
* DNS
*/
'system_dns_createhostnameentry' => array(
'label' => $lng['serversettings']['dns_createhostnameentry'],
'system_dns_createhostnameentry' => [
'label' => lng('serversettings.dns_createhostnameentry'),
'settinggroup' => 'system',
'varname' => 'dns_createhostnameentry',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.bind_enable')
)
)
)
)
);
'visible' => Settings::Get('system.bind_enable')
]
]
]
]
];

View File

@@ -2,67 +2,76 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2014 the Froxlor Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'crond' => array(
'title' => $lng['admin']['cronsettings'],
return [
'groups' => [
'crond' => [
'title' => lng('admin.cronsettings'),
'icon' => 'fa-solid fa-clock-rotate-left',
'advanced_mode' => true,
'fields' => array(
'system_cronconfig' => array(
'label' => $lng['serversettings']['system_cronconfig'],
'fields' => [
'system_cronconfig' => [
'label' => lng('serversettings.system_cronconfig'),
'settinggroup' => 'system',
'varname' => 'cronconfig',
'type' => 'text',
'string_type' => 'file',
'default' => '/etc/cron.d/froxlor',
'save_method' => 'storeSettingField'
),
'system_croncmdline' => array(
'label' => $lng['serversettings']['system_croncmdline'],
],
'system_croncmdline' => [
'label' => lng('serversettings.system_croncmdline'),
'settinggroup' => 'system',
'varname' => 'croncmdline',
'type' => 'text',
'default' => '/usr/bin/nice -n 5 /usr/bin/php -q',
'save_method' => 'storeSettingField'
),
'system_crondreload' => array(
'label' => $lng['serversettings']['system_crondreload'],
],
'system_crondreload' => [
'label' => lng('serversettings.system_crondreload'),
'settinggroup' => 'system',
'varname' => 'crondreload',
'type' => 'text',
'default' => '/etc/init.d/cron reload',
'save_method' => 'storeSettingField'
),
'system_cron_allowautoupdate' => array(
'label' => $lng['serversettings']['system_cron_allowautoupdate'],
],
'system_cron_allowautoupdate' => [
'label' => lng('serversettings.system_cron_allowautoupdate'),
'settinggroup' => 'system',
'varname' => 'cron_allowautoupdate',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_debug_cron' => array(
'label' => $lng['serversettings']['cron']['debug'],
],
'system_debug_cron' => [
'label' => lng('serversettings.cron.debug'),
'settinggroup' => 'system',
'varname' => 'debug_cron',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,82 +2,91 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package \Froxlor\Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'webserver' => array(
'title' => $lng['admin']['webserversettings'],
use Froxlor\Settings;
return [
'groups' => [
'webserver' => [
'title' => lng('admin.webserversettings'),
'icon' => 'fa-solid fa-server',
'fields' => array(
'system_webserver' => array(
'label' => $lng['admin']['webserver'],
'fields' => [
'system_webserver' => [
'label' => lng('admin.webserver'),
'settinggroup' => 'system',
'varname' => 'webserver',
'type' => 'select',
'default' => 'apache2',
'select_var' => array(
'select_var' => [
'apache2' => 'Apache 2',
'lighttpd' => 'ligHTTPd',
'nginx' => 'Nginx'
),
],
'save_method' => 'storeSettingField',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkPhpInterfaceSetting'
)
),
'system_apache_24' => array(
'label' => $lng['serversettings']['apache_24'],
]
],
'system_apache_24' => [
'label' => lng('serversettings.apache_24'),
'settinggroup' => 'system',
'varname' => 'apache24',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
)
),
'system_apache_itksupport' => array(
'label' => $lng['serversettings']['apache_itksupport'],
]
],
'system_apache_itksupport' => [
'label' => lng('serversettings.apache_itksupport'),
'settinggroup' => 'system',
'varname' => 'apacheitksupport',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'visible' => (\Froxlor\Settings::Get('system.mod_fcgid') == 0 && \Froxlor\Settings::Get('phpfpm.enabled') == 0),
'websrv_avail' => array(
'visible' => (Settings::Get('system.mod_fcgid') == 0 && Settings::Get('phpfpm.enabled') == 0),
'websrv_avail' => [
'apache2'
),
],
'advanced_mode' => true
),
'system_http2_support' => array(
'label' => $lng['serversettings']['http2_support'],
],
'system_http2_support' => [
'label' => lng('serversettings.http2_support'),
'settinggroup' => 'system',
'varname' => 'http2_support',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'nginx'
),
'visible' => \Froxlor\Settings::Get('system.use_ssl')
),
'system_dhparams_file' => array(
'label' => $lng['serversettings']['dhparams_file'],
],
'visible' => Settings::Get('system.use_ssl')
],
'system_dhparams_file' => [
'label' => lng('serversettings.dhparams_file'),
'settinggroup' => 'system',
'varname' => 'dhparams_file',
'type' => 'text',
@@ -85,122 +94,122 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl'),
'visible' => Settings::Get('system.use_ssl'),
'advanced_mode' => true
),
'system_httpuser' => array(
'label' => $lng['admin']['webserver_user'],
],
'system_httpuser' => [
'label' => lng('admin.webserver_user'),
'settinggroup' => 'system',
'varname' => 'httpuser',
'type' => 'text',
'default' => 'www-data',
'save_method' => 'storeSettingWebserverFcgidFpmUser'
),
'system_httpgroup' => array(
'label' => $lng['admin']['webserver_group'],
],
'system_httpgroup' => [
'label' => lng('admin.webserver_group'),
'settinggroup' => 'system',
'varname' => 'httpgroup',
'type' => 'text',
'default' => 'www-data',
'save_method' => 'storeSettingField'
),
'system_apacheconf_vhost' => array(
'label' => $lng['serversettings']['apacheconf_vhost'],
],
'system_apacheconf_vhost' => [
'label' => lng('serversettings.apacheconf_vhost'),
'settinggroup' => 'system',
'varname' => 'apacheconf_vhost',
'type' => 'text',
'string_type' => 'filedir',
'default' => '/etc/apache2/sites-enabled/',
'save_method' => 'storeSettingField'
),
'system_apacheconf_diroptions' => array(
'label' => $lng['serversettings']['apacheconf_diroptions'],
],
'system_apacheconf_diroptions' => [
'label' => lng('serversettings.apacheconf_diroptions'),
'settinggroup' => 'system',
'varname' => 'apacheconf_diroptions',
'type' => 'text',
'string_type' => 'filedir',
'default' => '/etc/apache2/sites-enabled/',
'save_method' => 'storeSettingField'
),
'system_apacheconf_htpasswddir' => array(
'label' => $lng['serversettings']['apacheconf_htpasswddir'],
],
'system_apacheconf_htpasswddir' => [
'label' => lng('serversettings.apacheconf_htpasswddir'),
'settinggroup' => 'system',
'varname' => 'apacheconf_htpasswddir',
'type' => 'text',
'string_type' => 'confdir',
'default' => '/etc/apache2/htpasswd/',
'save_method' => 'storeSettingField'
),
'system_logfiles_directory' => array(
'label' => $lng['serversettings']['logfiles_directory'],
],
'system_logfiles_directory' => [
'label' => lng('serversettings.logfiles_directory'),
'settinggroup' => 'system',
'varname' => 'logfiles_directory',
'type' => 'text',
'string_type' => 'dir',
'default' => '/var/customers/logs/',
'save_method' => 'storeSettingField'
),
'system_logfiles_script' => array(
'label' => $lng['serversettings']['logfiles_script'],
],
'system_logfiles_script' => [
'label' => lng('serversettings.logfiles_script'),
'settinggroup' => 'system',
'varname' => 'logfiles_script',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
],
'advanced_mode' => true
),
'system_logfiles_piped' => array(
'label' => $lng['serversettings']['logfiles_piped'],
],
'system_logfiles_piped' => [
'label' => lng('serversettings.logfiles_piped'),
'settinggroup' => 'system',
'varname' => 'logfiles_piped',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
],
'advanced_mode' => true
),
'system_logfiles_format' => array(
'label' => $lng['serversettings']['logfiles_format'],
],
'system_logfiles_format' => [
'label' => lng('serversettings.logfiles_format'),
'settinggroup' => 'system',
'varname' => 'logfiles_format',
'type' => 'text',
'default' => '',
'string_emptyallowed' => true,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'nginx'
),
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1,
],
'visible' => Settings::Get('system.awstats_enabled') == 1,
'advanced_mode' => true
),
'system_logfiles_type' => array(
'label' => $lng['serversettings']['logfiles_type'],
],
'system_logfiles_type' => [
'label' => lng('serversettings.logfiles_type'),
'settinggroup' => 'system',
'varname' => 'logfiles_type',
'type' => 'select',
'default' => '1',
'select_var' => array(
'select_var' => [
'1' => 'combined',
'2' => 'vhost_combined'
),
],
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
)
),
'system_errorlog_level' => array(
'label' => $lng['serversettings']['errorlog_level'],
]
],
'system_errorlog_level' => [
'label' => lng('serversettings.errorlog_level'),
'settinggroup' => 'system',
'varname' => 'errorlog_level',
'type' => 'select',
'default' => (\Froxlor\Settings::Get('system.webserver') == 'nginx' ? 'error' : 'warn'),
'select_var' => array(
'default' => (Settings::Get('system.webserver') == 'nginx' ? 'error' : 'warn'),
'select_var' => [
'emerg' => 'emerg',
'alert' => 'alert',
'crit' => 'crit',
@@ -209,24 +218,24 @@ return array(
'notice' => 'notice',
'info' => 'info',
'debug' => 'debug'
),
],
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'nginx'
)
),
'system_customersslpath' => array(
'label' => $lng['serversettings']['customerssl_directory'],
]
],
'system_customersslpath' => [
'label' => lng('serversettings.customerssl_directory'),
'settinggroup' => 'system',
'varname' => 'customer_ssl_path',
'type' => 'text',
'string_type' => 'confdir',
'default' => '/etc/ssl/froxlor-custom/',
'save_method' => 'storeSettingField'
),
'system_phpappendopenbasedir' => array(
'label' => $lng['serversettings']['phpappendopenbasedir'],
],
'system_phpappendopenbasedir' => [
'label' => lng('serversettings.phpappendopenbasedir'),
'settinggroup' => 'system',
'varname' => 'phpappendopenbasedir',
'type' => 'text',
@@ -234,9 +243,9 @@ return array(
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_deactivateddocroot' => array(
'label' => $lng['serversettings']['deactivateddocroot'],
],
'system_deactivateddocroot' => [
'label' => lng('serversettings.deactivateddocroot'),
'settinggroup' => 'system',
'varname' => 'deactivateddocroot',
'type' => 'text',
@@ -244,165 +253,165 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'system_default_vhostconf' => array(
'label' => $lng['serversettings']['default_vhostconf'],
],
'system_default_vhostconf' => [
'label' => lng('serversettings.default_vhostconf'),
'settinggroup' => 'system',
'varname' => 'default_vhostconf',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_default_sslvhostconf' => array(
'label' => $lng['serversettings']['default_sslvhostconf'],
],
'system_default_sslvhostconf' => [
'label' => lng('serversettings.default_sslvhostconf'),
'settinggroup' => 'system',
'varname' => 'default_sslvhostconf',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.use_ssl') == 1,
'visible' => Settings::Get('system.use_ssl') == 1,
'advanced_mode' => true
),
'system_include_default_vhostconf' => array(
'label' => $lng['serversettings']['includedefault_sslvhostconf'],
],
'system_include_default_vhostconf' => [
'label' => lng('serversettings.includedefault_sslvhostconf'),
'settinggroup' => 'system',
'varname' => 'include_default_vhostconf',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_apache_globaldiropt' => array(
'label' => $lng['serversettings']['apache_globaldiropt'],
],
'system_apache_globaldiropt' => [
'label' => lng('serversettings.apache_globaldiropt'),
'settinggroup' => 'system',
'varname' => 'apacheglobaldiropt',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'visible' => (\Froxlor\Settings::Get('system.mod_fcgid') == 0 && \Froxlor\Settings::Get('phpfpm.enabled') == 0),
'websrv_avail' => array(
'visible' => (Settings::Get('system.mod_fcgid') == 0 && Settings::Get('phpfpm.enabled') == 0),
'websrv_avail' => [
'apache2'
),
],
'advanced_mode' => true
),
'system_apachereload_command' => array(
'label' => $lng['serversettings']['apachereload_command'],
],
'system_apachereload_command' => [
'label' => lng('serversettings.apachereload_command'),
'settinggroup' => 'system',
'varname' => 'apachereload_command',
'type' => 'text',
'default' => '/etc/init.d/apache2 reload',
'save_method' => 'storeSettingField'
),
'system_phpreload_command' => array(
'label' => $lng['serversettings']['phpreload_command'],
],
'system_phpreload_command' => [
'label' => lng('serversettings.phpreload_command'),
'settinggroup' => 'system',
'varname' => 'phpreload_command',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'nginx'
)
),
'system_nginx_php_backend' => array(
'label' => $lng['serversettings']['nginx_php_backend'],
]
],
'system_nginx_php_backend' => [
'label' => lng('serversettings.nginx_php_backend'),
'settinggroup' => 'system',
'varname' => 'nginx_php_backend',
'type' => 'text',
'default' => '127.0.0.1:8888',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'nginx'
)
),
'nginx_fastcgiparams' => array(
'label' => $lng['serversettings']['nginx_fastcgiparams'],
]
],
'nginx_fastcgiparams' => [
'label' => lng('serversettings.nginx_fastcgiparams'),
'settinggroup' => 'nginx',
'varname' => 'fastcgiparams',
'type' => 'text',
'string_type' => 'file',
'default' => '/etc/nginx/fastcgi_params',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'nginx'
)
),
'defaultwebsrverrhandler_enabled' => array(
'label' => $lng['serversettings']['defaultwebsrverrhandler_enabled'],
]
],
'defaultwebsrverrhandler_enabled' => [
'label' => lng('serversettings.defaultwebsrverrhandler_enabled'),
'settinggroup' => 'defaultwebsrverrhandler',
'varname' => 'enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'defaultwebsrverrhandler_err401' => array(
'label' => $lng['serversettings']['defaultwebsrverrhandler_err401'],
],
'defaultwebsrverrhandler_err401' => [
'label' => lng('serversettings.defaultwebsrverrhandler_err401'),
'settinggroup' => 'defaultwebsrverrhandler',
'varname' => 'err401',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'nginx'
),
],
'advanced_mode' => true
),
'defaultwebsrverrhandler_err403' => array(
'label' => $lng['serversettings']['defaultwebsrverrhandler_err403'],
],
'defaultwebsrverrhandler_err403' => [
'label' => lng('serversettings.defaultwebsrverrhandler_err403'),
'settinggroup' => 'defaultwebsrverrhandler',
'varname' => 'err403',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'nginx'
),
],
'advanced_mode' => true
),
'defaultwebsrverrhandler_err404' => array(
'label' => $lng['serversettings']['defaultwebsrverrhandler_err404'],
],
'defaultwebsrverrhandler_err404' => [
'label' => lng('serversettings.defaultwebsrverrhandler_err404'),
'settinggroup' => 'defaultwebsrverrhandler',
'varname' => 'err404',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'defaultwebsrverrhandler_err500' => array(
'label' => $lng['serversettings']['defaultwebsrverrhandler_err500'],
],
'defaultwebsrverrhandler_err500' => [
'label' => lng('serversettings.defaultwebsrverrhandler_err500'),
'settinggroup' => 'defaultwebsrverrhandler',
'varname' => 'err500',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'nginx'
),
],
'advanced_mode' => true
),
'customredirect_enabled' => array(
'label' => $lng['serversettings']['customredirect_enabled'],
],
'customredirect_enabled' => [
'label' => lng('serversettings.customredirect_enabled'),
'settinggroup' => 'customredirect',
'varname' => 'enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'customredirect_default' => array(
'label' => $lng['serversettings']['customredirect_default'],
],
'customredirect_default' => [
'label' => lng('serversettings.customredirect_default'),
'settinggroup' => 'customredirect',
'varname' => 'default',
'type' => 'select',
'default' => '1',
'option_options_method' => array('\\Froxlor\\Domain\\Domain', 'getRedirectCodes'),
'option_options_method' => ['\\Froxlor\\Domain\\Domain', 'getRedirectCodes'],
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,52 +2,62 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package \Froxlor\Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'ssl' => array(
'title' => $lng['admin']['sslsettings'],
use Froxlor\Froxlor;
use Froxlor\Settings;
return [
'groups' => [
'ssl' => [
'title' => lng('admin.sslsettings'),
'icon' => 'fa-solid fa-shield',
'fields' => array(
'system_ssl_enabled' => array(
'label' => $lng['serversettings']['ssl']['use_ssl'],
'fields' => [
'system_ssl_enabled' => [
'label' => lng('serversettings.ssl.use_ssl'),
'settinggroup' => 'system',
'varname' => 'use_ssl',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'overview_option' => true
),
'system_ssl_protocols' => array(
'label' => $lng['serversettings']['ssl']['ssl_protocols'],
],
'system_ssl_protocols' => [
'label' => lng('serversettings.ssl.ssl_protocols'),
'settinggroup' => 'system',
'varname' => 'ssl_protocols',
'type' => 'select',
'default' => 'TLSv1.2',
'select_mode' => 'multiple',
'select_var' => array(
'select_var' => [
'TLSv1' => 'TLSv1',
'TLSv1.1' => 'TLSv1.1',
'TLSv1.2' => 'TLSv1.2',
'TLSv1.3' => 'TLSv1.3'
),
],
'save_method' => 'storeSettingField'
),
'system_ssl_cipher_list' => array(
'label' => $lng['serversettings']['ssl']['ssl_cipher_list'],
],
'system_ssl_cipher_list' => [
'label' => lng('serversettings.ssl.ssl_cipher_list'),
'settinggroup' => 'system',
'varname' => 'ssl_cipher_list',
'type' => 'text',
@@ -55,20 +65,20 @@ return array(
'default' => 'ECDH+AESGCM:ECDH+AES256:!aNULL:!MD5:!DSS:!DH:!AES128',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_tlsv13_cipher_list' => array(
'label' => $lng['serversettings']['ssl']['tlsv13_cipher_list'],
],
'system_tlsv13_cipher_list' => [
'label' => lng('serversettings.ssl.tlsv13_cipher_list'),
'settinggroup' => 'system',
'varname' => 'tlsv13_cipher_list',
'type' => 'text',
'string_emptyallowed' => true,
'default' => '',
'visible' => \Froxlor\Settings::Get('system.webserver') == "apache2" && \Froxlor\Settings::Get('system.apache24') == 1,
'visible' => Settings::Get('system.webserver') == "apache2" && Settings::Get('system.apache24') == 1,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_ssl_cert_file' => array(
'label' => $lng['serversettings']['ssl']['ssl_cert_file'],
],
'system_ssl_cert_file' => [
'label' => lng('serversettings.ssl.ssl_cert_file'),
'settinggroup' => 'system',
'varname' => 'ssl_cert_file',
'type' => 'text',
@@ -76,9 +86,9 @@ return array(
'string_emptyallowed' => true,
'default' => '/etc/apache2/apache2.pem',
'save_method' => 'storeSettingField'
),
'system_ssl_key_file' => array(
'label' => $lng['serversettings']['ssl']['ssl_key_file'],
],
'system_ssl_key_file' => [
'label' => lng('serversettings.ssl.ssl_key_file'),
'settinggroup' => 'system',
'varname' => 'ssl_key_file',
'type' => 'text',
@@ -86,9 +96,9 @@ return array(
'string_emptyallowed' => true,
'default' => '/etc/apache2/apache2.key',
'save_method' => 'storeSettingField'
),
'system_ssl_cert_chainfile' => array(
'label' => $lng['admin']['ipsandports']['ssl_cert_chainfile'],
],
'system_ssl_cert_chainfile' => [
'label' => lng('admin.ipsandports.ssl_cert_chainfile'),
'settinggroup' => 'system',
'varname' => 'ssl_cert_chainfile',
'type' => 'text',
@@ -96,9 +106,9 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'system_ssl_ca_file' => array(
'label' => $lng['serversettings']['ssl']['ssl_ca_file'],
],
'system_ssl_ca_file' => [
'label' => lng('serversettings.ssl.ssl_ca_file'),
'settinggroup' => 'system',
'varname' => 'ssl_ca_file',
'type' => 'text',
@@ -106,39 +116,39 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'system_apache24_ocsp_cache_path' => array(
'label' => $lng['serversettings']['ssl']['apache24_ocsp_cache_path'],
],
'system_apache24_ocsp_cache_path' => [
'label' => lng('serversettings.ssl.apache24_ocsp_cache_path'),
'settinggroup' => 'system',
'varname' => 'apache24_ocsp_cache_path',
'type' => 'text',
'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,
'visible' => Settings::Get('system.webserver') == "apache2" && Settings::Get('system.apache24') == 1,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_sessionticketsenabled' => array(
'label' => $lng['admin']['domain_sessionticketsenabled'],
],
'system_sessionticketsenabled' => [
'label' => lng('admin.domain_sessionticketsenabled'),
'settinggroup' => 'system',
'varname' => 'sessionticketsenabled',
'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' => Settings::Get('system.use_ssl') && (Settings::Get('system.webserver') == "nginx" || (Settings::Get('system.webserver') == "apache2" && Settings::Get('system.apache24') == 1)),
'advanced_mode' => true
),
'system_leenabled' => array(
'label' => $lng['serversettings']['leenabled'],
],
'system_leenabled' => [
'label' => lng('serversettings.leenabled'),
'settinggroup' => 'system',
'varname' => 'leenabled',
'type' => 'checkbox',
'default' => false,
'cronmodule' => 'froxlor/letsencrypt',
'save_method' => 'storeSettingField'
),
'system_acmeshpath' => array(
'label' => $lng['serversettings']['acmeshpath'],
],
'system_acmeshpath' => [
'label' => lng('serversettings.acmeshpath'),
'settinggroup' => 'system',
'varname' => 'acmeshpath',
'type' => 'text',
@@ -146,102 +156,102 @@ return array(
'default' => '/root/.acme.sh/acme.sh',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_letsencryptacmeconf' => array(
'label' => $lng['serversettings']['letsencryptacmeconf'],
],
'system_letsencryptacmeconf' => [
'label' => lng('serversettings.letsencryptacmeconf'),
'settinggroup' => 'system',
'varname' => 'letsencryptacmeconf',
'type' => 'text',
'string_type' => 'file',
'default' => '/etc/apache2/conf-enabled/acme.conf',
'save_method' => 'storeSettingField'
),
],
/**
* currently the only option anyway
*
'system_leapiversion' => array(
'label' => $lng['serversettings']['leapiversion'],
'settinggroup' => 'system',
'varname' => 'leapiversion',
'type' => 'select',
'default' => '2',
'select_var' => array(
'2' => 'ACME v2'
),
'save_method' => 'storeSettingField'
),
* 'system_leapiversion' => array(
* 'label' => lng('serversettings.leapiversion'),
* 'settinggroup' => 'system',
* 'varname' => 'leapiversion',
* 'type' => 'select',
* 'default' => '2',
* 'select_var' => array(
* '2' => 'ACME v2'
* ),
* 'save_method' => 'storeSettingField'
* ),
*/
'system_letsencryptca' => array(
'label' => $lng['serversettings']['letsencryptca'],
'system_letsencryptca' => [
'label' => lng('serversettings.letsencryptca'),
'settinggroup' => 'system',
'varname' => 'letsencryptca',
'type' => 'select',
'default' => 'letsencrypt',
'select_var' => array(
'select_var' => [
'letsencrypt_test' => 'Let\'s Encrypt (Test / Staging)',
'letsencrypt' => 'Let\'s Encrypt (Live)',
'buypass_test' => 'Buypass (Test / Staging)',
'buypass' => 'Buypass (Live)',
'zerossl' => 'ZeroSSL (Live)'
),
],
'save_method' => 'storeSettingField'
),
'system_letsencryptchallengepath' => array(
'label' => $lng['serversettings']['letsencryptchallengepath'],
],
'system_letsencryptchallengepath' => [
'label' => lng('serversettings.letsencryptchallengepath'),
'settinggroup' => 'system',
'varname' => 'letsencryptchallengepath',
'type' => 'text',
'string_emptyallowed' => false,
'default' => \Froxlor\Froxlor::getInstallDir(),
'default' => Froxlor::getInstallDir(),
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_letsencryptkeysize' => array(
'label' => $lng['serversettings']['letsencryptkeysize'],
],
'system_letsencryptkeysize' => [
'label' => lng('serversettings.letsencryptkeysize'),
'settinggroup' => 'system',
'varname' => 'letsencryptkeysize',
'type' => 'select',
'default' => '2048',
'select_var' => array(
'select_var' => [
'2048' => '2048',
'3072' => '3072',
'4096' => '4096',
'8192' => '8192'
),
],
'save_method' => 'storeSettingField'
),
'system_leecc' => array(
'label' => $lng['serversettings']['letsencryptecc'],
],
'system_leecc' => [
'label' => lng('serversettings.letsencryptecc'),
'settinggroup' => 'system',
'varname' => 'leecc',
'type' => 'select',
'default' => '0',
'select_var' => array(
'select_var' => [
'0' => '-',
'256' => 'ec-256',
'384' => 'ec-384'
),
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_letsencryptreuseold' => array(
'label' => $lng['serversettings']['letsencryptreuseold'],
],
'system_letsencryptreuseold' => [
'label' => lng('serversettings.letsencryptreuseold'),
'settinggroup' => 'system',
'varname' => 'letsencryptreuseold',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_le_domain_dnscheck' => array(
'label' => $lng['serversettings']['le_domain_dnscheck'],
],
'system_le_domain_dnscheck' => [
'label' => lng('serversettings.le_domain_dnscheck'),
'settinggroup' => 'system',
'varname' => 'le_domain_dnscheck',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -4,63 +4,72 @@
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'fcgid' => array(
'title' => $lng['admin']['fcgid_settings'],
return [
'groups' => [
'fcgid' => [
'title' => lng('admin.fcgid_settings'),
'icon' => 'fa-brands fa-php',
'websrv_avail' => array(
'websrv_avail' => [
'apache2',
'lighttpd'
),
'fields' => array(
'system_mod_fcgid_enabled' => array(
'label' => $lng['serversettings']['mod_fcgid'],
],
'fields' => [
'system_mod_fcgid_enabled' => [
'label' => lng('serversettings.mod_fcgid'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkFcgidPhpFpm'
),
],
'overview_option' => true
),
'system_mod_fcgid_configdir' => array(
'label' => $lng['serversettings']['mod_fcgid']['configdir'],
],
'system_mod_fcgid_configdir' => [
'label' => lng('serversettings.mod_fcgid.configdir'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_configdir',
'type' => 'text',
'string_type' => 'confdir',
'default' => '/var/www/php-fcgi-scripts/',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkPathConflicts'
),
],
'save_method' => 'storeSettingField'
),
'system_mod_fcgid_tmpdir' => array(
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
],
'system_mod_fcgid_tmpdir' => [
'label' => lng('serversettings.mod_fcgid.tmpdir'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_tmpdir',
'type' => 'text',
'string_type' => 'dir',
'default' => '/var/customers/tmp/',
'save_method' => 'storeSettingField'
),
'system_mod_fcgid_peardir' => array(
'label' => $lng['serversettings']['mod_fcgid']['peardir'],
],
'system_mod_fcgid_peardir' => [
'label' => lng('serversettings.mod_fcgid.peardir'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_peardir',
'type' => 'text',
@@ -70,25 +79,25 @@ return array(
'default' => '/usr/share/php/:/usr/share/php5/',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mod_fcgid_wrapper' => array(
'label' => $lng['serversettings']['mod_fcgid']['wrapper'],
],
'system_mod_fcgid_wrapper' => [
'label' => lng('serversettings.mod_fcgid.wrapper'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_wrapper',
'type' => 'select',
'select_var' => array(
'select_var' => [
0 => 'ScriptAlias',
1 => 'FcgidWrapper'
),
],
'default' => 1,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
),
],
'advanced_mode' => true
),
'system_mod_fcgid_starter' => array(
'label' => $lng['serversettings']['mod_fcgid']['starter'],
],
'system_mod_fcgid_starter' => [
'label' => lng('serversettings.mod_fcgid.starter'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_starter',
'type' => 'number',
@@ -96,37 +105,38 @@ return array(
'default' => 0,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mod_fcgid_maxrequests' => array(
'label' => $lng['serversettings']['mod_fcgid']['maxrequests'],
],
'system_mod_fcgid_maxrequests' => [
'label' => lng('serversettings.mod_fcgid.maxrequests'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_maxrequests',
'type' => 'number',
'default' => 250,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mod_fcgid_defaultini' => array(
'label' => $lng['serversettings']['mod_fcgid']['defaultini'],
],
'system_mod_fcgid_defaultini' => [
'label' => lng('serversettings.mod_fcgid.defaultini'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_defaultini',
'type' => 'select',
'default' => '1',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Http\\PhpConfig',
'getPhpConfigs'),
'getPhpConfigs'
],
'save_method' => 'storeSettingField'
),
'system_mod_fcgid_idle_timeout' => array(
'label' => $lng['serversettings']['mod_fcgid']['idle_timeout'],
],
'system_mod_fcgid_idle_timeout' => [
'label' => lng('serversettings.mod_fcgid.idle_timeout'),
'settinggroup' => 'system',
'varname' => 'mod_fcgid_idle_timeout',
'type' => 'number',
'default' => 30,
'save_method' => 'storeSettingField',
'advanced_mode' => true
)
)
)
)
);
]
]
]
]
];

View File

@@ -4,49 +4,60 @@
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package \Froxlor\Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'phpfpm' => array(
'title' => $lng['admin']['phpfpm_settings'],
use Froxlor\Settings;
return [
'groups' => [
'phpfpm' => [
'title' => lng('admin.phpfpm_settings'),
'icon' => 'fa-brands fa-php',
'fields' => array(
'system_phpfpm_enabled' => array(
'label' => $lng['serversettings']['phpfpm'],
'fields' => [
'system_phpfpm_enabled' => [
'label' => lng('serversettings.phpfpm'),
'settinggroup' => 'phpfpm',
'varname' => 'enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkFcgidPhpFpm'
),
],
'overview_option' => true
),
'system_phpfpm_defaultini' => array(
'label' => $lng['serversettings']['mod_fcgid']['defaultini'],
],
'system_phpfpm_defaultini' => [
'label' => lng('serversettings.mod_fcgid.defaultini'),
'settinggroup' => 'phpfpm',
'varname' => 'defaultini',
'type' => 'select',
'default' => '1',
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\Http\\PhpConfig',
'getPhpConfigs'
),
],
'save_method' => 'storeSettingField'
),
'system_phpfpm_aliasconfigdir' => array(
'label' => $lng['serversettings']['phpfpm_settings']['aliasconfigdir'],
],
'system_phpfpm_aliasconfigdir' => [
'label' => lng('serversettings.phpfpm_settings.aliasconfigdir'),
'settinggroup' => 'phpfpm',
'varname' => 'aliasconfigdir',
'type' => 'text',
@@ -54,18 +65,18 @@ return array(
'default' => '/var/www/php-fpm/',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_tmpdir' => array(
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
],
'system_phpfpm_tmpdir' => [
'label' => lng('serversettings.mod_fcgid.tmpdir'),
'settinggroup' => 'phpfpm',
'varname' => 'tmpdir',
'type' => 'text',
'string_type' => 'dir',
'default' => '/var/customers/tmp/',
'save_method' => 'storeSettingField'
),
'system_phpfpm_peardir' => array(
'label' => $lng['serversettings']['mod_fcgid']['peardir'],
],
'system_phpfpm_peardir' => [
'label' => lng('serversettings.mod_fcgid.peardir'),
'settinggroup' => 'phpfpm',
'varname' => 'peardir',
'type' => 'text',
@@ -75,9 +86,9 @@ return array(
'default' => '/usr/share/php/:/usr/share/php5/',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_envpath' => array(
'label' => $lng['serversettings']['phpfpm_settings']['envpath'],
],
'system_phpfpm_envpath' => [
'label' => lng('serversettings.phpfpm_settings.envpath'),
'settinggroup' => 'phpfpm',
'varname' => 'envpath',
'type' => 'text',
@@ -87,9 +98,9 @@ return array(
'default' => '/usr/local/bin:/usr/bin:/bin',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_fastcgi_ipcdir' => array(
'label' => $lng['serversettings']['phpfpm_settings']['ipcdir'],
],
'system_phpfpm_fastcgi_ipcdir' => [
'label' => lng('serversettings.phpfpm_settings.ipcdir'),
'settinggroup' => 'phpfpm',
'varname' => 'fastcgi_ipcdir',
'type' => 'text',
@@ -97,53 +108,53 @@ return array(
'default' => '/var/lib/apache2/fastcgi/',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_use_mod_proxy' => array(
'label' => $lng['phpfpm']['use_mod_proxy'],
],
'system_phpfpm_use_mod_proxy' => [
'label' => lng('phpfpm.use_mod_proxy'),
'settinggroup' => 'phpfpm',
'varname' => 'use_mod_proxy',
'type' => 'checkbox',
'default' => true,
'visible' => \Froxlor\Settings::Get('system.apache24'),
'visible' => Settings::Get('system.apache24'),
'save_method' => 'storeSettingField'
),
'system_phpfpm_ini_flags' => array(
'label' => $lng['phpfpm']['ini_flags'],
],
'system_phpfpm_ini_flags' => [
'label' => lng('phpfpm.ini_flags'),
'settinggroup' => 'phpfpm',
'varname' => 'ini_flags',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_ini_values' => array(
'label' => $lng['phpfpm']['ini_values'],
],
'system_phpfpm_ini_values' => [
'label' => lng('phpfpm.ini_values'),
'settinggroup' => 'phpfpm',
'varname' => 'ini_values',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_ini_admin_flags' => array(
'label' => $lng['phpfpm']['ini_admin_flags'],
],
'system_phpfpm_ini_admin_flags' => [
'label' => lng('phpfpm.ini_admin_flags'),
'settinggroup' => 'phpfpm',
'varname' => 'ini_admin_flags',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_phpfpm_ini_admin_values' => array(
'label' => $lng['phpfpm']['ini_admin_values'],
],
'system_phpfpm_ini_admin_values' => [
'label' => lng('phpfpm.ini_admin_values'),
'settinggroup' => 'phpfpm',
'varname' => 'ini_admin_values',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
)
)
)
)
);
]
]
]
]
];

View File

@@ -4,68 +4,77 @@
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'perl' => array(
'title' => $lng['admin']['perl_settings'],
return [
'groups' => [
'perl' => [
'title' => lng('admin.perl_settings'),
'icon' => 'fa-solid fa-code',
'fields' => array(
'perl_path' => array(
'label' => $lng['serversettings']['perl_path'],
'fields' => [
'perl_path' => [
'label' => lng('serversettings.perl_path'),
'settinggroup' => 'system',
'varname' => 'perl_path',
'type' => 'text',
'default' => '/usr/bin/perl',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'lighttpd'
)
),
'system_perl_suexecworkaround' => array(
'label' => $lng['serversettings']['perl']['suexecworkaround'],
]
],
'system_perl_suexecworkaround' => [
'label' => lng('serversettings.perl.suexecworkaround'),
'settinggroup' => 'perl',
'varname' => 'suexecworkaround',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
)
),
'system_perl_suexeccgipath' => array(
'label' => $lng['serversettings']['perl']['suexeccgipath'],
]
],
'system_perl_suexeccgipath' => [
'label' => lng('serversettings.perl.suexeccgipath'),
'settinggroup' => 'perl',
'varname' => 'suexecpath',
'type' => 'text',
'string_type' => 'dir',
'default' => '/var/www/cgi-bin/',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'apache2'
)
),
'perl_server' => array(
'label' => $lng['serversettings']['perl_server'],
]
],
'perl_server' => [
'label' => lng('serversettings.perl_server'),
'settinggroup' => 'serversettings',
'varname' => 'perl_server',
'type' => 'text',
'default' => 'unix:/var/run/nginx/cgiwrap-dispatch.sock',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'websrv_avail' => [
'nginx'
)
)
)
)
)
);
]
]
]
]
]
];

View File

@@ -2,99 +2,108 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'statistics' => array(
'title' => $lng['admin']['statisticsettings'],
use Froxlor\Settings;
return [
'groups' => [
'statistics' => [
'title' => lng('admin.statisticsettings'),
'icon' => 'fa-solid fa-chart-area',
'fields' => array(
'system_webalizer_quiet' => array(
'label' => $lng['serversettings']['webalizer_quiet'],
'fields' => [
'system_webalizer_quiet' => [
'label' => lng('serversettings.webalizer_quiet'),
'settinggroup' => 'system',
'varname' => 'webalizer_quiet',
'type' => 'select',
'default' => 2,
'select_var' => array(
0 => $lng['admin']['webalizer']['normal'],
1 => $lng['admin']['webalizer']['quiet'],
2 => $lng['admin']['webalizer']['veryquiet']
),
'select_var' => [
0 => lng('admin.webalizer.normal'),
1 => lng('admin.webalizer.quiet'),
2 => lng('admin.webalizer.veryquiet')
],
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 0
),
'system_awstats_enabled' => array(
'label' => $lng['serversettings']['awstats_enabled'],
'visible' => Settings::Get('system.awstats_enabled') == 0
],
'system_awstats_enabled' => [
'label' => lng('serversettings.awstats_enabled'),
'settinggroup' => 'system',
'varname' => 'awstats_enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_awstats_path' => array(
'label' => $lng['serversettings']['awstats_path'],
],
'system_awstats_path' => [
'label' => lng('serversettings.awstats_path'),
'settinggroup' => 'system',
'varname' => 'awstats_path',
'type' => 'text',
'string_type' => 'dir',
'default' => '/usr/bin/',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1
),
'system_awstats_awstatspath' => array(
'label' => $lng['serversettings']['awstats_awstatspath'],
'visible' => Settings::Get('system.awstats_enabled') == 1
],
'system_awstats_awstatspath' => [
'label' => lng('serversettings.awstats_awstatspath'),
'settinggroup' => 'system',
'varname' => 'awstats_awstatspath',
'type' => 'text',
'string_type' => 'dir',
'default' => '/usr/bin/',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1
),
'system_awstats_conf' => array(
'label' => $lng['serversettings']['awstats_conf'],
'visible' => Settings::Get('system.awstats_enabled') == 1
],
'system_awstats_conf' => [
'label' => lng('serversettings.awstats_conf'),
'settinggroup' => 'system',
'varname' => 'awstats_conf',
'type' => 'text',
'string_type' => 'dir',
'default' => '/etc/awstats/',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1
),
'system_awstats_icons' => array(
'label' => $lng['serversettings']['awstats_icons'],
'visible' => Settings::Get('system.awstats_enabled') == 1
],
'system_awstats_icons' => [
'label' => lng('serversettings.awstats_icons'),
'settinggroup' => 'system',
'varname' => 'awstats_icons',
'type' => 'text',
'string_type' => 'dir',
'default' => '/usr/share/awstats/icon/',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1
),
'system_awstats_logformat' => array(
'label' => $lng['serversettings']['awstats']['logformat'],
'visible' => Settings::Get('system.awstats_enabled') == 1
],
'system_awstats_logformat' => [
'label' => lng('serversettings.awstats.logformat'),
'settinggroup' => 'system',
'varname' => 'awstats_logformat',
'type' => 'text',
'default' => '1',
'save_method' => 'storeSettingField',
'visible' => \Froxlor\Settings::Get('system.awstats_enabled') == 1,
'visible' => Settings::Get('system.awstats_enabled') == 1,
'advanced_mode' => true
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,28 +2,35 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'mail' => array(
'title' => $lng['admin']['mailserversettings'],
return [
'groups' => [
'mail' => [
'title' => lng('admin.mailserversettings'),
'icon' => 'fa-solid fa-envelope',
'fields' => array(
'system_vmail_uid' => array(
'label' => $lng['serversettings']['vmail_uid'],
'fields' => [
'system_vmail_uid' => [
'label' => lng('serversettings.vmail_uid'),
'settinggroup' => 'system',
'varname' => 'vmail_uid',
'type' => 'number',
@@ -32,9 +39,9 @@ return array(
'max' => 65535,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_vmail_gid' => array(
'label' => $lng['serversettings']['vmail_gid'],
],
'system_vmail_gid' => [
'label' => lng('serversettings.vmail_gid'),
'settinggroup' => 'system',
'varname' => 'vmail_gid',
'type' => 'number',
@@ -43,18 +50,18 @@ return array(
'max' => 65535,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_vmail_homedir' => array(
'label' => $lng['serversettings']['vmail_homedir'],
],
'system_vmail_homedir' => [
'label' => lng('serversettings.vmail_homedir'),
'settinggroup' => 'system',
'varname' => 'vmail_homedir',
'type' => 'text',
'string_type' => 'dir',
'default' => '/var/customers/mail/',
'save_method' => 'storeSettingField'
),
'system_vmail_maildirname' => array(
'label' => $lng['serversettings']['vmail_maildirname'],
],
'system_vmail_maildirname' => [
'label' => lng('serversettings.vmail_maildirname'),
'settinggroup' => 'system',
'varname' => 'vmail_maildirname',
'type' => 'text',
@@ -63,63 +70,63 @@ return array(
'string_emptyallowed' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'panel_sendalternativemail' => array(
'label' => $lng['serversettings']['sendalternativemail'],
],
'panel_sendalternativemail' => [
'label' => lng('serversettings.sendalternativemail'),
'settinggroup' => 'panel',
'varname' => 'sendalternativemail',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_mail_quota_enabled' => array(
'label' => $lng['serversettings']['mail_quota_enabled'],
],
'system_mail_quota_enabled' => [
'label' => lng('serversettings.mail_quota_enabled'),
'settinggroup' => 'system',
'varname' => 'mail_quota_enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_mail_quota' => array(
'label' => $lng['serversettings']['mail_quota'],
],
'system_mail_quota' => [
'label' => lng('serversettings.mail_quota'),
'settinggroup' => 'system',
'varname' => 'mail_quota',
'type' => 'number',
'default' => 100,
'save_method' => 'storeSettingField'
),
'system_catchall_enabled' => array(
'label' => $lng['serversettings']['catchall_enabled'],
],
'system_catchall_enabled' => [
'label' => lng('serversettings.catchall_enabled'),
'settinggroup' => 'catchall',
'varname' => 'catchall_enabled',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingResetCatchall'
),
'system_mailtraffic_enabled' => array(
'label' => $lng['serversettings']['mailtraffic_enabled'],
],
'system_mailtraffic_enabled' => [
'label' => lng('serversettings.mailtraffic_enabled'),
'settinggroup' => 'system',
'varname' => 'mailtraffic_enabled',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mdaserver' => array(
'label' => $lng['serversettings']['mdaserver'],
],
'system_mdaserver' => [
'label' => lng('serversettings.mdaserver'),
'settinggroup' => 'system',
'varname' => 'mdaserver',
'type' => 'select',
'default' => 'dovecot',
'select_var' => array(
'select_var' => [
'courier' => 'Courier',
'dovecot' => 'Dovecot'
),
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mdalog' => array(
'label' => $lng['serversettings']['mdalog'],
],
'system_mdalog' => [
'label' => lng('serversettings.mdalog'),
'settinggroup' => 'system',
'varname' => 'mdalog',
'type' => 'text',
@@ -128,22 +135,22 @@ return array(
'string_emptyallowed' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mtaserver' => array(
'label' => $lng['serversettings']['mtaserver'],
],
'system_mtaserver' => [
'label' => lng('serversettings.mtaserver'),
'settinggroup' => 'system',
'varname' => 'mtaserver',
'type' => 'select',
'default' => 'postfix',
'select_var' => array(
'select_var' => [
'exim4' => 'Exim4',
'postfix' => 'Postfix'
),
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_mtalog' => array(
'label' => $lng['serversettings']['mtalog'],
],
'system_mtalog' => [
'label' => lng('serversettings.mtalog'),
'settinggroup' => 'system',
'varname' => 'mtalog',
'type' => 'text',
@@ -152,8 +159,8 @@ return array(
'string_emptyallowed' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,39 +2,46 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'ftpserver' => array(
'title' => $lng['admin']['ftpserversettings'],
return [
'groups' => [
'ftpserver' => [
'title' => lng('admin.ftpserversettings'),
'icon' => 'fa-solid fa-arrow-right-arrow-left',
'fields' => array(
'ftpserver' => array(
'label' => $lng['admin']['ftpserver'],
'fields' => [
'ftpserver' => [
'label' => lng('admin.ftpserver'),
'settinggroup' => 'system',
'varname' => 'ftpserver',
'type' => 'select',
'default' => 'proftpd',
'select_var' => array(
'select_var' => [
'proftpd' => 'Proftpd',
'pureftpd' => 'Pureftpd'
),
],
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,74 +2,81 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'nameserver' => array(
'title' => $lng['admin']['nameserversettings'],
return [
'groups' => [
'nameserver' => [
'title' => lng('admin.nameserversettings'),
'icon' => 'fa-solid fa-globe',
'fields' => array(
'nameserver_enable' => array(
'label' => $lng['serversettings']['bindenable'],
'fields' => [
'nameserver_enable' => [
'label' => lng('serversettings.bindenable'),
'settinggroup' => 'system',
'varname' => 'bind_enable',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'overview_option' => true
),
'system_dnsenabled' => array(
'label' => $lng['serversettings']['dnseditorenable'],
],
'system_dnsenabled' => [
'label' => lng('serversettings.dnseditorenable'),
'settinggroup' => 'system',
'varname' => 'dnsenabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_dns_server' => array(
'label' => $lng['serversettings']['dns_server'],
],
'system_dns_server' => [
'label' => lng('serversettings.dns_server'),
'settinggroup' => 'system',
'varname' => 'dns_server',
'type' => 'select',
'default' => 'Bind',
'select_var' => array(
'select_var' => [
'Bind' => 'Bind9',
'PowerDNS' => 'PowerDNS'
),
],
'save_method' => 'storeSettingField'
),
'system_bindconf_directory' => array(
'label' => $lng['serversettings']['bindconf_directory'],
],
'system_bindconf_directory' => [
'label' => lng('serversettings.bindconf_directory'),
'settinggroup' => 'system',
'varname' => 'bindconf_directory',
'type' => 'text',
'string_type' => 'dir',
'default' => '/etc/bind/',
'save_method' => 'storeSettingField'
),
'system_bindreload_command' => array(
'label' => $lng['serversettings']['bindreload_command'],
],
'system_bindreload_command' => [
'label' => lng('serversettings.bindreload_command'),
'settinggroup' => 'system',
'varname' => 'bindreload_command',
'type' => 'text',
'default' => '/etc/init.d/bind9 reload',
'save_method' => 'storeSettingField'
),
'system_nameservers' => array(
'label' => $lng['serversettings']['nameservers'],
],
'system_nameservers' => [
'label' => lng('serversettings.nameservers'),
'settinggroup' => 'system',
'varname' => 'nameservers',
'type' => 'text',
@@ -77,9 +84,9 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingFieldInsertBindTask'
),
'system_mxservers' => array(
'label' => $lng['serversettings']['mxservers'],
],
'system_mxservers' => [
'label' => lng('serversettings.mxservers'),
'settinggroup' => 'system',
'varname' => 'mxservers',
'type' => 'text',
@@ -87,9 +94,9 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'system_axfrservers' => array(
'label' => $lng['serversettings']['axfrservers'],
],
'system_axfrservers' => [
'label' => lng('serversettings.axfrservers'),
'settinggroup' => 'system',
'varname' => 'axfrservers',
'type' => 'text',
@@ -98,48 +105,48 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'system_powerdns_mode' => array(
'label' => $lng['serversettings']['powerdns_mode'],
],
'system_powerdns_mode' => [
'label' => lng('serversettings.powerdns_mode'),
'settinggroup' => 'system',
'varname' => 'powerdns_mode',
'type' => 'select',
'default' => 'Native',
'select_var' => array(
'select_var' => [
'Native' => 'Native',
'Master' => 'Master'
),
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_dns_createmailentry' => array(
'label' => $lng['serversettings']['mail_also_with_mxservers'],
],
'system_dns_createmailentry' => [
'label' => lng('serversettings.mail_also_with_mxservers'),
'settinggroup' => 'system',
'varname' => 'dns_createmailentry',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_dns_createcaaentry' => array(
'label' => $lng['serversettings']['caa_entry'],
],
'system_dns_createcaaentry' => [
'label' => lng('serversettings.caa_entry'),
'settinggroup' => 'system',
'varname' => 'dns_createcaaentry',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'caa_caa_entry' => array(
'label' => $lng['serversettings']['caa_entry_custom'],
],
'caa_caa_entry' => [
'label' => lng('serversettings.caa_entry_custom'),
'settinggroup' => 'caa',
'varname' => 'caa_entry',
'type' => 'textarea',
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_defaultttl' => array(
'label' => $lng['serversettings']['defaultttl'],
],
'system_defaultttl' => [
'label' => lng('serversettings.defaultttl'),
'settinggroup' => 'system',
'varname' => 'defaultttl',
'type' => 'number',
@@ -147,17 +154,17 @@ return array(
'min' => 3600, /* 1 hour */
'max' => 2147483647, /* integer max */
'save_method' => 'storeSettingField'
),
'system_soaemail' => array(
'label' => $lng['serversettings']['soaemail'],
],
'system_soaemail' => [
'label' => lng('serversettings.soaemail'),
'settinggroup' => 'system',
'varname' => 'soaemail',
'type' => 'email',
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,63 +2,70 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'logging' => array(
'title' => $lng['admin']['loggersettings'],
return [
'groups' => [
'logging' => [
'title' => lng('admin.loggersettings'),
'icon' => 'fa-solid fa-file-lines',
'fields' => array(
'logger_enabled' => array(
'label' => $lng['serversettings']['logger']['enable'],
'fields' => [
'logger_enabled' => [
'label' => lng('serversettings.logger.enable'),
'settinggroup' => 'logger',
'varname' => 'enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'overview_option' => true
),
'logger_severity' => array(
'label' => $lng['serversettings']['logger']['severity'],
],
'logger_severity' => [
'label' => lng('serversettings.logger.severity'),
'settinggroup' => 'logger',
'varname' => 'severity',
'type' => 'select',
'default' => 1,
'select_var' => array(
1 => $lng['admin']['logger']['normal'],
2 => $lng['admin']['logger']['paranoid']
),
'select_var' => [
1 => lng('admin.logger.normal'),
2 => lng('admin.logger.paranoid')
],
'save_method' => 'storeSettingField'
),
'logger_logtypes' => array(
'label' => $lng['serversettings']['logger']['types'],
],
'logger_logtypes' => [
'label' => lng('serversettings.logger.types'),
'settinggroup' => 'logger',
'varname' => 'logtypes',
'type' => 'select',
'default' => 'syslog,mysql',
'select_mode' => 'multiple',
'select_var' => array(
'select_var' => [
'syslog' => 'syslog',
'file' => 'file',
'mysql' => 'mysql'
),
],
'save_method' => 'storeSettingField'
),
'logger_logfile' => array(
'label' => $lng['serversettings']['logger']['logfile'],
],
'logger_logfile' => [
'label' => lng('serversettings.logger.logfile'),
'settinggroup' => 'logger',
'varname' => 'logfile',
'type' => 'text',
@@ -66,21 +73,21 @@ return array(
'string_emptyallowed' => true,
'default' => '',
'save_method' => 'storeSettingField'
),
'logger_log_cron' => array(
'label' => $lng['serversettings']['logger']['logcron'],
],
'logger_log_cron' => [
'label' => lng('serversettings.logger.logcron'),
'settinggroup' => 'logger',
'varname' => 'log_cron',
'type' => 'select',
'default' => 0,
'select_var' => array(
0 => $lng['serversettings']['logger']['logcronoption']['never'],
1 => $lng['serversettings']['logger']['logcronoption']['once'],
2 => $lng['serversettings']['logger']['logcronoption']['always']
),
'select_var' => [
0 => lng('serversettings.logger.logcronoption.never'),
1 => lng('serversettings.logger.logcronoption.once'),
2 => lng('serversettings.logger.logcronoption.always')
],
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,46 +2,55 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package \Froxlor\Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'dkim' => array(
'title' => $lng['admin']['dkimsettings'],
use Froxlor\Settings;
return [
'groups' => [
'dkim' => [
'title' => lng('admin.dkimsettings'),
'icon' => 'fa-solid fa-fingerprint',
'fields' => array(
'dkim_enabled' => array(
'label' => $lng['dkim']['use_dkim'],
'fields' => [
'dkim_enabled' => [
'label' => lng('dkim.use_dkim'),
'settinggroup' => 'dkim',
'varname' => 'use_dkim',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingFieldInsertBindTask',
'overview_option' => true
),
'dkim_prefix' => array(
'label' => $lng['dkim']['dkim_prefix'],
],
'dkim_prefix' => [
'label' => lng('dkim.dkim_prefix'),
'settinggroup' => 'dkim',
'varname' => 'dkim_prefix',
'type' => 'text',
'string_type' => 'dir',
'default' => '/etc/postfix/dkim/',
'save_method' => 'storeSettingField'
),
'dkim_privkeysuffix' => array(
'label' => $lng['dkim']['privkeysuffix'],
],
'dkim_privkeysuffix' => [
'label' => lng('dkim.privkeysuffix'),
'settinggroup' => 'dkim',
'varname' => 'privkeysuffix',
'type' => 'text',
@@ -49,70 +58,70 @@ return array(
'default' => '.priv',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'dkim_domains' => array(
'label' => $lng['dkim']['dkim_domains'],
],
'dkim_domains' => [
'label' => lng('dkim.dkim_domains'),
'settinggroup' => 'dkim',
'varname' => 'dkim_domains',
'type' => 'text',
'string_regexp' => '/^[a-z0-9\._]+$/i',
'default' => 'domains',
'save_method' => 'storeSettingField'
),
'dkim_dkimkeys' => array(
'label' => $lng['dkim']['dkim_dkimkeys'],
],
'dkim_dkimkeys' => [
'label' => lng('dkim.dkim_dkimkeys'),
'settinggroup' => 'dkim',
'varname' => 'dkim_dkimkeys',
'type' => 'text',
'string_regexp' => '/^[a-z0-9\._]+$/i',
'default' => 'dkim-keys.conf',
'save_method' => 'storeSettingField'
),
'dkim_algorithm' => array(
'label' => $lng['dkim']['dkim_algorithm'],
],
'dkim_algorithm' => [
'label' => lng('dkim.dkim_algorithm'),
'settinggroup' => 'dkim',
'varname' => 'dkim_algorithm',
'type' => 'select',
'default' => 'all',
'select_mode' => 'multiple',
'select_var' => array(
'select_var' => [
'all' => 'All',
'sha1' => 'SHA1',
'sha256' => 'SHA256'
),
],
'save_method' => 'storeSettingFieldInsertBindTask',
'advanced_mode' => true
),
'dkim_servicetype' => array(
'label' => $lng['dkim']['dkim_servicetype'],
],
'dkim_servicetype' => [
'label' => lng('dkim.dkim_servicetype'),
'settinggroup' => 'dkim',
'varname' => 'dkim_servicetype',
'type' => 'select',
'default' => '0',
'select_var' => array(
'select_var' => [
'0' => 'All',
'1' => 'E-Mail'
),
],
'save_method' => 'storeSettingFieldInsertBindTask',
'advanced_mode' => true
),
'dkim_keylength' => array(
'label' => array(
'title' => $lng['dkim']['dkim_keylength']['title'],
'description' => sprintf($lng['dkim']['dkim_keylength']['description'], \Froxlor\Settings::Get('dkim.dkim_prefix'))
),
],
'dkim_keylength' => [
'label' => [
'title' => lng('dkim.dkim_keylength.title'),
'description' => sprintf(lng('dkim.dkim_keylength.description'), Settings::Get('dkim.dkim_prefix'))
],
'settinggroup' => 'dkim',
'varname' => 'dkim_keylength',
'type' => 'select',
'default' => '1024',
'select_var' => array(
'select_var' => [
'1024' => '1024 Bit',
'2048' => '2048 Bit'
),
],
'save_method' => 'storeSettingFieldInsertBindTask'
),
'dkim_notes' => array(
'label' => $lng['dkim']['dkim_notes'],
],
'dkim_notes' => [
'label' => lng('dkim.dkim_notes'),
'settinggroup' => 'dkim',
'varname' => 'dkim_notes',
'type' => 'text',
@@ -120,16 +129,16 @@ return array(
'default' => '',
'save_method' => 'storeSettingFieldInsertBindTask',
'advanced_mode' => true
),
'dkimrestart_command' => array(
'label' => $lng['dkim']['dkimrestart_command'],
],
'dkimrestart_command' => [
'label' => lng('dkim.dkimrestart_command'),
'settinggroup' => 'dkim',
'varname' => 'dkimrestart_command',
'type' => 'text',
'default' => '/etc/init.d/dkim-filter restart',
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -4,40 +4,49 @@
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'spf' => array(
'title' => $lng['admin']['spfsettings'],
return [
'groups' => [
'spf' => [
'title' => lng('admin.spfsettings'),
'icon' => 'fa-solid fa-clipboard-check',
'fields' => array(
'spf_enabled' => array(
'label' => $lng['spf']['use_spf'],
'fields' => [
'spf_enabled' => [
'label' => lng('spf.use_spf'),
'settinggroup' => 'spf',
'varname' => 'use_spf',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'overview_option' => true
),
'spf_entry' => array(
'label' => $lng['spf']['spf_entry'],
],
'spf_entry' => [
'label' => lng('spf.spf_entry'),
'settinggroup' => 'spf',
'varname' => 'spf_entry',
'type' => 'text',
'default' => '"v=spf1 a mx -all"',
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];

View File

@@ -2,83 +2,92 @@
/**
* This file is part of the Froxlor project.
* Copyright (c) 2003-2009 the SysCP Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Florian Lippert <flo@syscp.org> (2003-2009)
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'security' => array(
'title' => $lng['admin']['security_settings'],
use Froxlor\Settings;
return [
'groups' => [
'security' => [
'title' => lng('admin.security_settings'),
'icon' => 'fa-solid fa-user-lock',
'fields' => array(
'panel_unix_names' => array(
'label' => $lng['serversettings']['unix_names'],
'fields' => [
'panel_unix_names' => [
'label' => lng('serversettings.unix_names'),
'settinggroup' => 'panel',
'varname' => 'unix_names',
'type' => 'checkbox',
'default' => true,
'save_method' => 'storeSettingField'
),
'system_mailpwcleartext' => array(
'label' => $lng['serversettings']['mailpwcleartext'],
],
'system_mailpwcleartext' => [
'label' => lng('serversettings.mailpwcleartext'),
'settinggroup' => 'system',
'varname' => 'mailpwcleartext',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_passwordcryptfunc' => array(
'label' => $lng['serversettings']['passwordcryptfunc'],
],
'system_passwordcryptfunc' => [
'label' => lng('serversettings.passwordcryptfunc'),
'settinggroup' => 'system',
'varname' => 'passwordcryptfunc',
'type' => 'select',
'default' => 0,
'option_options_method' => array(
'option_options_method' => [
'\\Froxlor\\System\\Crypt',
'getAvailablePasswordHashes'
),
],
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_allow_error_report_admin' => array(
'label' => $lng['serversettings']['allow_error_report_admin'],
],
'system_allow_error_report_admin' => [
'label' => lng('serversettings.allow_error_report_admin'),
'settinggroup' => 'system',
'varname' => 'allow_error_report_admin',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_allow_error_report_customer' => array(
'label' => $lng['serversettings']['allow_error_report_customer'],
],
'system_allow_error_report_customer' => [
'label' => lng('serversettings.allow_error_report_customer'),
'settinggroup' => 'system',
'varname' => 'allow_error_report_customer',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField'
),
'system_allow_customer_shell' => array(
'label' => $lng['serversettings']['allow_allow_customer_shell'],
],
'system_allow_customer_shell' => [
'label' => lng('serversettings.allow_allow_customer_shell'),
'settinggroup' => 'system',
'varname' => 'allow_customer_shell',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_available_shells' => array(
'label' => $lng['serversettings']['available_shells'],
],
'system_available_shells' => [
'label' => lng('serversettings.available_shells'),
'settinggroup' => 'system',
'varname' => 'available_shells',
'type' => 'text',
@@ -86,22 +95,22 @@ return array(
'default' => '',
'save_method' => 'storeSettingField',
'advanced_mode' => true
),
'system_froxlorusergroup' => array(
'label' => $lng['serversettings']['froxlorusergroup'],
],
'system_froxlorusergroup' => [
'label' => lng('serversettings.froxlorusergroup'),
'settinggroup' => 'system',
'varname' => 'froxlorusergroup',
'type' => 'text',
'default' => '',
'save_method' => 'storeSettingField',
'plausibility_check_method' => array(
'plausibility_check_method' => [
'\\Froxlor\\Validate\\Check',
'checkLocalGroup'
),
'visible' => \Froxlor\Settings::Get('system.nssextrausers'),
],
'visible' => Settings::Get('system.nssextrausers'),
'advanced_mode' => true
),
)
)
)
);
],
]
]
]
];

View File

@@ -1,59 +1,69 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2011- the Froxlor Team (see authors).
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
* 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; either version 2
* of the License, or (at your option) any later version.
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2011-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Settings
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you can also view it online at
* https://files.froxlor.org/misc/COPYING.txt
*
* @copyright the authors
* @author Froxlor team <team@froxlor.org>
* @license https://files.froxlor.org/misc/COPYING.txt GPLv2
*/
return array(
'groups' => array(
'diskquota' => array(
'title' => $lng['diskquota'],
return [
'groups' => [
'diskquota' => [
'title' => lng('diskquota'),
'icon' => 'fa-solid fa-sliders',
'advanced_mode' => true,
'fields' => array(
'diskquota_enabled' => array(
'label' => $lng['serversettings']['diskquota_enabled'],
'fields' => [
'diskquota_enabled' => [
'label' => lng('serversettings.diskquota_enabled'),
'settinggroup' => 'system',
'varname' => 'diskquota_enabled',
'type' => 'checkbox',
'default' => false,
'save_method' => 'storeSettingField',
'overview_option' => true
),
'diskquota_repquota_path' => array(
'label' => $lng['serversettings']['diskquota_repquota_path']['description'],
],
'diskquota_repquota_path' => [
'label' => lng('serversettings.diskquota_repquota_path.description'),
'settinggroup' => 'system',
'varname' => 'diskquota_repquota_path',
'type' => 'text',
'default' => '/usr/sbin/repquota',
'save_method' => 'storeSettingField'
),
'diskquota_quotatool_path' => array(
'label' => $lng['serversettings']['diskquota_quotatool_path']['description'],
],
'diskquota_quotatool_path' => [
'label' => lng('serversettings.diskquota_quotatool_path.description'),
'settinggroup' => 'system',
'varname' => 'diskquota_quotatool_path',
'type' => 'text',
'default' => '/usr/bin/quotatool',
'save_method' => 'storeSettingField'
),
'diskquota_customer_partition' => array(
'label' => $lng['serversettings']['diskquota_customer_partition']['description'],
],
'diskquota_customer_partition' => [
'label' => lng('serversettings.diskquota_customer_partition.description'),
'settinggroup' => 'system',
'varname' => 'diskquota_customer_partition',
'type' => 'text',
'default' => '/dev/root',
'save_method' => 'storeSettingField'
)
)
)
)
);
]
]
]
]
];