Compare commits
161 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b8b973926 | ||
|
|
f77ddac4ed | ||
|
|
932e1f95c5 | ||
|
|
a8b52d50af | ||
|
|
f10f63b6be | ||
|
|
c5cdd9f567 | ||
|
|
e5b2fd90c0 | ||
|
|
f7b43f470f | ||
|
|
515e542179 | ||
|
|
cc4637095d | ||
|
|
bffa8817d9 | ||
|
|
98b82ed0c6 | ||
|
|
4f52982a7e | ||
|
|
1edba0c368 | ||
|
|
06983ca382 | ||
|
|
c53ef5b96e | ||
|
|
a2b7f98332 | ||
|
|
c25ad76200 | ||
|
|
7057984534 | ||
|
|
02a4fd4e1d | ||
|
|
57ec429776 | ||
|
|
c52d3819af | ||
|
|
85f35abe2d | ||
|
|
58674a2f8f | ||
|
|
968137a967 | ||
|
|
66b274c1bf | ||
|
|
b9d68a17fa | ||
|
|
ced64138e8 | ||
|
|
4fdaed5cc4 | ||
|
|
0fd11afdcb | ||
|
|
8202cc96e7 | ||
|
|
59bf7ba22f | ||
|
|
9c075c05f5 | ||
|
|
6815501c1d | ||
|
|
f11aa9a1c4 | ||
|
|
3b33dde9ac | ||
|
|
7fb0e88313 | ||
|
|
9615aaa83a | ||
|
|
16cc53146c | ||
|
|
56e9f748f4 | ||
|
|
80e338610f | ||
|
|
93abbf4a10 | ||
|
|
0271ccfc28 | ||
|
|
dae3e416a2 | ||
|
|
759213f8b9 | ||
|
|
01b313a3ce | ||
|
|
4567f7c781 | ||
|
|
ef76635508 | ||
|
|
30235ff3eb | ||
|
|
ebb390a1fd | ||
|
|
0c1a4f692a | ||
|
|
0c25611d26 | ||
|
|
cd79670438 | ||
|
|
6b46b31818 | ||
|
|
713cb1b3ac | ||
|
|
e492c4aca6 | ||
|
|
5496915e19 | ||
|
|
f77d084a53 | ||
|
|
060b3f8782 | ||
|
|
e4b7bf799d | ||
|
|
6066601568 | ||
|
|
01404187cc | ||
|
|
a9da673a31 | ||
|
|
d1a9460117 | ||
|
|
bde278430e | ||
|
|
9c36b31ad2 | ||
|
|
b528b93178 | ||
|
|
7ca00d56be | ||
|
|
39f17b1a9e | ||
|
|
08e17f7d16 | ||
|
|
a638dddec9 | ||
|
|
59bbfcef4f | ||
|
|
5cd1c1284a | ||
|
|
f81826fd9b | ||
|
|
2e59e2bfdf | ||
|
|
03a8a9c8c9 | ||
|
|
689cb40bcc | ||
|
|
1c2a1b8c69 | ||
|
|
3d187fd0a0 | ||
|
|
2fc057d670 | ||
|
|
e7b030fa30 | ||
|
|
e74262c81e | ||
|
|
d1a52ca85c | ||
|
|
44b53ffd2c | ||
|
|
ffe49e8acd | ||
|
|
58b3a19ae7 | ||
|
|
0be29498b0 | ||
|
|
1b4069f01e | ||
|
|
5f284c31ab | ||
|
|
1c892a0f9c | ||
|
|
8fb5a3ae7c | ||
|
|
3c731661a0 | ||
|
|
ed5e2ba39d | ||
|
|
22eb0e19cc | ||
|
|
ad31b07a04 | ||
|
|
99696ff6cb | ||
|
|
8b3c634652 | ||
|
|
26084a19fa | ||
|
|
84637d82d4 | ||
|
|
7a83a01095 | ||
|
|
71d3410b4f | ||
|
|
b58a9d3b88 | ||
|
|
05897c3e01 | ||
|
|
a06211b497 | ||
|
|
db2cca8e86 | ||
|
|
aa5e574d5d | ||
|
|
09c5bbcb63 | ||
|
|
cadab96bae | ||
|
|
0c9ab91373 | ||
|
|
836b7fb056 | ||
|
|
d3fd4ee2f4 | ||
|
|
58499a068f | ||
|
|
ce83e8f92b | ||
|
|
fc5aea1c33 | ||
|
|
89bf0aa128 | ||
|
|
b2ea0cb666 | ||
|
|
c0b19fa2b2 | ||
|
|
9e028ef0f7 | ||
|
|
a8460b7570 | ||
|
|
f42fa0ee7b | ||
|
|
8d27f71cee | ||
|
|
3a9813c1b5 | ||
|
|
699f451234 | ||
|
|
cad3c02f08 | ||
|
|
7484ab1bc9 | ||
|
|
8f87aa6636 | ||
|
|
15486ed764 | ||
|
|
118693471c | ||
|
|
382bd88344 | ||
|
|
2a4d618bcc | ||
|
|
14b56d9287 | ||
|
|
ba35677cf6 | ||
|
|
c4723fc3f2 | ||
|
|
3aff47d983 | ||
|
|
9fe6db8cd9 | ||
|
|
15a03f63a9 | ||
|
|
d7b5c4bc71 | ||
|
|
db05ea5f32 | ||
|
|
ceedab3a6e | ||
|
|
0b6bb64600 | ||
|
|
2985a08a8d | ||
|
|
a1b26c91d2 | ||
|
|
7d54744e9a | ||
|
|
7afc7e2797 | ||
|
|
8d1f894622 | ||
|
|
3f0a491f8c | ||
|
|
9787089615 | ||
|
|
076c07b4be | ||
|
|
6887dad1a9 | ||
|
|
5fee795b5c | ||
|
|
146c205f6c | ||
|
|
5c87e2210c | ||
|
|
db6bdfd931 | ||
|
|
b796f02a3d | ||
|
|
a86140cec0 | ||
|
|
1f9caedc16 | ||
|
|
dc6034796a | ||
|
|
be8d38b478 | ||
|
|
d3cd83eb93 | ||
|
|
984849d2c8 | ||
|
|
bc82c8fead |
@@ -64,7 +64,7 @@ return array(
|
|||||||
'type' => 'option',
|
'type' => 'option',
|
||||||
'default' => 'Manual',
|
'default' => 'Manual',
|
||||||
'option_mode' => 'one',
|
'option_mode' => 'one',
|
||||||
'option_options' => array('Manual' => 'Manual', 'Dropdown' => 'Dropdown'),
|
'option_options' => array('Manual' => $lng['serversettings']['manual'], 'Dropdown' => $lng['serversettings']['dropdown']),
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
'panel_adminmail' => array(
|
'panel_adminmail' => array(
|
||||||
|
|||||||
@@ -38,6 +38,14 @@ return array(
|
|||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
|
'login_domain_login' => array(
|
||||||
|
'label' => $lng['serversettings']['login_domain_login'],
|
||||||
|
'settinggroup' => 'login',
|
||||||
|
'varname' => 'domain_login',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
'login_maxloginattempts' => array(
|
'login_maxloginattempts' => array(
|
||||||
'label' => $lng['serversettings']['maxloginattempts'],
|
'label' => $lng['serversettings']['maxloginattempts'],
|
||||||
'settinggroup' => 'login',
|
'settinggroup' => 'login',
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => '/var/customers/webs/',
|
'default' => '/var/customers/webs/',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'plausibility_check_method' => 'checkPathConflicts'
|
||||||
),
|
),
|
||||||
'system_ipaddress' => array(
|
'system_ipaddress' => array(
|
||||||
'label' => $lng['serversettings']['ipaddress'],
|
'label' => $lng['serversettings']['ipaddress'],
|
||||||
@@ -83,15 +84,6 @@ return array(
|
|||||||
'plausibility_check_method' => 'checkMysqlAccessHost',
|
'plausibility_check_method' => 'checkMysqlAccessHost',
|
||||||
'save_method' => 'storeSettingMysqlAccessHost',
|
'save_method' => 'storeSettingMysqlAccessHost',
|
||||||
),
|
),
|
||||||
'system_realtime_port' => array(
|
|
||||||
'label' => $lng['serversettings']['system_realtime_port'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'realtime_port',
|
|
||||||
'type' => (function_exists('socket_create') ? 'int' : 'hidden'),
|
|
||||||
'int_max' => 65535,
|
|
||||||
'default' => 0,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_index_file_extension' => array(
|
'system_index_file_extension' => array(
|
||||||
'label' => $lng['serversettings']['index_file_extension'],
|
'label' => $lng['serversettings']['index_file_extension'],
|
||||||
'settinggroup' => 'system',
|
'settinggroup' => 'system',
|
||||||
@@ -109,6 +101,47 @@ return array(
|
|||||||
'default' => true,
|
'default' => true,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
|
'system_httpuser' => array(
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'httpuser',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'default' => 'www-data',
|
||||||
|
),
|
||||||
|
'system_httpgroup' => array(
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'httpgroup',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'default' => 'www-data',
|
||||||
|
),
|
||||||
|
'system_report_enable' => array(
|
||||||
|
'label' => $lng['serversettings']['report']['report'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'report_enable',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => true,
|
||||||
|
'cronmodule' => 'froxlor/reports',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_report_webmax' => array(
|
||||||
|
'label' => $lng['serversettings']['report']['webmax'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'report_webmax',
|
||||||
|
'type' => 'int',
|
||||||
|
'int_min' => 1,
|
||||||
|
'int_max' => 99,
|
||||||
|
'default' => 90,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_report_trafficmax' => array(
|
||||||
|
'label' => $lng['serversettings']['report']['trafficmax'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'report_trafficmax',
|
||||||
|
'type' => 'int',
|
||||||
|
'int_min' => 1,
|
||||||
|
'int_max' => 99,
|
||||||
|
'default' => 90,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
'system_debug_cron' => array(
|
'system_debug_cron' => array(
|
||||||
'label' => $lng['serversettings']['cron']['debug'],
|
'label' => $lng['serversettings']['cron']['debug'],
|
||||||
'settinggroup' => 'system',
|
'settinggroup' => 'system',
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ return array(
|
|||||||
'settinggroup' => 'system',
|
'settinggroup' => 'system',
|
||||||
'varname' => 'webserver',
|
'varname' => 'webserver',
|
||||||
'type' => 'option',
|
'type' => 'option',
|
||||||
'default' => 'Apache2',
|
'default' => 'apache2',
|
||||||
'option_mode' => 'one',
|
'option_mode' => 'one',
|
||||||
'option_options' => array('apache2' => 'Apache 2', 'lighttpd' => 'ligHTTPd'),
|
'option_options' => array('apache2' => 'Apache 2', 'lighttpd' => 'ligHTTPd', 'nginx' => 'Nginx'),
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
'overview_option' => true
|
'overview_option' => true
|
||||||
),
|
),
|
||||||
@@ -76,22 +76,6 @@ return array(
|
|||||||
'default' => '/etc/apache2/htpasswd/',
|
'default' => '/etc/apache2/htpasswd/',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
'system_apachereload_command' => array(
|
|
||||||
'label' => $lng['serversettings']['apachereload_command'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'apachereload_command',
|
|
||||||
'type' => 'string',
|
|
||||||
'default' => '/etc/init.d/apache2 reload',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_log_sql' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_log_sql'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_log_sql',
|
|
||||||
'type' => 'bool',
|
|
||||||
'default' => false,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_logfiles_directory' => array(
|
'system_logfiles_directory' => array(
|
||||||
'label' => $lng['serversettings']['logfiles_directory'],
|
'label' => $lng['serversettings']['logfiles_directory'],
|
||||||
'settinggroup' => 'system',
|
'settinggroup' => 'system',
|
||||||
@@ -128,6 +112,41 @@ return array(
|
|||||||
'default' => '',
|
'default' => '',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
|
'system_apachereload_command' => array(
|
||||||
|
'label' => $lng['serversettings']['apachereload_command'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'apachereload_command',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => '/etc/init.d/apache2 reload',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpreload_command' => array(
|
||||||
|
'label' => $lng['serversettings']['phpreload_command'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'phpreload_command',
|
||||||
|
'type' => (getSetting('phpfpm', 'enabled') == '1') ? 'hidden' : 'string',
|
||||||
|
'default' => '',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('nginx')
|
||||||
|
),
|
||||||
|
'system_nginx_php_backend' => array(
|
||||||
|
'label' => $lng['serversettings']['nginx_php_backend'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'nginx_php_backend',
|
||||||
|
'type' => (getSetting('phpfpm', 'enabled') == '1') ? 'hidden' : 'string',
|
||||||
|
'default' => '127.0.0.1:8888',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('nginx')
|
||||||
|
),
|
||||||
|
'system_mod_log_sql' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_log_sql'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_log_sql',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
|
),
|
||||||
'defaultwebsrverrhandler_enabled' => array(
|
'defaultwebsrverrhandler_enabled' => array(
|
||||||
'label' => $lng['serversettings']['defaultwebsrverrhandler_enabled'],
|
'label' => $lng['serversettings']['defaultwebsrverrhandler_enabled'],
|
||||||
'settinggroup' => 'defaultwebsrverrhandler',
|
'settinggroup' => 'defaultwebsrverrhandler',
|
||||||
@@ -143,6 +162,7 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => '',
|
'default' => '',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2', 'nginx')
|
||||||
),
|
),
|
||||||
'defaultwebsrverrhandler_err403' => array(
|
'defaultwebsrverrhandler_err403' => array(
|
||||||
'label' => $lng['serversettings']['defaultwebsrverrhandler_err403'],
|
'label' => $lng['serversettings']['defaultwebsrverrhandler_err403'],
|
||||||
@@ -151,6 +171,7 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => '',
|
'default' => '',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2', 'nginx')
|
||||||
),
|
),
|
||||||
'defaultwebsrverrhandler_err404' => array(
|
'defaultwebsrverrhandler_err404' => array(
|
||||||
'label' => $lng['serversettings']['defaultwebsrverrhandler_err404'],
|
'label' => $lng['serversettings']['defaultwebsrverrhandler_err404'],
|
||||||
@@ -167,6 +188,7 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => '',
|
'default' => '',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2', 'nginx')
|
||||||
),
|
),
|
||||||
'customredirect_enabled' => array(
|
'customredirect_enabled' => array(
|
||||||
'label' => $lng['serversettings']['customredirect_enabled'],
|
'label' => $lng['serversettings']['customredirect_enabled'],
|
||||||
@@ -175,6 +197,7 @@ return array(
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2', 'lighttpd')
|
||||||
),
|
),
|
||||||
'customredirect_default' => array(
|
'customredirect_default' => array(
|
||||||
'label' => $lng['serversettings']['customredirect_default'],
|
'label' => $lng['serversettings']['customredirect_default'],
|
||||||
@@ -185,6 +208,7 @@ return array(
|
|||||||
'option_mode' => 'one',
|
'option_mode' => 'one',
|
||||||
'option_options_method' => 'getRedirectCodes',
|
'option_options_method' => 'getRedirectCodes',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2', 'lighttpd')
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -198,6 +222,7 @@ return array(
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'overview_option' => true
|
||||||
),
|
),
|
||||||
'system_ssl_cert_file' => array(
|
'system_ssl_cert_file' => array(
|
||||||
'label' => $lng['serversettings']['ssl']['ssl_cert_file'],
|
'label' => $lng['serversettings']['ssl']['ssl_cert_file'],
|
||||||
@@ -229,6 +254,16 @@ return array(
|
|||||||
'default' => '',
|
'default' => '',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
|
'system_ssl_cert_chainfile' => array(
|
||||||
|
'label' => $lng['admin']['ipsandports']['ssl_cert_chainfile'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'ssl_cert_chainfile',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'file',
|
||||||
|
'string_emptyallowed' => true,
|
||||||
|
'default' => '',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
'system_ssl_openssl_cnf' => array(
|
'system_ssl_openssl_cnf' => array(
|
||||||
'label' => $lng['serversettings']['ssl']['openssl_cnf'],
|
'label' => $lng['serversettings']['ssl']['openssl_cnf'],
|
||||||
'settinggroup' => 'system',
|
'settinggroup' => 'system',
|
||||||
@@ -242,4 +277,4 @@ return array(
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ return array(
|
|||||||
'groups' => array(
|
'groups' => array(
|
||||||
'fcgid' => array(
|
'fcgid' => array(
|
||||||
'title' => $lng['admin']['fcgid_settings'],
|
'title' => $lng['admin']['fcgid_settings'],
|
||||||
|
'websrv_avail' => array('apache2', 'lighttpd'),
|
||||||
'fields' => array(
|
'fields' => array(
|
||||||
'system_mod_fcgid_enabled' => array(
|
'system_mod_fcgid_enabled' => array(
|
||||||
'label' => $lng['serversettings']['mod_fcgid'],
|
'label' => $lng['serversettings']['mod_fcgid'],
|
||||||
@@ -27,31 +28,8 @@ return array(
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'plausibility_check_method' => 'checkFcgidPhpFpm',
|
||||||
'overview_option' => true
|
'overview_option' => true
|
||||||
),
|
|
||||||
'system_mod_fcgid_enabled_ownvhost' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid_ownvhost'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_ownvhost',
|
|
||||||
'type' => 'bool',
|
|
||||||
'default' => false,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_httpuser' => array(
|
|
||||||
'label' => $lng['admin']['mod_fcgid_user'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_httpuser',
|
|
||||||
'type' => 'string',
|
|
||||||
'default' => 'froxlorlocal',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_httpgroup' => array(
|
|
||||||
'label' => $lng['admin']['mod_fcgid_group'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_httpgroup',
|
|
||||||
'type' => 'string',
|
|
||||||
'default' => 'froxlorlocal',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
),
|
||||||
'system_mod_fcgid_configdir' => array(
|
'system_mod_fcgid_configdir' => array(
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['configdir'],
|
'label' => $lng['serversettings']['mod_fcgid']['configdir'],
|
||||||
@@ -60,6 +38,7 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'string_type' => 'dir',
|
'string_type' => 'dir',
|
||||||
'default' => '/var/www/php-fcgi-scripts/',
|
'default' => '/var/www/php-fcgi-scripts/',
|
||||||
|
'plausibility_check_method' => 'checkPathConflicts',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
'system_mod_fcgid_tmpdir' => array(
|
'system_mod_fcgid_tmpdir' => array(
|
||||||
@@ -90,6 +69,7 @@ return array(
|
|||||||
'option_options' => array(0 => 'ScriptAlias', 1=> 'FCGIWrapper'),
|
'option_options' => array(0 => 'ScriptAlias', 1=> 'FCGIWrapper'),
|
||||||
'default' => 1,
|
'default' => 1,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
),
|
),
|
||||||
'system_mod_fcgid_starter' => array(
|
'system_mod_fcgid_starter' => array(
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['starter'],
|
'label' => $lng['serversettings']['mod_fcgid']['starter'],
|
||||||
@@ -117,9 +97,47 @@ return array(
|
|||||||
'option_options_method' => 'getPhpConfigs',
|
'option_options_method' => 'getPhpConfigs',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
),
|
'system_mod_fcgid_enabled_ownvhost' => array(
|
||||||
),
|
'label' => $lng['serversettings']['mod_fcgid_ownvhost'],
|
||||||
),
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_ownvhost',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_httpuser' => array(
|
||||||
|
'label' => $lng['admin']['mod_fcgid_user'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_httpuser',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'froxlorlocal',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_httpgroup' => array(
|
||||||
|
'label' => $lng['admin']['mod_fcgid_group'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_httpgroup',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'froxlorlocal',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_defaultini_ownvhost' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['defaultini_ownvhost'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_defaultini_ownvhost',
|
||||||
|
'type' => 'option',
|
||||||
|
'default' => '1',
|
||||||
|
'option_mode' => 'one',
|
||||||
|
'option_options_method' => 'getPhpConfigs',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
161
actions/admin/settings/136.phpfpm.php
Normal file
161
actions/admin/settings/136.phpfpm.php
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Settings
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'groups' => array(
|
||||||
|
'phpfpm' => array(
|
||||||
|
'title' => $lng['admin']['phpfpm_settings'],
|
||||||
|
'fields' => array(
|
||||||
|
'system_phpfpm_enabled' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'enabled',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'plausibility_check_method' => 'checkFcgidPhpFpm',
|
||||||
|
'overview_option' => true
|
||||||
|
),
|
||||||
|
'system_phpfpm_enabled_ownvhost' => array(
|
||||||
|
'label' => $lng['phpfpm']['ownvhost'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'enabled_ownvhost',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField'
|
||||||
|
),
|
||||||
|
'system_phpfpm_httpuser' => array(
|
||||||
|
'label' => $lng['phpfpm']['vhost_httpuser'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'vhost_httpuser',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'froxlorlocal',
|
||||||
|
'save_method' => 'storeSettingField'
|
||||||
|
),
|
||||||
|
'system_phpfpm_httpgroup' => array(
|
||||||
|
'label' => $lng['phpfpm']['vhost_httpgroup'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'vhost_httpgroup',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'froxlorlocal',
|
||||||
|
'save_method' => 'storeSettingField'
|
||||||
|
),
|
||||||
|
/*
|
||||||
|
* @TODO implement if phpfpm knows custom php.ini files
|
||||||
|
*
|
||||||
|
'system_phpfpm_defaultini_ownvhost' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['defaultini_ownvhost'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'vhost_defaultini',
|
||||||
|
'type' => 'option',
|
||||||
|
'default' => '1',
|
||||||
|
'option_mode' => 'one',
|
||||||
|
'option_options_method' => 'getPhpConfigs',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
*/
|
||||||
|
'system_phpfpm_configdir' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['configdir'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'configdir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/etc/php-fpm.d/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_tmpdir' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'tmpdir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/var/customers/tmp/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_peardir' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['peardir'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'peardir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/usr/share/php/:/usr/share/php5/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_reload' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['reload'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'reload',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => '/etc/init.d/php-fpm restart',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_pm' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['pm'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'pm',
|
||||||
|
'type' => 'option',
|
||||||
|
'default' => 'static',
|
||||||
|
'option_mode' => 'one',
|
||||||
|
'option_options' => array('static' => 'static', 'dynamic' => 'dynamic'),
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_max_children' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['max_children'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'max_children',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 1,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_start_servers' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['start_servers'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'start_servers',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 20,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_min_spare_servers' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['min_spare_servers'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'min_spare_servers',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 5,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_max_spare_servers' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['max_spare_servers'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'max_spare_servers',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 35,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_phpfpm_max_requests' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['max_requests'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'max_requests',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 0,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -27,6 +27,7 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => '/usr/bin/perl',
|
'default' => '/usr/bin/perl',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('lighttpd')
|
||||||
),
|
),
|
||||||
'system_perl_suexecworkaround' => array(
|
'system_perl_suexecworkaround' => array(
|
||||||
'label' => $lng['serversettings']['perl']['suexecworkaround'],
|
'label' => $lng['serversettings']['perl']['suexecworkaround'],
|
||||||
@@ -35,6 +36,7 @@ return array(
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
),
|
),
|
||||||
'system_perl_suexeccgipath' => array(
|
'system_perl_suexeccgipath' => array(
|
||||||
'label' => $lng['serversettings']['perl']['suexeccgipath'],
|
'label' => $lng['serversettings']['perl']['suexeccgipath'],
|
||||||
@@ -43,6 +45,16 @@ return array(
|
|||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'default' => '/var/www/cgi-bin/',
|
'default' => '/var/www/cgi-bin/',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('apache2')
|
||||||
|
),
|
||||||
|
'perl_server' => array(
|
||||||
|
'label' => $lng['serversettings']['perl_server'],
|
||||||
|
'settinggroup' => 'serversettings',
|
||||||
|
'varname' => 'perl_server',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'unix:/var/run/nginx/cgiwrap-dispatch.sock',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'websrv_avail' => array('nginx')
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -66,6 +66,15 @@ return array(
|
|||||||
'string_type' => 'dir',
|
'string_type' => 'dir',
|
||||||
'default' => '/etc/awstats/',
|
'default' => '/etc/awstats/',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_awstats_icons' => array(
|
||||||
|
'label' => $lng['serversettings']['awstats_icons'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'awstats_icons',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/usr/share/awstats/icon/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ return array(
|
|||||||
'option_mode' => 'one',
|
'option_mode' => 'one',
|
||||||
'option_options' => array(0 => html_entity_decode($lng['admin']['tickets']['daily']), 1 => html_entity_decode($lng['admin']['tickets']['weekly']), 2 => html_entity_decode($lng['admin']['tickets']['monthly']), 3 => html_entity_decode($lng['admin']['tickets']['yearly'])),
|
'option_options' => array(0 => html_entity_decode($lng['admin']['tickets']['daily']), 1 => html_entity_decode($lng['admin']['tickets']['weekly']), 2 => html_entity_decode($lng['admin']['tickets']['monthly']), 3 => html_entity_decode($lng['admin']['tickets']['yearly'])),
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'plausibility_check_method' => 'setCycleOfCronjob',
|
||||||
),
|
),
|
||||||
'ticket_concurrently_open' => array(
|
'ticket_concurrently_open' => array(
|
||||||
'label' => $lng['serversettings']['ticket']['concurrentlyopen'],
|
'label' => $lng['serversettings']['ticket']['concurrentlyopen'],
|
||||||
|
|||||||
@@ -96,8 +96,8 @@ if($userinfo['change_serversettings'] == '1')
|
|||||||
'<VIRTUAL_UID_MAPS>' => $settings['system']['vmail_uid'],
|
'<VIRTUAL_UID_MAPS>' => $settings['system']['vmail_uid'],
|
||||||
'<VIRTUAL_GID_MAPS>' => $settings['system']['vmail_gid'],
|
'<VIRTUAL_GID_MAPS>' => $settings['system']['vmail_gid'],
|
||||||
'<SSLPROTOCOLS>' => ($settings['system']['use_ssl'] == '1') ? 'imaps pop3s' : '',
|
'<SSLPROTOCOLS>' => ($settings['system']['use_ssl'] == '1') ? 'imaps pop3s' : '',
|
||||||
'<REALTIME_PORT>' => $settings['system']['realtime_port'],
|
'<CUSTOMER_TMP>' => ($settings['system']['mod_fcgid_tmpdir'] != '') ? makeCorrectDir($settings['system']['mod_fcgid_tmpdir']) : '/tmp/',
|
||||||
'<CUSTOMER_TMP>' => ($settings['system']['mod_fcgid_tmpdir'] != '') ? makeCorrectDir($settings['system']['mod_fcgid_tmpdir']) : '/tmp/'
|
'<BASE_PATH>' => makeCorrectDir(dirname(__FILE__))
|
||||||
);
|
);
|
||||||
$files = '';
|
$files = '';
|
||||||
$configpage = '';
|
$configpage = '';
|
||||||
|
|||||||
@@ -107,10 +107,12 @@ if($page == 'customers'
|
|||||||
$last_login = ((int)$row['lastlogin_succ'] == 0) ? $lng['panel']['neverloggedin'] : date('d.m.Y', $row['lastlogin_succ']);
|
$last_login = ((int)$row['lastlogin_succ'] == 0) ? $lng['panel']['neverloggedin'] : date('d.m.Y', $row['lastlogin_succ']);
|
||||||
|
|
||||||
$column_style = '';
|
$column_style = '';
|
||||||
|
$unlock_link = '';
|
||||||
if($row['loginfail_count'] >= $settings['login']['maxloginattempts']
|
if($row['loginfail_count'] >= $settings['login']['maxloginattempts']
|
||||||
&& $row['lastlogin_fail'] > (time() - $settings['login']['deactivatetime'])
|
&& $row['lastlogin_fail'] > (time() - $settings['login']['deactivatetime'])
|
||||||
) {
|
) {
|
||||||
$column_style = ' style="background-color: #f99122;"';
|
$column_style = ' style="background-color: #f99122;"';
|
||||||
|
$unlock_link = '<a href="'.$filename.'?s='.$s.'&page='.$page.'&action=unlock&id='.$row['customerid'].'">'.$lng['panel']['unlock'].'</a><br />';
|
||||||
}
|
}
|
||||||
|
|
||||||
$row = str_replace_array('-1', 'UL', $row, 'diskspace traffic mysqls emails email_accounts email_forwarders ftps tickets subdomains email_autoresponder');
|
$row = str_replace_array('-1', 'UL', $row, 'diskspace traffic mysqls emails email_accounts email_forwarders ftps tickets subdomains email_autoresponder');
|
||||||
@@ -144,6 +146,31 @@ if($page == 'customers'
|
|||||||
redirectTo('index.php', Array('action' => 'login'));
|
redirectTo('index.php', Array('action' => 'login'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif($action == 'unlock'
|
||||||
|
&& $id != 0)
|
||||||
|
{
|
||||||
|
$result = $db->query_first("SELECT * FROM `" . TABLE_PANEL_CUSTOMERS . "` WHERE `customerid`='" . (int)$id . "' " . ($userinfo['customers_see_all'] ? '' : " AND `adminid` = '" . $db->escape($userinfo['adminid']) . "' "));
|
||||||
|
|
||||||
|
if($result['loginname'] != '')
|
||||||
|
{
|
||||||
|
if(isset($_POST['send'])
|
||||||
|
&& $_POST['send'] == 'send')
|
||||||
|
{
|
||||||
|
$result = $db->query("UPDATE
|
||||||
|
`" . TABLE_PANEL_CUSTOMERS . "`
|
||||||
|
SET
|
||||||
|
`loginfail_count` = '0'
|
||||||
|
WHERE
|
||||||
|
`customerid`= '" . (int)$id . "'"
|
||||||
|
);
|
||||||
|
redirectTo($filename, Array('page' => $page, 's' => $s));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ask_yesno('customer_reallyunlock', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $result['loginname']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
elseif($action == 'delete'
|
elseif($action == 'delete'
|
||||||
&& $id != 0)
|
&& $id != 0)
|
||||||
{
|
{
|
||||||
@@ -188,6 +215,7 @@ if($page == 'customers'
|
|||||||
$db->query("DELETE FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `customerid`='" . (int)$id . "'");
|
$db->query("DELETE FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `customerid`='" . (int)$id . "'");
|
||||||
$domains_deleted = $db->affected_rows();
|
$domains_deleted = $db->affected_rows();
|
||||||
$db->query("DELETE FROM `" . TABLE_PANEL_HTPASSWDS . "` WHERE `customerid`='" . (int)$id . "'");
|
$db->query("DELETE FROM `" . TABLE_PANEL_HTPASSWDS . "` WHERE `customerid`='" . (int)$id . "'");
|
||||||
|
$db->query("DELETE FROM `" . TABLE_PANEL_HTACCESS . "` WHERE `customerid`='" . (int)$id . "'");
|
||||||
$db->query("DELETE FROM `" . TABLE_PANEL_SESSIONS . "` WHERE `userid`='" . (int)$id . "' AND `adminsession` = '0'");
|
$db->query("DELETE FROM `" . TABLE_PANEL_SESSIONS . "` WHERE `userid`='" . (int)$id . "' AND `adminsession` = '0'");
|
||||||
$db->query("DELETE FROM `" . TABLE_PANEL_TRAFFIC . "` WHERE `customerid`='" . (int)$id . "'");
|
$db->query("DELETE FROM `" . TABLE_PANEL_TRAFFIC . "` WHERE `customerid`='" . (int)$id . "'");
|
||||||
$db->query("DELETE FROM `" . TABLE_MAIL_USERS . "` WHERE `customerid`='" . (int)$id . "'");
|
$db->query("DELETE FROM `" . TABLE_MAIL_USERS . "` WHERE `customerid`='" . (int)$id . "'");
|
||||||
@@ -446,7 +474,12 @@ if($page == 'customers'
|
|||||||
|
|
||||||
$createstdsubdomain = intval($_POST['createstdsubdomain']);
|
$createstdsubdomain = intval($_POST['createstdsubdomain']);
|
||||||
$password = validate($_POST['new_customer_password'], 'password');
|
$password = validate($_POST['new_customer_password'], 'password');
|
||||||
$password = validatePassword($password);
|
// only check if not empty,
|
||||||
|
// cause empty == generate password automatically
|
||||||
|
if($password != '')
|
||||||
|
{
|
||||||
|
$password = validatePassword($password);
|
||||||
|
}
|
||||||
$sendpassword = intval($_POST['sendpassword']);
|
$sendpassword = intval($_POST['sendpassword']);
|
||||||
$phpenabled = intval($_POST['phpenabled']);
|
$phpenabled = intval($_POST['phpenabled']);
|
||||||
$perlenabled = intval($_POST['perlenabled']);
|
$perlenabled = intval($_POST['perlenabled']);
|
||||||
@@ -751,7 +784,7 @@ if($page == 'customers'
|
|||||||
|
|
||||||
while(list($language_file, $language_name) = each($languages))
|
while(list($language_file, $language_name) = each($languages))
|
||||||
{
|
{
|
||||||
$language_options.= makeoption($language_name, $language_file, $userinfo['def_language'], true);
|
$language_options.= makeoption($language_name, $language_file, $settings['panel']['standardlanguage'], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$diskspace_ul = makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
$diskspace_ul = makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||||
|
|||||||
@@ -141,11 +141,22 @@ if($page == 'ipsandports'
|
|||||||
$vhostcontainer = intval($_POST['vhostcontainer']);
|
$vhostcontainer = intval($_POST['vhostcontainer']);
|
||||||
$specialsettings = validate(str_replace("\r\n", "\n", $_POST['specialsettings']), 'specialsettings', '/^[^\0]*$/');
|
$specialsettings = validate(str_replace("\r\n", "\n", $_POST['specialsettings']), 'specialsettings', '/^[^\0]*$/');
|
||||||
$vhostcontainer_servername_statement = intval($_POST['vhostcontainer_servername_statement']);
|
$vhostcontainer_servername_statement = intval($_POST['vhostcontainer_servername_statement']);
|
||||||
$ssl = intval($_POST['ssl']);
|
|
||||||
$ssl_cert_file = validate($_POST['ssl_cert_file'], 'ssl_cert_file');
|
|
||||||
$ssl_key_file = validate($_POST['ssl_key_file'], 'ssl_key_file');
|
|
||||||
$ssl_ca_file = validate($_POST['ssl_ca_file'], 'ssl_ca_file');
|
|
||||||
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
|
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
|
||||||
|
$docroot = validate($_POST['docroot'], 'docroot');
|
||||||
|
if((int)$settings['system']['use_ssl'] == 1)
|
||||||
|
{
|
||||||
|
$ssl = intval($_POST['ssl']);
|
||||||
|
$ssl_cert_file = validate($_POST['ssl_cert_file'], 'ssl_cert_file');
|
||||||
|
$ssl_key_file = validate($_POST['ssl_key_file'], 'ssl_key_file');
|
||||||
|
$ssl_ca_file = validate($_POST['ssl_ca_file'], 'ssl_ca_file');
|
||||||
|
$ssl_cert_chainfile = validate($_POST['ssl_cert_chainfile'], 'ssl_cert_chainfile');
|
||||||
|
} else {
|
||||||
|
$ssl = 0;
|
||||||
|
$ssl_cert_file = '';
|
||||||
|
$ssl_key_file = '';
|
||||||
|
$ssl_ca_file = '';
|
||||||
|
$ssl_cert_chainfile = '';
|
||||||
|
}
|
||||||
|
|
||||||
if($listen_statement != '1')
|
if($listen_statement != '1')
|
||||||
{
|
{
|
||||||
@@ -187,6 +198,20 @@ if($page == 'ipsandports'
|
|||||||
$ssl_ca_file = makeCorrectFile($ssl_ca_file);
|
$ssl_ca_file = makeCorrectFile($ssl_ca_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($ssl_cert_chainfile != '')
|
||||||
|
{
|
||||||
|
$ssl_cert_chainfile = makeCorrectFile($ssl_cert_chainfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strlen(trim($docroot)) > 0)
|
||||||
|
{
|
||||||
|
$docroot = makeCorrectDir($docroot);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$docroot = '';
|
||||||
|
}
|
||||||
|
|
||||||
$result_checkfordouble = $db->query_first("SELECT `id` FROM `" . TABLE_PANEL_IPSANDPORTS . "` WHERE `ip`='" . $db->escape($ip) . "' AND `port`='" . (int)$port . "'");
|
$result_checkfordouble = $db->query_first("SELECT `id` FROM `" . TABLE_PANEL_IPSANDPORTS . "` WHERE `ip`='" . $db->escape($ip) . "' AND `port`='" . (int)$port . "'");
|
||||||
|
|
||||||
if($result_checkfordouble['id'] != '')
|
if($result_checkfordouble['id'] != '')
|
||||||
@@ -195,7 +220,23 @@ if($page == 'ipsandports'
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_IPSANDPORTS . "` (`ip`, `port`, `listen_statement`, `namevirtualhost_statement`, `vhostcontainer`, `vhostcontainer_servername_statement`, `specialsettings`, `ssl`, `ssl_cert_file`, `ssl_key_file`, `ssl_ca_file`, `default_vhostconf_domain`) VALUES ('" . $db->escape($ip) . "', '" . (int)$port . "', '" . (int)$listen_statement . "', '" . (int)$namevirtualhost_statement . "', '" . (int)$vhostcontainer . "', '" . (int)$vhostcontainer_servername_statement . "', '" . $db->escape($specialsettings) . "', '" . (int)$ssl . "', '" . $db->escape($ssl_cert_file) . "', '" . $db->escape($ssl_key_file) . "', '" . $db->escape($ssl_ca_file) . "', '" . $db->escape($default_vhostconf_domain) . "')");
|
$db->query("INSERT INTO `" . TABLE_PANEL_IPSANDPORTS . "`
|
||||||
|
SET
|
||||||
|
`ip` = '" . $db->escape($ip) . "',
|
||||||
|
`port` = '" . (int)$port . "',
|
||||||
|
`listen_statement` = '" . (int)$listen_statement . "',
|
||||||
|
`namevirtualhost_statement` = '" . (int)$namevirtualhost_statement . "',
|
||||||
|
`vhostcontainer` = '" . (int)$vhostcontainer . "',
|
||||||
|
`vhostcontainer_servername_statement` = '" . (int)$vhostcontainer_servername_statement . "',
|
||||||
|
`specialsettings` = '" . $db->escape($specialsettings) . "',
|
||||||
|
`ssl` = '" . (int)$ssl . "',
|
||||||
|
`ssl_cert_file` = '" . $db->escape($ssl_cert_file) . "',
|
||||||
|
`ssl_key_file` = '" . $db->escape($ssl_key_file) . "',
|
||||||
|
`ssl_ca_file` = '" . $db->escape($ssl_ca_file) . "',
|
||||||
|
`ssl_cert_chainfile` = '" . $db->escape($ssl_cert_chainfile) . "',
|
||||||
|
`default_vhostconf_domain` = '" . $db->escape($default_vhostconf_domain) . "',
|
||||||
|
`docroot` = '" . $db->escape($docroot) . "';
|
||||||
|
");
|
||||||
|
|
||||||
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
||||||
{
|
{
|
||||||
@@ -237,11 +278,22 @@ if($page == 'ipsandports'
|
|||||||
$vhostcontainer = intval($_POST['vhostcontainer']);
|
$vhostcontainer = intval($_POST['vhostcontainer']);
|
||||||
$specialsettings = validate(str_replace("\r\n", "\n", $_POST['specialsettings']), 'specialsettings', '/^[^\0]*$/');
|
$specialsettings = validate(str_replace("\r\n", "\n", $_POST['specialsettings']), 'specialsettings', '/^[^\0]*$/');
|
||||||
$vhostcontainer_servername_statement = intval($_POST['vhostcontainer_servername_statement']);
|
$vhostcontainer_servername_statement = intval($_POST['vhostcontainer_servername_statement']);
|
||||||
$ssl = intval($_POST['ssl']);
|
|
||||||
$ssl_cert_file = validate($_POST['ssl_cert_file'], 'ssl_cert_file');
|
|
||||||
$ssl_key_file = validate($_POST['ssl_key_file'], 'ssl_key_file');
|
|
||||||
$ssl_ca_file = validate($_POST['ssl_ca_file'], 'ssl_ca_file');
|
|
||||||
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
|
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
|
||||||
|
$docroot = validate($_POST['docroot'], 'docroot');
|
||||||
|
if((int)$settings['system']['use_ssl'] == 1)
|
||||||
|
{
|
||||||
|
$ssl = intval($_POST['ssl']);
|
||||||
|
$ssl_cert_file = validate($_POST['ssl_cert_file'], 'ssl_cert_file');
|
||||||
|
$ssl_key_file = validate($_POST['ssl_key_file'], 'ssl_key_file');
|
||||||
|
$ssl_ca_file = validate($_POST['ssl_ca_file'], 'ssl_ca_file');
|
||||||
|
$ssl_cert_chainfile = validate($_POST['ssl_cert_chainfile'], 'ssl_cert_chainfile');
|
||||||
|
} else {
|
||||||
|
$ssl = 0;
|
||||||
|
$ssl_cert_file = '';
|
||||||
|
$ssl_key_file = '';
|
||||||
|
$ssl_ca_file = '';
|
||||||
|
$ssl_cert_chainfile = '';
|
||||||
|
}
|
||||||
|
|
||||||
if($listen_statement != '1')
|
if($listen_statement != '1')
|
||||||
{
|
{
|
||||||
@@ -283,6 +335,20 @@ if($page == 'ipsandports'
|
|||||||
$ssl_ca_file = makeCorrectFile($ssl_ca_file);
|
$ssl_ca_file = makeCorrectFile($ssl_ca_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($ssl_cert_chainfile != '')
|
||||||
|
{
|
||||||
|
$ssl_cert_chainfile = makeCorrectFile($ssl_cert_chainfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strlen(trim($docroot)) > 0)
|
||||||
|
{
|
||||||
|
$docroot = makeCorrectDir($docroot);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$docroot = '';
|
||||||
|
}
|
||||||
|
|
||||||
if($result['ip'] != $ip
|
if($result['ip'] != $ip
|
||||||
&& $result['ip'] == $settings['system']['ipaddress']
|
&& $result['ip'] == $settings['system']['ipaddress']
|
||||||
&& $result_sameipotherport['id'] == '')
|
&& $result_sameipotherport['id'] == '')
|
||||||
@@ -296,7 +362,26 @@ if($page == 'ipsandports'
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_IPSANDPORTS . "` SET `ip`='" . $db->escape($ip) . "', `port`='" . (int)$port . "', `listen_statement`='" . (int)$listen_statement . "', `namevirtualhost_statement`='" . (int)$namevirtualhost_statement . "', `vhostcontainer`='" . (int)$vhostcontainer . "', `vhostcontainer_servername_statement`='" . (int)$vhostcontainer_servername_statement . "', `specialsettings`='" . $db->escape($specialsettings) . "', `ssl`='" . (int)$ssl . "', `ssl_cert_file`='" . $db->escape($ssl_cert_file) . "', `ssl_key_file`='" . $db->escape($ssl_key_file) . "', `ssl_ca_file`='" . $db->escape($ssl_ca_file) . "', `default_vhostconf_domain`='" . $db->escape($default_vhostconf_domain) . "' WHERE `id`='" . (int)$id . "'");
|
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_IPSANDPORTS . "`
|
||||||
|
SET
|
||||||
|
`ip` = '" . $db->escape($ip) . "',
|
||||||
|
`port` = '" . (int)$port . "',
|
||||||
|
`listen_statement` = '" . (int)$listen_statement . "',
|
||||||
|
`namevirtualhost_statement` = '" . (int)$namevirtualhost_statement . "',
|
||||||
|
`vhostcontainer` = '" . (int)$vhostcontainer . "',
|
||||||
|
`vhostcontainer_servername_statement` = '" . (int)$vhostcontainer_servername_statement . "',
|
||||||
|
`specialsettings` = '" . $db->escape($specialsettings) . "',
|
||||||
|
`ssl` = '" . (int)$ssl . "',
|
||||||
|
`ssl_cert_file` = '" . $db->escape($ssl_cert_file) . "',
|
||||||
|
`ssl_key_file` = '" . $db->escape($ssl_key_file) . "',
|
||||||
|
`ssl_ca_file` = '" . $db->escape($ssl_ca_file) . "',
|
||||||
|
`ssl_cert_chainfile` = '" . $db->escape($ssl_cert_chainfile) . "',
|
||||||
|
`default_vhostconf_domain` = '" . $db->escape($default_vhostconf_domain) . "',
|
||||||
|
`docroot` = '" . $db->escape($docroot) . "'
|
||||||
|
WHERE `id`='" . (int)$id . "'
|
||||||
|
");
|
||||||
|
|
||||||
$log->logAction(ADM_ACTION, LOG_WARNING, "changed IP/port from '" . $result['ip'] . ":" . $result['port'] . "' to '" . $ip . ":" . $port . "'");
|
$log->logAction(ADM_ACTION, LOG_WARNING, "changed IP/port from '" . $result['ip'] . ":" . $result['port'] . "' to '" . $ip . ":" . $port . "'");
|
||||||
inserttask('1');
|
inserttask('1');
|
||||||
inserttask('4');
|
inserttask('4');
|
||||||
|
|||||||
@@ -75,6 +75,10 @@ if(($page == 'settings' || $page == 'overview')
|
|||||||
$only_enabledisable
|
$only_enabledisable
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
$log->logAction(ADM_ACTION, LOG_INFO, "rebuild configfiles due to changed setting");
|
||||||
|
inserttask('1');
|
||||||
|
inserttask('4');
|
||||||
|
inserttask('5');
|
||||||
standard_success('settingssaved', '', array('filename' => $filename, 'action' => $action, 'page' => $page));
|
standard_success('settingssaved', '', array('filename' => $filename, 'action' => $action, 'page' => $page));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -214,4 +218,4 @@ elseif($page == 'enforcequotas'
|
|||||||
{
|
{
|
||||||
ask_yesno('admin_quotas_reallyenforce', $filename, array('page' => $page));
|
ask_yesno('admin_quotas_reallyenforce', $filename, array('page' => $page));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ elseif(isset($_GET['id']))
|
|||||||
$available_templates = array(
|
$available_templates = array(
|
||||||
'createcustomer',
|
'createcustomer',
|
||||||
'pop_success',
|
'pop_success',
|
||||||
'trafficninetypercent',
|
'trafficmaxpercent',
|
||||||
|
'diskmaxpercent',
|
||||||
'new_ticket_by_customer',
|
'new_ticket_by_customer',
|
||||||
'new_ticket_for_customer',
|
'new_ticket_for_customer',
|
||||||
'new_ticket_by_staff',
|
'new_ticket_by_staff',
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ if($page == 'tickets'
|
|||||||
$paging = new paging($userinfo, $db, TABLE_PANEL_TICKETS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']);
|
$paging = new paging($userinfo, $db, TABLE_PANEL_TICKETS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']);
|
||||||
$paging->sortfield = 'lastchange';
|
$paging->sortfield = 'lastchange';
|
||||||
$paging->sortorder = 'desc';
|
$paging->sortorder = 'desc';
|
||||||
$result = $db->query('SELECT `main`.`id`, `main`.`customerid`, (SELECT COUNT(`sub`.`id`) FROM `' . TABLE_PANEL_TICKETS . '` `sub` WHERE `sub`.`answerto` = `main`.`id`) as `ticket_answers`, `main`.`lastchange`, `main`.`subject`, `main`.`status`, `main`.`lastreplier`, `main`.`priority` FROM `' . TABLE_PANEL_TICKETS . '` as `main` WHERE `main`.`answerto` = "0" AND `archived` = "0" AND `adminid` = "' . (int)$userinfo['adminid'] . '" ' . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
|
$result = $db->query('SELECT `main`.`id`, `main`.`customerid`, (SELECT COUNT(`sub`.`id`) FROM `' . TABLE_PANEL_TICKETS . '` `sub` WHERE `sub`.`answerto` = `main`.`id`) as `ticket_answers`, `main`.`lastchange`, `main`.`subject`, `main`.`status`, `main`.`lastreplier`, `main`.`priority` FROM `' . TABLE_PANEL_TICKETS . '` as `main` WHERE `main`.`answerto` = "0" AND `archived` = "0" ' . ($userinfo['customers_see_all'] ? '' : ' AND `adminid` = "' . (int)$userinfo['adminid'] . '"') . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
|
||||||
$paging->setEntries($db->num_rows($result));
|
$paging->setEntries($db->num_rows($result));
|
||||||
$sortcode = $paging->getHtmlSortCode($lng);
|
$sortcode = $paging->getHtmlSortCode($lng);
|
||||||
$arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
|
$arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
|
||||||
@@ -140,6 +140,7 @@ if($page == 'tickets'
|
|||||||
$cananswer = 1;
|
$cananswer = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$row['subject'] = html_entity_decode($row['subject']);
|
||||||
if(strlen($row['subject']) > 20)
|
if(strlen($row['subject']) > 20)
|
||||||
{
|
{
|
||||||
$row['subject'] = substr($row['subject'], 0, 17) . '...';
|
$row['subject'] = substr($row['subject'], 0, 17) . '...';
|
||||||
@@ -472,7 +473,8 @@ elseif($page == 'categories'
|
|||||||
|
|
||||||
if($order < 1 || $order >= 1000)
|
if($order < 1 || $order >= 1000)
|
||||||
{
|
{
|
||||||
$order = 1;
|
// use the latest available
|
||||||
|
$order = ticket::getHighestOrderNumber($db) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($category == '')
|
if($category == '')
|
||||||
@@ -488,6 +490,7 @@ elseif($page == 'categories'
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$order = ticket::getHighestOrderNumber($db) + 1;
|
||||||
eval("echo \"" . getTemplate("ticket/tickets_newcategory") . "\";");
|
eval("echo \"" . getTemplate("ticket/tickets_newcategory") . "\";");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ elseif($page == 'accounts')
|
|||||||
$result = $db->query("SELECT `bytes_in_used` FROM `" . TABLE_FTP_QUOTATALLIES . "` WHERE `name` = '" . $userinfo['loginname'] . "'");
|
$result = $db->query("SELECT `bytes_in_used` FROM `" . TABLE_FTP_QUOTATALLIES . "` WHERE `name` = '" . $userinfo['loginname'] . "'");
|
||||||
while($row = $db->fetch_array($result))
|
while($row = $db->fetch_array($result))
|
||||||
{
|
{
|
||||||
$db->query("INSERT INTO `" . TABLE_FTP_QUOTATALLIES . "` (`name`, `quota_type`, `bytes_in_used`, `bytes_out_used`, `bytes_xfer_used`, `files_in_used`, `files_out_used`, `files_xfer_used`) VALUES ('" . $db->escape($username) . "', 'user', '" . $db->escape($row[bytes_in_used]) . "', '0', '0', '0', '0', '0')");
|
$db->query("INSERT INTO `" . TABLE_FTP_QUOTATALLIES . "` (`name`, `quota_type`, `bytes_in_used`, `bytes_out_used`, `bytes_xfer_used`, `files_in_used`, `files_out_used`, `files_xfer_used`) VALUES ('" . $db->escape($username) . "', 'user', '" . $db->escape($row['bytes_in_used']) . "', '0', '0', '0', '0', '0')");
|
||||||
}
|
}
|
||||||
$db->query("UPDATE `" . TABLE_FTP_GROUPS . "` SET `members`=CONCAT_WS(',',`members`,'" . $db->escape($username) . "') WHERE `customerid`='" . $userinfo['customerid'] . "' AND `gid`='" . (int)$userinfo['guid'] . "'");
|
$db->query("UPDATE `" . TABLE_FTP_GROUPS . "` SET `members`=CONCAT_WS(',',`members`,'" . $db->escape($username) . "') WHERE `customerid`='" . $userinfo['customerid'] . "' AND `gid`='" . (int)$userinfo['guid'] . "'");
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `ftps_used`=`ftps_used`+1, `ftp_lastaccountnumber`=`ftp_lastaccountnumber`+1 WHERE `customerid`='" . (int)$userinfo['customerid'] . "'");
|
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `ftps_used`=`ftps_used`+1, `ftp_lastaccountnumber`=`ftp_lastaccountnumber`+1 WHERE `customerid`='" . (int)$userinfo['customerid'] . "'");
|
||||||
@@ -250,13 +250,24 @@ elseif($page == 'accounts')
|
|||||||
|
|
||||||
if($settings['customer']['ftpatdomain'] == '1')
|
if($settings['customer']['ftpatdomain'] == '1')
|
||||||
{
|
{
|
||||||
|
$domainlist = array();
|
||||||
$domains = '';
|
$domains = '';
|
||||||
|
|
||||||
$result_domains = $db->query("SELECT `domain` FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `customerid`='" . (int)$userinfo['customerid'] . "'");
|
$result_domains = $db->query("SELECT `domain` FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `customerid`='" . (int)$userinfo['customerid'] . "'");
|
||||||
|
|
||||||
while($row_domain = $db->fetch_array($result_domains))
|
while($row_domain = $db->fetch_array($result_domains))
|
||||||
{
|
{
|
||||||
$domains.= makeoption($idna_convert->decode($row_domain['domain']), $row_domain['domain']);
|
$domainlist[] = $row_domain['domain'];
|
||||||
|
}
|
||||||
|
|
||||||
|
sort($domainlist);
|
||||||
|
|
||||||
|
if(isset($domainlist[0]) && $domainlist[0] != '')
|
||||||
|
{
|
||||||
|
foreach($domainlist as $dom)
|
||||||
|
{
|
||||||
|
$domains .= makeoption($idna_convert->decode($dom), $dom);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ elseif($page == 'mysqls')
|
|||||||
elseif($action == 'delete'
|
elseif($action == 'delete'
|
||||||
&& $id != 0)
|
&& $id != 0)
|
||||||
{
|
{
|
||||||
$result = $db->query_first('SELECT `id`, `databasename`, `dbserver` FROM `' . TABLE_PANEL_DATABASES . '` WHERE `customerid`="' . (int)$userinfo['customerid'] . '" AND `id`="' . (int)$id . '"');
|
$result = $db->query_first('SELECT `id`, `databasename`, `description`, `dbserver` FROM `' . TABLE_PANEL_DATABASES . '` WHERE `customerid`="' . (int)$userinfo['customerid'] . '" AND `id`="' . (int)$id . '"');
|
||||||
|
|
||||||
if(isset($result['databasename'])
|
if(isset($result['databasename'])
|
||||||
&& $result['databasename'] != '')
|
&& $result['databasename'] != '')
|
||||||
@@ -126,7 +126,11 @@ elseif($page == 'mysqls')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ask_yesno('mysql_reallydelete', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $result['databasename']);
|
$dbnamedesc = $result['databasename'];
|
||||||
|
if(isset($result['description']) && $result['description'] != '') {
|
||||||
|
$dbnamedesc.= ' ('.$result['description'].')';
|
||||||
|
}
|
||||||
|
ask_yesno('mysql_reallydelete', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $dbnamedesc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -309,4 +313,4 @@ elseif($page == 'mysqls')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ elseif($page == 'tickets')
|
|||||||
$cananswer = 0;
|
$cananswer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$row['subject'] = html_entity_decode($row['subject']);
|
||||||
if(strlen($row['subject']) > 20)
|
if(strlen($row['subject']) > 20)
|
||||||
{
|
{
|
||||||
$row['subject'] = substr($row['subject'], 0, 17) . '...';
|
$row['subject'] = substr($row['subject'], 0, 17) . '...';
|
||||||
|
|||||||
BIN
images/multiserver/no.png
Normal file
BIN
images/multiserver/no.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
BIN
images/multiserver/server.png
Normal file
BIN
images/multiserver/server.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
BIN
images/multiserver/tick.png
Normal file
BIN
images/multiserver/tick.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
BIN
images/multiserver/view.png
Normal file
BIN
images/multiserver/view.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.5 KiB |
41
index.php
41
index.php
@@ -49,7 +49,44 @@ if($action == 'login')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$is_admin = true;
|
if((int)$settings['login']['domain_login'] == 1)
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* check if the customer tries to login with a domain, #374
|
||||||
|
*/
|
||||||
|
$domainname = $idna_convert->encode(preg_replace(Array('/\:(\d)+$/', '/^https?\:\/\//'), '', $loginname));
|
||||||
|
$row2 = $db->query_first("SELECT `customerid` FROM `".TABLE_PANEL_DOMAINS."` WHERE `domain` = '".$db->escape($domainname)."'");
|
||||||
|
|
||||||
|
if(isset($row2['customerid']) && $row2['customerid'] > 0)
|
||||||
|
{
|
||||||
|
$loginname = getCustomerDetail($row2['customerid'], 'loginname');
|
||||||
|
|
||||||
|
if($loginname !== false)
|
||||||
|
{
|
||||||
|
$row3 = $db->query_first("SELECT `loginname` AS `customer` FROM `" . TABLE_PANEL_CUSTOMERS . "` WHERE `loginname`='" . $db->escape($loginname) . "'");
|
||||||
|
|
||||||
|
if($row3['customer'] == $loginname)
|
||||||
|
{
|
||||||
|
$table = "`" . TABLE_PANEL_CUSTOMERS . "`";
|
||||||
|
$uid = 'customerid';
|
||||||
|
$adminsession = '0';
|
||||||
|
$is_admin = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$is_admin = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$is_admin = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$is_admin = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hasUpdates($version) && $is_admin == false)
|
if(hasUpdates($version) && $is_admin == false)
|
||||||
@@ -299,7 +336,7 @@ if($action == 'forgotpwd')
|
|||||||
try {
|
try {
|
||||||
$mail->Subject = $mail_subject;
|
$mail->Subject = $mail_subject;
|
||||||
$mail->AltBody = $mail_body;
|
$mail->AltBody = $mail_body;
|
||||||
$mail->MsgHTML(str_replace("\\n", "<br />", $mail_body));
|
$mail->MsgHTML(str_replace("\n", "<br />", $mail_body));
|
||||||
$mail->AddAddress($user['email'], $user['firstname'] . ' ' . $user['name']);
|
$mail->AddAddress($user['email'], $user['firstname'] . ' ' . $user['name']);
|
||||||
$mail->Send();
|
$mail->Send();
|
||||||
} catch(phpmailerException $e) {
|
} catch(phpmailerException $e) {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ CREATE TABLE `ftp_groups` (
|
|||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `groupname` (`groupname`),
|
UNIQUE KEY `groupname` (`groupname`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `ftp_groups`
|
# Dumping data for table `ftp_groups`
|
||||||
@@ -48,7 +48,7 @@ CREATE TABLE `ftp_users` (
|
|||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `username` (`username`),
|
UNIQUE KEY `username` (`username`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `ftp_users`
|
# Dumping data for table `ftp_users`
|
||||||
@@ -80,7 +80,7 @@ CREATE TABLE `mail_users` (
|
|||||||
`imap` tinyint(1) NOT NULL default '1',
|
`imap` tinyint(1) NOT NULL default '1',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `email` (`email`)
|
UNIQUE KEY `email` (`email`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `mail_users`
|
# Dumping data for table `mail_users`
|
||||||
@@ -105,7 +105,7 @@ CREATE TABLE `mail_virtual` (
|
|||||||
`iscatchall` tinyint(1) unsigned NOT NULL default '0',
|
`iscatchall` tinyint(1) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `email` (`email`)
|
KEY `email` (`email`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `mail_virtual`
|
# Dumping data for table `mail_virtual`
|
||||||
@@ -168,7 +168,7 @@ CREATE TABLE `panel_admins` (
|
|||||||
`email_autoresponder_used` int(5) NOT NULL default '0',
|
`email_autoresponder_used` int(5) NOT NULL default '0',
|
||||||
PRIMARY KEY (`adminid`),
|
PRIMARY KEY (`adminid`),
|
||||||
UNIQUE KEY `loginname` (`loginname`)
|
UNIQUE KEY `loginname` (`loginname`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
@@ -234,7 +234,7 @@ CREATE TABLE `panel_customers` (
|
|||||||
`email_autoresponder_used` int(5) NOT NULL default '0',
|
`email_autoresponder_used` int(5) NOT NULL default '0',
|
||||||
PRIMARY KEY (`customerid`),
|
PRIMARY KEY (`customerid`),
|
||||||
UNIQUE KEY `loginname` (`loginname`)
|
UNIQUE KEY `loginname` (`loginname`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_customers`
|
# Dumping data for table `panel_customers`
|
||||||
#
|
#
|
||||||
@@ -256,7 +256,7 @@ CREATE TABLE `panel_databases` (
|
|||||||
`apsdb` tinyint(1) NOT NULL default '0',
|
`apsdb` tinyint(1) NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_databases`
|
# Dumping data for table `panel_databases`
|
||||||
@@ -310,7 +310,7 @@ CREATE TABLE `panel_domains` (
|
|||||||
KEY `customerid` (`customerid`),
|
KEY `customerid` (`customerid`),
|
||||||
KEY `parentdomain` (`parentdomainid`),
|
KEY `parentdomain` (`parentdomainid`),
|
||||||
KEY `domain` (`domain`)
|
KEY `domain` (`domain`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_domains`
|
# Dumping data for table `panel_domains`
|
||||||
@@ -337,8 +337,10 @@ CREATE TABLE `panel_ipsandports` (
|
|||||||
`ssl_key_file` varchar(255) NOT NULL,
|
`ssl_key_file` varchar(255) NOT NULL,
|
||||||
`ssl_ca_file` varchar(255) NOT NULL,
|
`ssl_ca_file` varchar(255) NOT NULL,
|
||||||
`default_vhostconf_domain` text NOT NULL,
|
`default_vhostconf_domain` text NOT NULL,
|
||||||
|
`ssl_cert_chainfile` varchar(255) NOT NULL,
|
||||||
|
`docroot` varchar(255) NOT NULL default '',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_ipsandports`
|
# Dumping data for table `panel_ipsandports`
|
||||||
@@ -364,7 +366,7 @@ CREATE TABLE `panel_htaccess` (
|
|||||||
`error401path` varchar(255) NOT NULL default '',
|
`error401path` varchar(255) NOT NULL default '',
|
||||||
`options_cgi` tinyint(1) NOT NULL default '0',
|
`options_cgi` tinyint(1) NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_htaccess`
|
# Dumping data for table `panel_htaccess`
|
||||||
@@ -387,7 +389,7 @@ CREATE TABLE `panel_htpasswds` (
|
|||||||
`authname` varchar(255) NOT NULL default 'Restricted Area',
|
`authname` varchar(255) NOT NULL default 'Restricted Area',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_htpasswds`
|
# Dumping data for table `panel_htpasswds`
|
||||||
@@ -433,7 +435,7 @@ CREATE TABLE `panel_settings` (
|
|||||||
`varname` varchar(255) NOT NULL default '',
|
`varname` varchar(255) NOT NULL default '',
|
||||||
`value` text NOT NULL,
|
`value` text NOT NULL,
|
||||||
PRIMARY KEY (`settingid`)
|
PRIMARY KEY (`settingid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
@@ -460,7 +462,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.13');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.17');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
|
||||||
@@ -507,9 +509,9 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (67, 'logger', 'logfile', '');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (67, 'logger', 'logfile', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (68, 'logger', 'logtypes', 'syslog,mysql');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (68, 'logger', 'logtypes', 'syslog,mysql');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (69, 'logger', 'severity', '1');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (69, 'logger', 'severity', '1');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (70, 'system','ssl_cert_file','/etc/apache2/apache2.pem');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (70, 'system', 'ssl_cert_file', '/etc/apache2/apache2.pem');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (71, 'system','use_ssl','1');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (71, 'system', 'use_ssl', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (72, 'system','openssl_cnf','[ req ]\r\ndefault_bits = 1024\r\ndistinguished_name = req_distinguished_name\r\nattributes = req_attributes\r\nprompt = no\r\noutput_password =\r\ninput_password =\r\n[ req_distinguished_name ]\r\nC = DE\r\nST = froxlor\r\nL = froxlor \r\nO = Testcertificate\r\nOU = froxlor \r\nCN = @@domain_name@@\r\nemailAddress = @@email@@ \r\n[ req_attributes ]\r\nchallengePassword =\r\n');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (72, 'system', 'openssl_cnf', '[ req ]\r\ndefault_bits = 1024\r\ndistinguished_name = req_distinguished_name\r\nattributes = req_attributes\r\nprompt = no\r\noutput_password =\r\ninput_password =\r\n[ req_distinguished_name ]\r\nC = DE\r\nST = froxlor\r\nL = froxlor \r\nO = Testcertificate\r\nOU = froxlor \r\nCN = @@domain_name@@\r\nemailAddress = @@email@@ \r\n[ req_attributes ]\r\nchallengePassword =\r\n');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (73, 'system', 'default_vhostconf', '');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (73, 'system', 'default_vhostconf', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (74, 'system', 'mail_quota_enabled', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (74, 'system', 'mail_quota_enabled', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (75, 'system', 'mail_quota', '100');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (75, 'system', 'mail_quota', '100');
|
||||||
@@ -544,13 +546,12 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (104, 'aps', 'webserver-htaccess', '');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (104, 'aps', 'webserver-htaccess', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (105, 'aps', 'php-function', '');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (105, 'aps', 'php-function', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (106, 'aps', 'webserver-module', '');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (106, 'aps', 'webserver-module', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (107, 'system', 'realtime_port', '0');
|
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (108, 'session', 'allow_multiple_login', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (108, 'session', 'allow_multiple_login', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (109, 'panel', 'allow_domain_change_admin', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (109, 'panel', 'allow_domain_change_admin', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (110, 'panel', 'allow_domain_change_customer', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (110, 'panel', 'allow_domain_change_customer', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (111, 'system', 'mod_fcgid_maxrequests', '250');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (111, 'system', 'mod_fcgid_maxrequests', '250');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (112, 'system','ssl_key_file','/etc/apache2/apache2.key');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (112, 'system','ssl_key_file','/etc/apache2/apache2.key');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (113, 'system','ssl_ca_file','');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (113, 'system','ssl_ca_file', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (114, 'panel', 'frontend', 'froxlor');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (114, 'panel', 'frontend', 'froxlor');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (115, 'spf', 'use_spf', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (115, 'spf', 'use_spf', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (116, 'spf', 'spf_entry', '@ IN TXT "v=spf1 a mx -all"');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (116, 'spf', 'spf_entry', '@ IN TXT "v=spf1 a mx -all"');
|
||||||
@@ -589,6 +590,30 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (149, 'perl', 'suexecworkaround', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (149, 'perl', 'suexecworkaround', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (150, 'perl', 'suexecpath', '/var/www/cgi-bin/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (150, 'perl', 'suexecpath', '/var/www/cgi-bin/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (151, 'system', 'awstats_awstatspath', '/usr/bin/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (151, 'system', 'awstats_awstatspath', '/usr/bin/');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (152, 'system', 'mod_fcgid_defaultini_ownvhost', '1');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (153, 'system', 'awstats_icons', '/usr/share/awstats/icon/');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (154, 'system', 'ssl_cert_chainfile', '');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (155, 'login', 'domain_login', '0');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (156, 'system', 'nginx_php_backend', '127.0.0.1:8888');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (157, 'system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (158, 'system', 'phpreload_command', '');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (159, 'phpfpm', 'enabled', '0');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (160, 'phpfpm', 'configdir', '/etc/php-fpm.d/');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (161, 'phpfpm', 'reload', '/etc/init.d/php-fpm restart');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (162, 'phpfpm', 'pm', 'static');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (163, 'phpfpm', 'max_children', '1');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (164, 'phpfpm', 'start_servers', '20');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (165, 'phpfpm', 'min_spare_servers', '5');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (166, 'phpfpm', 'max_spare_servers', '35');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (167, 'phpfpm', 'max_requests', '0');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (168, 'phpfpm', 'tmpdir', '/var/customers/tmp/');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (169, 'phpfpm', 'peardir', '/usr/share/php/:/usr/share/php5/');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (170, 'phpfpm', 'enabled_ownvhost', '0');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (171, 'phpfpm', 'vhost_httpuser', 'froxlorlocal');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (172, 'phpfpm', 'vhost_httpgroup', 'froxlorlocal');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (173, 'system', 'report_enable', '1');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (174, 'system', 'report_webmax', '90');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (175, 'system', 'report_trafficmax', '90');
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
|
|
||||||
@@ -602,7 +627,7 @@ CREATE TABLE `panel_tasks` (
|
|||||||
`type` int(11) NOT NULL default '0',
|
`type` int(11) NOT NULL default '0',
|
||||||
`data` text NOT NULL,
|
`data` text NOT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_tasks`
|
# Dumping data for table `panel_tasks`
|
||||||
@@ -625,7 +650,7 @@ CREATE TABLE `panel_templates` (
|
|||||||
`value` longtext NOT NULL,
|
`value` longtext NOT NULL,
|
||||||
PRIMARY KEY (id),
|
PRIMARY KEY (id),
|
||||||
KEY adminid (adminid)
|
KEY adminid (adminid)
|
||||||
) TYPE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_templates`
|
# Dumping data for table `panel_templates`
|
||||||
@@ -652,7 +677,7 @@ CREATE TABLE `panel_traffic` (
|
|||||||
`mail` bigint(30) unsigned NOT NULL default '0',
|
`mail` bigint(30) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_traffic`
|
# Dumping data for table `panel_traffic`
|
||||||
@@ -679,7 +704,7 @@ CREATE TABLE `panel_traffic_admins` (
|
|||||||
`mail` bigint(30) unsigned NOT NULL default '0',
|
`mail` bigint(30) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `adminid` (`adminid`)
|
KEY `adminid` (`adminid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_traffic_admins`
|
# Dumping data for table `panel_traffic_admins`
|
||||||
@@ -705,7 +730,7 @@ CREATE TABLE `panel_diskspace` (
|
|||||||
`mysql` bigint(30) unsigned NOT NULL default '0',
|
`mysql` bigint(30) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_diskspace`
|
# Dumping data for table `panel_diskspace`
|
||||||
@@ -730,7 +755,7 @@ CREATE TABLE `panel_diskspace_admins` (
|
|||||||
`mysql` bigint(30) unsigned NOT NULL default '0',
|
`mysql` bigint(30) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `adminid` (`adminid`)
|
KEY `adminid` (`adminid`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_diskspace_admins`
|
# Dumping data for table `panel_diskspace_admins`
|
||||||
@@ -748,7 +773,7 @@ CREATE TABLE `panel_languages` (
|
|||||||
`language` varchar(30) NOT NULL default '',
|
`language` varchar(30) NOT NULL default '',
|
||||||
`file` varchar(255) NOT NULL default '',
|
`file` varchar(255) NOT NULL default '',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM ;
|
) ENGINE=MyISAM ;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dumping data for table `panel_languages`
|
# Dumping data for table `panel_languages`
|
||||||
@@ -789,7 +814,7 @@ CREATE TABLE `panel_tickets` (
|
|||||||
`message` text NOT NULL,
|
`message` text NOT NULL,
|
||||||
`dt` int(15) NOT NULL,
|
`dt` int(15) NOT NULL,
|
||||||
`lastchange` int(15) NOT NULL,
|
`lastchange` int(15) NOT NULL,
|
||||||
`ip` varchar(20) NOT NULL,
|
`ip` varchar(39) NOT NULL default '',
|
||||||
`status` enum('0','1','2','3') NOT NULL default '1',
|
`status` enum('0','1','2','3') NOT NULL default '1',
|
||||||
`lastreplier` enum('0','1') NOT NULL default '0',
|
`lastreplier` enum('0','1') NOT NULL default '0',
|
||||||
`answerto` int(11) unsigned NOT NULL,
|
`answerto` int(11) unsigned NOT NULL,
|
||||||
@@ -991,13 +1016,13 @@ CREATE TABLE IF NOT EXISTS `cronjobs_run` (
|
|||||||
#
|
#
|
||||||
|
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (1, 'froxlor/core', 'cron_tasks.php', '5 MINUTE', '1', 'cron_tasks');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (1, 'froxlor/core', 'cron_tasks.php', '5 MINUTE', '1', 'cron_tasks');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (2, 'froxlor/core', 'cron_legacy.php', '5 MINUTE', '1', 'cron_legacy');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (2, 'froxlor/aps', 'cron_apsinstaller.php', '5 MINUTE', '0', 'cron_apsinstaller');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (3, 'froxlor/aps', 'cron_apsinstaller.php', '5 MINUTE', '0', 'cron_apsinstaller');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (3, 'froxlor/autoresponder', 'cron_autoresponder.php', '5 MINUTE', '0', 'cron_autoresponder');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (4, 'froxlor/autoresponder', 'cron_autoresponder.php', '5 MINUTE', '0', 'cron_autoresponder');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (4, 'froxlor/aps', 'cron_apsupdater.php', '1 HOUR', '0', 'cron_apsupdater');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (5, 'froxlor/aps', 'cron_apsupdater.php', '1 HOUR', '0', 'cron_apsupdater');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (5, 'froxlor/core', 'cron_traffic.php', '1 DAY', '1', 'cron_traffic');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (6, 'froxlor/core', 'cron_traffic.php', '1 DAY', '1', 'cron_traffic');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (6, 'froxlor/ticket', 'cron_used_tickets_reset.php', '1 DAY', '1', 'cron_ticketsreset');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (7, 'froxlor/ticket', 'cron_used_tickets_reset.php', '1 DAY', '1', 'cron_ticketsreset');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (7, 'froxlor/ticket', 'cron_ticketarchive.php', '1 MONTH', '1', 'cron_ticketarchive');
|
||||||
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (8, 'froxlor/ticket', 'cron_ticketarchive.php', '1 MONTH', '1', 'cron_ticketarchive');
|
INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `isactive`, `desc_lng_key`) VALUES (8, 'froxlor/reports', 'cron_usage_report.php', '1 DAY', '1', 'cron_usage_report');
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
|
|
||||||
@@ -1080,3 +1105,30 @@ CREATE TABLE IF NOT EXISTS `domain_redirect_codes` (
|
|||||||
`did` int(11) unsigned NOT NULL,
|
`did` int(11) unsigned NOT NULL,
|
||||||
UNIQUE KEY `rc` (`rid`, `did`)
|
UNIQUE KEY `rc` (`rid`, `did`)
|
||||||
) ENGINE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tabellenstruktur fuer Tabelle `ipsandports_docrootsettings`
|
||||||
|
#
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `ipsandports_docrootsettings`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `ipsandports_docrootsettings` (
|
||||||
|
`id` int(5) NOT NULL auto_increment,
|
||||||
|
`fid` int(11) NOT NULL,
|
||||||
|
`docrootsettings` text NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tabellenstruktur fuer Tabelle `domain_docrootsettings`
|
||||||
|
#
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `domain_docrootsettings`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `domain_docrootsettings` (
|
||||||
|
`id` int(5) NOT NULL auto_increment,
|
||||||
|
`fid` int(11) NOT NULL,
|
||||||
|
`docrootsettings` text NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,12 @@
|
|||||||
* installer, (c) 1999 - 2004 phpBB Group.
|
* installer, (c) 1999 - 2004 phpBB Group.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// ensure that default timezone is set
|
||||||
|
if(function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get"))
|
||||||
|
{
|
||||||
|
@date_default_timezone_set(@date_default_timezone_get());
|
||||||
|
}
|
||||||
|
|
||||||
if(file_exists('../lib/userdata.inc.php'))
|
if(file_exists('../lib/userdata.inc.php'))
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -206,6 +212,20 @@ function requirement_checks()
|
|||||||
{
|
{
|
||||||
status_message('green', 'OK');
|
status_message('green', 'OK');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
status_message('begin', $lng['install']['phpxml']);
|
||||||
|
|
||||||
|
if(!extension_loaded('xml'))
|
||||||
|
{
|
||||||
|
status_message('red', $lng['install']['notinstalled']);
|
||||||
|
$_die = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
status_message('green', 'OK');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
status_message('begin', $lng['install']['phpfilter']);
|
status_message('begin', $lng['install']['phpfilter']);
|
||||||
|
|
||||||
@@ -443,6 +463,11 @@ else
|
|||||||
{
|
{
|
||||||
$webserver = 'lighttpd';
|
$webserver = 'lighttpd';
|
||||||
}
|
}
|
||||||
|
elseif(substr(strtoupper(@php_sapi_name()), 0, 8) == "NGINX"
|
||||||
|
|| stristr($_SERVER['SERVER_SOFTWARE'], "nginx"))
|
||||||
|
{
|
||||||
|
$webserver = 'nginx';
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// we don't need to bail out, since unknown does not affect any critical installation routines
|
// we don't need to bail out, since unknown does not affect any critical installation routines
|
||||||
@@ -665,6 +690,14 @@ if(isset($_POST['installstep'])
|
|||||||
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/lighttpd/lighttpd.pem' WHERE `settinggroup` = 'system' AND `varname` = 'ssl_cert_file'");
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/lighttpd/lighttpd.pem' WHERE `settinggroup` = 'system' AND `varname` = 'ssl_cert_file'");
|
||||||
$ssettings = '';
|
$ssettings = '';
|
||||||
}
|
}
|
||||||
|
elseif($webserver == "nginx")
|
||||||
|
{
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/nginx/sites-enabled/' WHERE `settinggroup` = 'system' AND `varname` = 'apacheconf_vhost'");
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/nginx/sites-enabled/' WHERE `settinggroup` = 'system' AND `varname` = 'apacheconf_diroptions'");
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/nginx/froxlor-htpasswd/' WHERE `settinggroup` = 'system' AND `varname` = 'apacheconf_htpasswddir'");
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/init.d/nginx reload' WHERE `settinggroup` = 'system' AND `varname` = 'apachereload_command'");
|
||||||
|
$ssettings = '';
|
||||||
|
}
|
||||||
|
|
||||||
// insert the lastcronrun to be the installation date
|
// insert the lastcronrun to be the installation date
|
||||||
|
|
||||||
@@ -705,6 +738,7 @@ if(isset($_POST['installstep'])
|
|||||||
`password` = '" . md5($admin_pass1) . "',
|
`password` = '" . md5($admin_pass1) . "',
|
||||||
`name` = 'Siteadmin',
|
`name` = 'Siteadmin',
|
||||||
`email` = 'admin@" . $db->escape($servername) . "',
|
`email` = 'admin@" . $db->escape($servername) . "',
|
||||||
|
`def_language` = '". $db->escape($languages[$language]) . "',
|
||||||
`customers` = -1,
|
`customers` = -1,
|
||||||
`customers_used` = 0,
|
`customers_used` = 0,
|
||||||
`customers_see_all` = 1,
|
`customers_see_all` = 1,
|
||||||
@@ -894,7 +928,7 @@ else
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $webserver == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['webserver']; ?>:</td>
|
<td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $webserver == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['webserver']; ?>:</td>
|
||||||
<td class="main_field_display"><input type="radio" name="webserver" value="apache2" <?php echo $webserver == "apache2" ? 'checked="checked"' : "" ?>/>Apache2 <br /><input type="radio" name="webserver" value="lighttpd" <?php echo $webserver == "lighttpd" ? 'checked="checked"' : "" ?>/>Lighttpd</td>
|
<td class="main_field_display"><input type="radio" name="webserver" value="apache2" <?php echo $webserver == "apache2" ? 'checked="checked"' : "" ?>/>Apache2 <br /><input type="radio" name="webserver" value="lighttpd" <?php echo $webserver == "lighttpd" ? 'checked="checked"' : "" ?>/>Lighttpd2 <br /><input type="radio" name="webserver" value="nginx" <?php echo $webserver == "nginx" ? 'checked="checked"' : "" ?>/>Nginx</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $serverip == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['httpuser']; ?>:</td>
|
<td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $serverip == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['httpuser']; ?>:</td>
|
||||||
|
|||||||
@@ -97,5 +97,5 @@ $lng['install']['froxlor_succ_checks'] = 'All requirements are satisfied';
|
|||||||
$lng['install']['phpmagic_quotes_runtime'] = 'Checking whether magic_quotes_runtime is off';
|
$lng['install']['phpmagic_quotes_runtime'] = 'Checking whether magic_quotes_runtime is off';
|
||||||
$lng['install']['active'] = 'no';
|
$lng['install']['active'] = 'no';
|
||||||
$lng['install']['phpmagic_quotes_runtime_description'] = 'PHP setting "magic_quotes_runtime" must be set to "Off" in order to avoid strange behavior of Froxlor. Disabling it for now (this is only temporary, please fix our php.ini).';
|
$lng['install']['phpmagic_quotes_runtime_description'] = 'PHP setting "magic_quotes_runtime" must be set to "Off" in order to avoid strange behavior of Froxlor. Disabling it for now (this is only temporary, please fix our php.ini).';
|
||||||
|
$lng['install']['phpxml'] = 'Testing if PHP XML-extension is installed...';
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -68,4 +68,5 @@ $lng['install']['httpgroup'] = 'Nom du la group du HTTP';
|
|||||||
|
|
||||||
$lng['install']['webserver'] = 'Version du serveur';
|
$lng['install']['webserver'] = 'Version du serveur';
|
||||||
|
|
||||||
|
$lng['install']['phpxml'] = 'Tester si PHP XML-extension est install<6C>e...';
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -97,5 +97,5 @@ $lng['install']['froxlor_succ_checks'] = 'Alle Vorraussetzungen sind erfüll
|
|||||||
$lng['install']['phpmagic_quotes_runtime'] = 'Prüfe ob magic_quotes_runtime ausgeschalten ist';
|
$lng['install']['phpmagic_quotes_runtime'] = 'Prüfe ob magic_quotes_runtime ausgeschalten ist';
|
||||||
$lng['install']['active'] = 'nein';
|
$lng['install']['active'] = 'nein';
|
||||||
$lng['install']['phpmagic_quotes_runtime_description'] = 'Die PHP Einstellung "magic_quotes_runtime" muss deaktiviert sein ("Off"), um merkwürdige Verhalten von Froxlor zu umgehen. Sie wurde deaktiviert (nur temporär, bitte php.ini anpassen).';
|
$lng['install']['phpmagic_quotes_runtime_description'] = 'Die PHP Einstellung "magic_quotes_runtime" muss deaktiviert sein ("Off"), um merkwürdige Verhalten von Froxlor zu umgehen. Sie wurde deaktiviert (nur temporär, bitte php.ini anpassen).';
|
||||||
|
$lng['install']['phpxml'] = 'Teste, ob die PHP XML-Erweiterung installiert ist...';
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ if(isFroxlorVersion('0.9-r1'))
|
|||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('spf', 'spf_entry', '@ IN TXT \"v=spf1 a mx -all\"');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('spf', 'spf_entry', '@ IN TXT \"v=spf1 a mx -all\"');");
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `varname` = 'froxlor_graphic' WHERE `varname` = 'syscp_graphic'");
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `varname` = 'froxlor_graphic' WHERE `varname` = 'syscp_graphic'");
|
||||||
if(isset($settings['admin']['syscp_graphic'])
|
if(isset($settings['admin']['syscp_graphic'])
|
||||||
&& $settings['admin']['syscp_graphic'] != ''
|
&& $settings['admin']['syscp_graphic'] != ''
|
||||||
){
|
){
|
||||||
$settings['admin']['froxlor_graphic'] = $settings['admin']['syscp_graphic'];
|
$settings['admin']['froxlor_graphic'] = $settings['admin']['syscp_graphic'];
|
||||||
}
|
}
|
||||||
@@ -305,8 +305,8 @@ if(isFroxlorVersion('0.9.1'))
|
|||||||
$result = $db->query_first("SELECT MAX(`guid`) as `latestguid` FROM `".TABLE_PANEL_CUSTOMERS."`");
|
$result = $db->query_first("SELECT MAX(`guid`) as `latestguid` FROM `".TABLE_PANEL_CUSTOMERS."`");
|
||||||
|
|
||||||
if (isset($result['latestguid'])
|
if (isset($result['latestguid'])
|
||||||
&& (int)$result['latestguid'] > 0
|
&& (int)$result['latestguid'] > 0
|
||||||
&& $result['latestguid'] != $settings['system']['lastguid']
|
&& $result['latestguid'] != $settings['system']['lastguid']
|
||||||
) {
|
) {
|
||||||
checkLastGuid();
|
checkLastGuid();
|
||||||
lastStepStatus(1, 'fixed');
|
lastStepStatus(1, 'fixed');
|
||||||
@@ -411,7 +411,7 @@ if(isFroxlorVersion('0.9.4'))
|
|||||||
* To not confuse Froxlor, we just update old settings.
|
* To not confuse Froxlor, we just update old settings.
|
||||||
*/
|
*/
|
||||||
if(isset($settings['system']['awstats_path'])
|
if(isset($settings['system']['awstats_path'])
|
||||||
&& $settings['system']['awstats_path'] != ''
|
&& $settings['system']['awstats_path'] != ''
|
||||||
) {
|
) {
|
||||||
showUpdateStep("Updating awstats path setting");
|
showUpdateStep("Updating awstats path setting");
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/usr/bin/' WHERE `settinggroup` = 'system' AND `varname` = 'awstats_path';");
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/usr/bin/' WHERE `settinggroup` = 'system' AND `varname` = 'awstats_path';");
|
||||||
@@ -425,7 +425,7 @@ if(isFroxlorVersion('0.9.4'))
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(isset($settings['system']['awstats_domain_file'])
|
if(isset($settings['system']['awstats_domain_file'])
|
||||||
&& $settings['system']['awstats_domain_file'] != ''
|
&& $settings['system']['awstats_domain_file'] != ''
|
||||||
) {
|
) {
|
||||||
showUpdateStep("Updating awstats configuration path setting");
|
showUpdateStep("Updating awstats configuration path setting");
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `varname` = 'awstats_conf' WHERE `varname` = 'awstats_domain_file';");
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `varname` = 'awstats_conf' WHERE `varname` = 'awstats_domain_file';");
|
||||||
@@ -543,28 +543,28 @@ if(isFroxlorVersion('0.9.6-svn2'))
|
|||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'enabled', '1');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'enabled', '1');");
|
||||||
|
|
||||||
if(isset($_POST['update_deferr_500'])
|
if(isset($_POST['update_deferr_500'])
|
||||||
&& trim($_POST['update_deferr_500']) != ''
|
&& trim($_POST['update_deferr_500']) != ''
|
||||||
) {
|
) {
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err500', '".$db->escape($_POST['update_deferr_500'])."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err500', '".$db->escape($_POST['update_deferr_500'])."');");
|
||||||
$err500 = true;
|
$err500 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_POST['update_deferr_401'])
|
if(isset($_POST['update_deferr_401'])
|
||||||
&& trim($_POST['update_deferr_401']) != ''
|
&& trim($_POST['update_deferr_401']) != ''
|
||||||
) {
|
) {
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err401', '".$db->escape($_POST['update_deferr_401'])."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err401', '".$db->escape($_POST['update_deferr_401'])."');");
|
||||||
$err401 = true;
|
$err401 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_POST['update_deferr_403'])
|
if(isset($_POST['update_deferr_403'])
|
||||||
&& trim($_POST['update_deferr_403']) != ''
|
&& trim($_POST['update_deferr_403']) != ''
|
||||||
) {
|
) {
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err403', '".$db->escape($_POST['update_deferr_403'])."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err403', '".$db->escape($_POST['update_deferr_403'])."');");
|
||||||
$err403 = true;
|
$err403 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_POST['update_deferr_404'])
|
if(isset($_POST['update_deferr_404'])
|
||||||
&& trim($_POST['update_deferr_404']) != ''
|
&& trim($_POST['update_deferr_404']) != ''
|
||||||
) {
|
) {
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err404', '".$db->escape($_POST['update_deferr_404'])."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err404', '".$db->escape($_POST['update_deferr_404'])."');");
|
||||||
$err404 = true;
|
$err404 = true;
|
||||||
@@ -749,7 +749,7 @@ if(isFroxlorVersion('0.9.7-svn2'))
|
|||||||
showUpdateStep("Updating database tables");
|
showUpdateStep("Updating database tables");
|
||||||
$db->query("ALTER TABLE `redirect_codes` ADD `desc` varchar(200) NOT NULL AFTER `code`;");
|
$db->query("ALTER TABLE `redirect_codes` ADD `desc` varchar(200) NOT NULL AFTER `code`;");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
|
|
||||||
showUpdateStep("Updating field-values");
|
showUpdateStep("Updating field-values");
|
||||||
$db->query("UPDATE `redirect_codes` SET `desc` = 'rc_default' WHERE `code` = '---';");
|
$db->query("UPDATE `redirect_codes` SET `desc` = 'rc_default' WHERE `code` = '---';");
|
||||||
$db->query("UPDATE `redirect_codes` SET `desc` = 'rc_movedperm' WHERE `code` = '301';");
|
$db->query("UPDATE `redirect_codes` SET `desc` = 'rc_movedperm' WHERE `code` = '301';");
|
||||||
@@ -798,10 +798,10 @@ if(isFroxlorVersion('0.9.9-svn1'))
|
|||||||
if(isFroxlorVersion('0.9.9'))
|
if(isFroxlorVersion('0.9.9'))
|
||||||
{
|
{
|
||||||
showUpdateStep("Updating from 0.9.9 to 0.9.10-svn1", false);
|
showUpdateStep("Updating from 0.9.9 to 0.9.10-svn1", false);
|
||||||
|
|
||||||
showUpdateStep("Checking whether you are missing any settings", false);
|
showUpdateStep("Checking whether you are missing any settings", false);
|
||||||
$nonefound = true;
|
$nonefound = true;
|
||||||
|
|
||||||
$update_httpuser = isset($_POST['update_httpuser']) ? $_POST['update_httpuser'] : false;
|
$update_httpuser = isset($_POST['update_httpuser']) ? $_POST['update_httpuser'] : false;
|
||||||
$update_httpgroup = isset($_POST['update_httpgroup']) ? $_POST['update_httpgroup'] : false;
|
$update_httpgroup = isset($_POST['update_httpgroup']) ? $_POST['update_httpgroup'] : false;
|
||||||
|
|
||||||
@@ -829,7 +829,7 @@ if(isFroxlorVersion('0.9.9'))
|
|||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'debug_cron', '0');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'debug_cron', '0');");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($nonefound) {
|
if($nonefound) {
|
||||||
showUpdateStep("No missing settings found");
|
showUpdateStep("No missing settings found");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
@@ -841,7 +841,7 @@ if(isFroxlorVersion('0.9.9'))
|
|||||||
if(isFroxlorVersion('0.9.10-svn1'))
|
if(isFroxlorVersion('0.9.10-svn1'))
|
||||||
{
|
{
|
||||||
showUpdateStep("Updating from 0.9.10-svn1 to 0.9.10-svn2", false);
|
showUpdateStep("Updating from 0.9.10-svn1 to 0.9.10-svn2", false);
|
||||||
|
|
||||||
showUpdateStep("Updating database table definition for panel_databases");
|
showUpdateStep("Updating database table definition for panel_databases");
|
||||||
$db->query("ALTER TABLE `" . TABLE_PANEL_DATABASES . "` ADD `apsdb` tinyint(1) NOT NULL default '0' AFTER `dbserver`;");
|
$db->query("ALTER TABLE `" . TABLE_PANEL_DATABASES . "` ADD `apsdb` tinyint(1) NOT NULL default '0' AFTER `dbserver`;");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
@@ -852,7 +852,7 @@ if(isFroxlorVersion('0.9.10-svn1'))
|
|||||||
openRootDB();
|
openRootDB();
|
||||||
$result = $db_root->query("SHOW DATABASES;");
|
$result = $db_root->query("SHOW DATABASES;");
|
||||||
while($row = $db_root->fetch_array($result))
|
while($row = $db_root->fetch_array($result))
|
||||||
{
|
{
|
||||||
if(preg_match('/^web([0-9]+)aps([0-9]+)$/', $row['Database'], $matches))
|
if(preg_match('/^web([0-9]+)aps([0-9]+)$/', $row['Database'], $matches))
|
||||||
{
|
{
|
||||||
$cid = $matches[1];
|
$cid = $matches[1];
|
||||||
@@ -937,7 +937,7 @@ if(isFroxlorVersion('0.9.11'))
|
|||||||
|
|
||||||
$update_fcgid_ownvhost = isset($_POST['update_fcgid_ownvhost']) ? (int)$_POST['update_fcgid_ownvhost'] : '0';
|
$update_fcgid_ownvhost = isset($_POST['update_fcgid_ownvhost']) ? (int)$_POST['update_fcgid_ownvhost'] : '0';
|
||||||
$update_fcgid_httpuser = isset($_POST['update_fcgid_httpuser']) ? $_POST['update_fcgid_httpuser'] : 'froxlorlocal';
|
$update_fcgid_httpuser = isset($_POST['update_fcgid_httpuser']) ? $_POST['update_fcgid_httpuser'] : 'froxlorlocal';
|
||||||
$update_fcgid_httpgroup = isset($_POST['update_fcgid_ownvhost']) ? $_POST['update_fcgid_ownvhost'] : 'froxlorlocal';
|
$update_fcgid_httpgroup = isset($_POST['update_fcgid_httpgroup']) ? $_POST['update_fcgid_httpgroup'] : 'froxlorlocal';
|
||||||
|
|
||||||
if($update_fcgid_httpuser == '') {
|
if($update_fcgid_httpuser == '') {
|
||||||
$update_fcgid_httpuser = 'froxlorlocal';
|
$update_fcgid_httpuser = 'froxlorlocal';
|
||||||
@@ -945,7 +945,7 @@ if(isFroxlorVersion('0.9.11'))
|
|||||||
if($update_fcgid_httpgroup == '') {
|
if($update_fcgid_httpgroup == '') {
|
||||||
$update_fcgid_httpgroup = 'froxlorlocal';
|
$update_fcgid_httpgroup = 'froxlorlocal';
|
||||||
}
|
}
|
||||||
|
|
||||||
showUpdateStep("Adding new settings");
|
showUpdateStep("Adding new settings");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_ownvhost', '".$db->escape($update_fcgid_ownvhost)."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_ownvhost', '".$db->escape($update_fcgid_ownvhost)."');");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_httpuser', '".$db->escape($update_fcgid_httpuser)."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_httpuser', '".$db->escape($update_fcgid_httpuser)."');");
|
||||||
@@ -965,7 +965,7 @@ if(isFroxlorVersion('0.9.12-svn1'))
|
|||||||
if($update_perl_suexecpath == '') {
|
if($update_perl_suexecpath == '') {
|
||||||
$update_perl_suexecpath = '/var/www/cgi-bin/';
|
$update_perl_suexecpath = '/var/www/cgi-bin/';
|
||||||
}
|
}
|
||||||
|
|
||||||
showUpdateStep("Adding new settings for perl/CGI");
|
showUpdateStep("Adding new settings for perl/CGI");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('perl', 'suexecworkaround', '".$db->escape($update_perl_suexecworkaround)."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('perl', 'suexecworkaround', '".$db->escape($update_perl_suexecworkaround)."');");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('perl', 'suexecpath', '".$db->escape($update_perl_suexecpath)."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('perl', 'suexecpath', '".$db->escape($update_perl_suexecpath)."');");
|
||||||
@@ -988,8 +988,8 @@ if(isFroxlorVersion('0.9.12-svn2'))
|
|||||||
if(isFroxlorVersion('0.9.12-svn3'))
|
if(isFroxlorVersion('0.9.12-svn3'))
|
||||||
{
|
{
|
||||||
showUpdateStep("Updating from 0.9.12-svn3 to 0.9.12-svn4", false);
|
showUpdateStep("Updating from 0.9.12-svn3 to 0.9.12-svn4", false);
|
||||||
|
|
||||||
$update_awstats_awstatspath = isset($_POST['update_awstats_awstatspath']) ? makeCorrectDir($_POST['update_awstats_awstatspath']) : $settings['system']['awstats_path'];
|
$update_awstats_awstatspath = isset($_POST['update_awstats_awstatspath']) ? makeCorrectDir($_POST['update_awstats_awstatspath']) : $settings['system']['awstats_path'];
|
||||||
|
|
||||||
showUpdateStep("Adding new settings for awstats");
|
showUpdateStep("Adding new settings for awstats");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_awstatspath', '".$db->escape($update_awstats_awstatspath)."');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_awstatspath', '".$db->escape($update_awstats_awstatspath)."');");
|
||||||
@@ -1000,7 +1000,7 @@ if(isFroxlorVersion('0.9.12-svn3'))
|
|||||||
|
|
||||||
if(isFroxlorVersion('0.9.12-svn4'))
|
if(isFroxlorVersion('0.9.12-svn4'))
|
||||||
{
|
{
|
||||||
showUpdateStep("Updating from 0.9.12-svn4 to 0.9.12-svn5", false);
|
showUpdateStep("Updating from 0.9.12-svn4 to 0.9.12-svn5", false);
|
||||||
|
|
||||||
showUpdateStep("Setting ticket-usage-reset cronjob interval to 1 day");
|
showUpdateStep("Setting ticket-usage-reset cronjob interval to 1 day");
|
||||||
$db->query("UPDATE `cronjobs_run` SET `interval`='1 DAY' WHERE `cronfile`='cron_used_tickets_reset.php';");
|
$db->query("UPDATE `cronjobs_run` SET `interval`='1 DAY' WHERE `cronfile`='cron_used_tickets_reset.php';");
|
||||||
@@ -1011,7 +1011,7 @@ if(isFroxlorVersion('0.9.12-svn4'))
|
|||||||
|
|
||||||
if(isFroxlorVersion('0.9.12-svn5'))
|
if(isFroxlorVersion('0.9.12-svn5'))
|
||||||
{
|
{
|
||||||
showUpdateStep("Updating from 0.9.12-svn5 to 0.9.12-svn6", false);
|
showUpdateStep("Updating from 0.9.12-svn5 to 0.9.12-svn6", false);
|
||||||
|
|
||||||
showUpdateStep("Adding new field to table 'panel_htpasswds'");
|
showUpdateStep("Adding new field to table 'panel_htpasswds'");
|
||||||
$db->query("ALTER TABLE `".TABLE_PANEL_HTPASSWDS."` ADD `authname` varchar(255) NOT NULL default 'Restricted Area' AFTER `password`;");
|
$db->query("ALTER TABLE `".TABLE_PANEL_HTPASSWDS."` ADD `authname` varchar(255) NOT NULL default 'Restricted Area' AFTER `password`;");
|
||||||
@@ -1036,12 +1036,12 @@ if(isFroxlorVersion('0.9.12'))
|
|||||||
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `email_autoresponder` int(5) NOT NULL default '0' AFTER `aps_packages_used`;");
|
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `email_autoresponder` int(5) NOT NULL default '0' AFTER `aps_packages_used`;");
|
||||||
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `email_autoresponder_used` int(5) NOT NULL default '0' AFTER `email_autoresponder`;");
|
$db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `email_autoresponder_used` int(5) NOT NULL default '0' AFTER `email_autoresponder`;");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
|
|
||||||
showUpdateStep("Adding new fields to customer-table");
|
showUpdateStep("Adding new fields to customer-table");
|
||||||
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `email_autoresponder` int(5) NOT NULL default '0' AFTER `perlenabled`;");
|
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `email_autoresponder` int(5) NOT NULL default '0' AFTER `perlenabled`;");
|
||||||
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `email_autoresponder_used` int(5) NOT NULL default '0' AFTER `email_autoresponder`;");
|
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `email_autoresponder_used` int(5) NOT NULL default '0' AFTER `email_autoresponder`;");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
|
|
||||||
if((int)$settings['autoresponder']['autoresponder_active'] == 1)
|
if((int)$settings['autoresponder']['autoresponder_active'] == 1)
|
||||||
{
|
{
|
||||||
$update_autoresponder_default = isset($_POST['update_autoresponder_default']) ? intval_ressource($_POST['update_autoresponder_default']) : 0;
|
$update_autoresponder_default = isset($_POST['update_autoresponder_default']) ? intval_ressource($_POST['update_autoresponder_default']) : 0;
|
||||||
@@ -1072,3 +1072,350 @@ if(isFroxlorVersion('0.9.13-svn1'))
|
|||||||
|
|
||||||
updateToVersion('0.9.13');
|
updateToVersion('0.9.13');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.13'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.13 to 0.9.13.1 final", false);
|
||||||
|
|
||||||
|
$update_defaultini_ownvhost = isset($_POST['update_defaultini_ownvhost']) ? (int)$_POST['update_defaultini_ownvhost'] : 1;
|
||||||
|
|
||||||
|
showUpdateStep("Adding settings for Froxlor-vhost's PHP-configuration");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_defaultini_ownvhost', '".(int)$update_defaultini_ownvhost."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.13.1');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* be compatible with the few who already use 0.9.14-svn1
|
||||||
|
*/
|
||||||
|
if(isFroxlorVersion('0.9.14-svn1'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Resetting version 0.9.14-svn1 to 0.9.13.1");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.13.1');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.13.1'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.13.1 to 0.9.14-svn2", false);
|
||||||
|
|
||||||
|
if($settings['ticket']['enabled'] == '1')
|
||||||
|
{
|
||||||
|
showUpdateStep("Setting INTERVAL for used-tickets cronjob");
|
||||||
|
setCycleOfCronjob(null, null, $settings['ticket']['reset_cycle'], null);
|
||||||
|
lastStepStatus(0);
|
||||||
|
}
|
||||||
|
updateToVersion('0.9.14-svn2');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14-svn2'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14-svn2 to 0.9.14-svn3", false);
|
||||||
|
|
||||||
|
$update_awstats_icons = isset($_POST['update_awstats_icons']) ? makeCorrectDir($_POST['update_awstats_icons']) : $settings['system']['awstats_icons'];
|
||||||
|
|
||||||
|
showUpdateStep("Adding AWStats icons path to the settings");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_icons', '".$db->escape($update_awstats_icons)."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14-svn3');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14-svn3'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14-svn3 to 0.9.14-svn4", false);
|
||||||
|
|
||||||
|
$update_ssl_cert_chainfile = isset($_POST['update_ssl_cert_chainfile']) ? $_POST['update_ssl_cert_chainfile'] : '';
|
||||||
|
|
||||||
|
if($update_ssl_cert_chainfile != '')
|
||||||
|
{
|
||||||
|
$update_ssl_cert_chainfile = makeCorrectFile($update_ssl_cert_chainfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
showUpdateStep("Adding SSLCertificateChainFile to the settings");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'ssl_cert_chainfile', '".$db->escape($update_ssl_cert_chainfile)."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
showUpdateStep("Adding new field to IPs and ports for SSLCertificateChainFile");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_IPSANDPORTS."` ADD `ssl_cert_chainfile` varchar(255) NOT NULL AFTER `default_vhostconf_domain`;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14-svn4');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14-svn4'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14-svn4 to 0.9.14-svn5", false);
|
||||||
|
|
||||||
|
showUpdateStep("Adding docroot-field to IPs and ports for custom-docroot settings");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_IPSANDPORTS."` ADD `docroot` varchar(255) NOT NULL default '' AFTER `ssl_cert_chainfile`;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14-svn5');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14-svn5'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14-svn5 to 0.9.14-svn6", false);
|
||||||
|
|
||||||
|
$update_allow_domain_login = isset($_POST['update_allow_domain_login']) ? (int)$_POST['update_allow_domain_login'] : '0';
|
||||||
|
|
||||||
|
showUpdateStep("Adding domain-login switch to the settings");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('login', 'domain_login', '".(int)$update_allow_domain_login."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14-svn6');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14-svn6'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14-svn6 to 0.9.14-svn10", false);
|
||||||
|
|
||||||
|
// remove deprecated realtime-feature
|
||||||
|
showUpdateStep("Removing realtime-feature (deprecated)");
|
||||||
|
$db->query("DELETE FROM `" . TABLE_PANEL_SETTINGS . "` WHERE `settinggroup` = 'system' AND `varname` = 'realtime_port';");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
// remove deprecated panel_navigation
|
||||||
|
showUpdateStep("Removing table `panel_navigation` (deprecated)");
|
||||||
|
$db->query("DROP TABLE IF EXISTS `panel_navigation`;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
// remove deprecated panel_cronscript
|
||||||
|
showUpdateStep("Removing table `panel_cronscript` (deprecated)");
|
||||||
|
$db->query("DROP TABLE IF EXISTS `panel_cronscript`;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
// make ticket-system ipv6 compatible
|
||||||
|
showUpdateStep("Altering IP field in panel_tickets (IPv6 compatibility)");
|
||||||
|
$db->query("ALTER TABLE `" . TABLE_PANEL_TICKETS . "` MODIFY `ip` varchar(39) NOT NULL default '';");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
showUpdateStep("Removing deprecated legacy-cronjob from database");
|
||||||
|
$db->query("DELETE FROM `".TABLE_PANEL_CRONRUNS."` WHERE `cronfile` ='cron_legacy.php';");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14-svn10');
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* revert database changes we did for multiserver-support
|
||||||
|
* before branching - sorry guys :/
|
||||||
|
*/
|
||||||
|
if(isFroxlorVersion('0.9.14-svn9'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Reverting multiserver-patches (svn)", false);
|
||||||
|
|
||||||
|
$update_allow_domain_login = isset($_POST['update_allow_domain_login']) ? (int)$_POST['update_allow_domain_login'] : '0';
|
||||||
|
|
||||||
|
showUpdateStep("Reverting database table-changes");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_SETTINGS."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_MAIL_VIRTUAL."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_FTP_USERS."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_TASKS."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_APS_TASKS."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_LOG."` DROP `sid`;");
|
||||||
|
|
||||||
|
showUpdateStep(".");
|
||||||
|
$db->query("ALTER TABLE `".TABLE_PANEL_PHPCONFIGS."` DROP `sid`;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
showUpdateStep("Removing froxlor-clients table");
|
||||||
|
$db->query("DROP TABLE IF EXISTS `froxlor_clients`");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14-svn10');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14-svn10'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14-svn10 to 0.9.14 final");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.14');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.14'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.14 to 0.9.15-svn1", false);
|
||||||
|
|
||||||
|
showUpdateStep("Adding new settings for Nginx support");
|
||||||
|
$db->query("INSERT INTO `".TABLE_PANEL_SETTINGS."` (`settinggroup`, `varname`, `value`) VALUES ('system', 'nginx_php_backend', '127.0.0.1:8888')");
|
||||||
|
$db->query("INSERT INTO `".TABLE_PANEL_SETTINGS."` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock')");
|
||||||
|
$db->query("INSERT INTO `".TABLE_PANEL_SETTINGS."` (`settinggroup`, `varname`, `value`) VALUES ('system', 'phpreload_command', '')");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.15-svn1');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.15-svn1'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.15-svn1 to 0.9.15 final");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.15');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.15'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.15 to 0.9.16-svn1", false);
|
||||||
|
|
||||||
|
$update_phpfpm_enabled = isset($_POST['update_phpfpm_enabled']) ? (int)$_POST['update_phpfpm_enabled'] : '0';
|
||||||
|
$update_phpfpm_configdir = isset($_POST['update_phpfpm_configdir']) ? makeCorrectDir($_POST['update_phpfpm_configdir']) : '/etc/php-fpm.d/';
|
||||||
|
$update_phpfpm_tmpdir = isset($_POST['update_phpfpm_tmpdir']) ? makeCorrectDir($_POST['update_phpfpm_tmpdir']) : '/var/customers/tmp';
|
||||||
|
$update_phpfpm_peardir = isset($_POST['update_phpfpm_peardir']) ? makeCorrectDir($_POST['update_phpfpm_peardir']) : '/usr/share/php/:/usr/share/php5/';
|
||||||
|
$update_phpfpm_reload = isset($_POST['update_phpfpm_reload']) ? $_POST['update_phpfpm_reload'] : '/etc/init.d/php-fpm restart';
|
||||||
|
|
||||||
|
$update_phpfpm_pm = isset($_POST['update_phpfpm_pm']) ? $_POST['update_phpfpm_pm'] : 'static';
|
||||||
|
$update_phpfpm_max_children = isset($_POST['update_phpfpm_max_children']) ? (int)$_POST['update_phpfpm_max_children'] : '1';
|
||||||
|
$update_phpfpm_max_requests = isset($_POST['update_phpfpm_max_requests']) ? (int)$_POST['update_phpfpm_max_requests'] : '0';
|
||||||
|
|
||||||
|
if($update_phpfpm_pm == 'dynamic')
|
||||||
|
{
|
||||||
|
$update_phpfpm_start_servers = isset($_POST['update_phpfpm_start_servers']) ? (int)$_POST['update_phpfpm_start_servers'] : '20';
|
||||||
|
$update_phpfpm_min_spare_servers = isset($_POST['update_phpfpm_min_spare_servers']) ? (int)$_POST['update_phpfpm_min_spare_servers'] : '5';
|
||||||
|
$update_phpfpm_max_spare_servers = isset($_POST['update_phpfpm_max_spare_servers']) ? (int)$_POST['update_phpfpm_max_spare_servers'] : '35';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$update_phpfpm_start_servers = 20;
|
||||||
|
$update_phpfpm_min_spare_servers = 5;
|
||||||
|
$update_phpfpm_max_spare_servers = 35;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($update_phpfpm_configdir == '') {
|
||||||
|
$update_phpfpm_configdir = '/etc/php-fpm.d/';
|
||||||
|
}
|
||||||
|
if($update_phpfpm_reload == '') {
|
||||||
|
$update_phpfpm_reload = '/etc/init.d/php-fpm restart';
|
||||||
|
}
|
||||||
|
|
||||||
|
showUpdateStep("Adding new settings for PHP-FPM #1");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'enabled', '".(int)$update_phpfpm_enabled."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'configdir', '".$db->escape($update_phpfpm_configdir)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'reload', '".$db->escape($update_phpfpm_reload)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'pm', '".$db->escape($update_phpfpm_pm)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'max_children', '".(int)$update_phpfpm_max_children."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'max_requests', '".(int)$update_phpfpm_max_requests."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'start_servers', '".(int)$update_phpfpm_start_servers."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'min_spare_servers', '".(int)$update_phpfpm_min_spare_servers."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'max_spare_servers', '".(int)$update_phpfpm_max_spare_servers."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'tmpdir', '".$db->escape($update_phpfpm_tmpdir)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'peardir', '".$db->escape($update_phpfpm_peardir)."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.16-svn1');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.16-svn1'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.16-svn1 to 0.9.16-svn2", false);
|
||||||
|
|
||||||
|
$update_phpfpm_enabled_ownvhost = isset($_POST['update_phpfpm_enabled_ownvhost']) ? (int)$_POST['update_phpfpm_enabled_ownvhost'] : '0';
|
||||||
|
$update_phpfpm_httpuser = isset($_POST['update_phpfpm_httpuser']) ? $_POST['update_phpfpm_httpuser'] : 'froxlorlocal';
|
||||||
|
$update_phpfpm_httpgroup = isset($_POST['update_phpfpm_httpgroup']) ? $_POST['update_phpfpm_httpgroup'] : 'froxlorlocal';
|
||||||
|
|
||||||
|
if($update_phpfpm_httpuser == '') {
|
||||||
|
$update_phpfpm_httpuser = 'froxlorlocal';
|
||||||
|
}
|
||||||
|
if($update_phpfpm_httpgroup == '') {
|
||||||
|
$update_phpfpm_httpgroup = 'froxlorlocal';
|
||||||
|
}
|
||||||
|
|
||||||
|
showUpdateStep("Adding new settings for PHP-FPM #2");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'enabled_ownvhost', '".(int)$update_phpfpm_enabled_ownvhost."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'vhost_httpuser', '".$db->escape($update_phpfpm_httpuser)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'vhost_httpgroup', '".$db->escape($update_phpfpm_httpgroup)."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.16-svn2');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.16-svn2'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.16-svn2 to 0.9.16 final");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.16');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.16'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.16 to 0.9.17-svn1", false);
|
||||||
|
|
||||||
|
$update_system_report_enable = isset($_POST['update_system_report_enable']) ? (int)$_POST['update_system_report_enable'] : '1';
|
||||||
|
$update_system_report_webmax = isset($_POST['update_system_report_webmax']) ? (int)$_POST['update_system_report_webmax'] : '90';
|
||||||
|
$update_system_report_trafficmax = isset($_POST['update_system_report_trafficmax']) ? (int)$_POST['update_system_report_trafficmax'] : '90';
|
||||||
|
|
||||||
|
showUpdateStep("Adding new settings for web- and traffic-reporting");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'report_enable', '".(int)$update_system_report_enable."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'report_webmax', '".(int)$update_system_report_webmax."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'report_trafficmax', '".(int)$update_system_report_trafficmax."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
showUpdateStep("Adding new cron-module for web- and traffic-reporting");
|
||||||
|
$clastrun = mktime(6, 0, 0, date('m'), date('d') - 1, date('Y'));
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_CRONRUNS . "` SET `module`='froxlor/reports', `cronfile`='cron_usage_report.php', `lastrun`='".(int)$clastrun."', `interval`='1 DAY', `isactive`='".(int)$update_system_report_enable."', `desc_lng_key`='cron_usage_report';");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
showUpdateStep("Updating various database-fields");
|
||||||
|
$db->query("DELETE FROM `" . TABLE_PANEL_SETTINGS . "` WHERE `settinggroup`='system' AND `varname`='last_traffic_report_run';");
|
||||||
|
$check = $db->query_first("SELECT `varname` FROM `" . TABLE_PANEL_TEMPLATES . "` WHERE `varname`='trafficninetypercent_subject';");
|
||||||
|
if(isset($check['varname']) && $check['varname'] == 'trafficninetypercent_subject')
|
||||||
|
{
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_TEMPLATES . "` SET `varname` = 'trafficmaxpercent_subject' WHERE `varname`='trafficninetypercent_subject';");
|
||||||
|
}
|
||||||
|
$check = $db->query_first("SELECT `varname` FROM `" . TABLE_PANEL_TEMPLATES . "` WHERE `varname`='trafficninetypercent_mailbody';");
|
||||||
|
if(isset($check['varname']) && $check['varname'] == 'trafficninetypercent_mailbody')
|
||||||
|
{
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_TEMPLATES . "` SET `varname` = 'trafficmaxpercent_mailbody' WHERE `varname`='trafficninetypercent_mailbody';");
|
||||||
|
}
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.17-svn1');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.17-svn1'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.17-svn1 to 0.9.17-svn2", false);
|
||||||
|
|
||||||
|
showUpdateStep("Adding new tables to database");
|
||||||
|
$db->query("CREATE TABLE IF NOT EXISTS `ipsandports_docrootsettings` (
|
||||||
|
`id` int(5) NOT NULL auto_increment,
|
||||||
|
`fid` int(11) NOT NULL,
|
||||||
|
`docrootsettings` text NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=MyISAM;");
|
||||||
|
$db->query("CREATE TABLE IF NOT EXISTS `domain_docrootsettings` (
|
||||||
|
`id` int(5) NOT NULL auto_increment,
|
||||||
|
`fid` int(11) NOT NULL,
|
||||||
|
`docrootsettings` text NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=MyISAM;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.17-svn2');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.17-svn2'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.17-svn2 to 0.9.17 final");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.17');
|
||||||
|
}
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
|
|||||||
$question.= 'Local user: ';
|
$question.= 'Local user: ';
|
||||||
$question.= '<input type="text" class="text" name="update_fcgid_httpuser" value="froxlorlocal" /><br /><br />';
|
$question.= '<input type="text" class="text" name="update_fcgid_httpuser" value="froxlorlocal" /><br /><br />';
|
||||||
$question.= 'Local group: ';
|
$question.= 'Local group: ';
|
||||||
$question.= '<input type="text" class="text" name="update_fcgid_ownvhost" value="froxlorlocal" /><br />';
|
$question.= '<input type="text" class="text" name="update_fcgid_httpgroup" value="froxlorlocal" /><br />';
|
||||||
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -291,4 +291,128 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
|
|||||||
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.13.1'))
|
||||||
|
{
|
||||||
|
if((int)$settings['system']['mod_fcgid_ownvhost'] == 1)
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'You have FCGID for Froxlor itself activated. You can now specify a PHP-configuration for this.';
|
||||||
|
$question = '<strong>Select Froxlor-vhost PHP configuration:</strong> ';
|
||||||
|
$question .= '<select name="update_defaultini_ownvhost">';
|
||||||
|
$configs_array = getPhpConfigs();
|
||||||
|
$configs = '';
|
||||||
|
foreach($configs_array as $idx => $desc)
|
||||||
|
{
|
||||||
|
$configs .= makeoption($desc, $idx, '1');
|
||||||
|
}
|
||||||
|
$question .= $configs.'</select>';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.14-svn3'))
|
||||||
|
{
|
||||||
|
if((int)$settings['system']['awstats_enabled'] == 1)
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'To have icons in AWStats statistic-pages please enter the path to AWStats icons folder.';
|
||||||
|
$question = '<strong>Path to AWSTats icons folder:</strong> ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_awstats_icons" value="'.$settings['system']['awstats_icons'].'" />';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.14-svn4'))
|
||||||
|
{
|
||||||
|
if((int)$settings['system']['use_ssl'] == 1)
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'Froxlor now has the possibility to set \'SSLCertificateChainFile\' for the apache webserver.';
|
||||||
|
$question = '<strong>Enter filename (leave empty for none):</strong> ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_ssl_cert_chainfile" value="'.$settings['system']['ssl_cert_chainfile'].'" />';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.14-svn6'))
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'You can now allow customers to use any of their domains as username for the login.';
|
||||||
|
$question = '<strong>Do you want to enable domain-login for all customers?:</strong> ';
|
||||||
|
$question.= makeyesno('update_allow_domain_login', '1', '0', '0');
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.14-svn10'))
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = '<strong>This update removes the unsupported real-time option. Additionally the deprecated tables for navigation and cronscripts are removed, any modules using these tables need to be updated to the new structure!</strong>';
|
||||||
|
$question = '';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.16-svn1'))
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'Froxlor now features support for php-fpm.';
|
||||||
|
$question = '<strong>Do you want to enable php-fpm?:</strong> ';
|
||||||
|
$question.= makeyesno('update_phpfpm_enabled', '1', '0', '0').'<br /><br />';
|
||||||
|
$question.= 'If \'yes\', please specify the configuration directory: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_configdir" value="/etc/php-fpm.d/" /><br /><br />';
|
||||||
|
$question.= 'Please specify the temporary files directory: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_tmpdir" value="/var/customers/tmp/" /><br /><br />';
|
||||||
|
$question.= 'Please specify the PEAR directory: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_peardir" value="/usr/share/php/:/usr/share/php5/" /><br /><br />';
|
||||||
|
$question.= 'Please specify the php-fpm restart-command: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_reload" value="/etc/init.d/php-fpm restart" /><br /><br />';
|
||||||
|
$question.= 'Please specify the php-fpm rocess manager control: ';
|
||||||
|
$question.= '<select name="update_phpfpm_pm">';
|
||||||
|
$redirects = makeoption('static', 'static', 'static');
|
||||||
|
$redirects.= makeoption('dynamic', 'dynamic', 'static');
|
||||||
|
$question .= $redirects.'</select><br /><br />';
|
||||||
|
$question.= 'Please specify the number of child processes: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_max_children" value="1" /><br /><br />';
|
||||||
|
$question.= 'Please specify the number of requests per child before respawning: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_max_requests" value="0" /><br /><br />';
|
||||||
|
$question.= '<em>The following settings are only required if you chose process manager = dynamic</em><br /><br />';
|
||||||
|
$question.= 'Please specify the number of child processes created on startup: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_start_servers" value="20" /><br /><br />';
|
||||||
|
$question.= 'Please specify the desired minimum number of idle server processes: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_min_spare_servers" value="5" /><br /><br />';
|
||||||
|
$question.= 'Please specify the desired maximum number of idle server processes: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_max_spare_servers" value="35" /><br />';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.16-svn2'))
|
||||||
|
{
|
||||||
|
if((int)$settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'You can chose whether you want Froxlor to use PHP-FPM itself too now.';
|
||||||
|
$question = '<strong>Use PHP-FPM for the Froxlor Panel?:</strong> ';
|
||||||
|
$question.= makeyesno('update_phpfpm_enabled_ownvhost', '1', '0', '0').'<br /><br />';
|
||||||
|
$question.= '<strong>If \'yes\', please specify local user/group (have to exist, Froxlor does not add them automatically):</strong><br /><br />';
|
||||||
|
$question.= 'Local user: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_httpuser" value="'.$settings['system']['mod_fcgid_httpuser'].'" /><br /><br />';
|
||||||
|
$question.= 'Local group: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_phpfpm_httpgroup" value="'.$settings['system']['mod_fcgid_httpgroup'].'" /><br />';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.17-svn1'))
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'Select if you want to enable the web- and traffic-reports';
|
||||||
|
$question = '<strong>Enable?:</strong> ';
|
||||||
|
$question.= makeyesno('update_system_report_enable', '1', '0', '1').'<br /><br />';
|
||||||
|
$question.= '<strong>If \'yes\', please specify a percentage value for web- and traffic when reports are to be sent:</strong><br /><br />';
|
||||||
|
$question.= 'Webusage warning level: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_system_report_webmax" value="90" /><br /><br />';
|
||||||
|
$question.= 'Traffic warning level: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_system_report_trafficmax" value="90" /><br />';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ if($settings['panel']['version'] == '1.0.10')
|
|||||||
// Adding tables
|
// Adding tables
|
||||||
|
|
||||||
$db->query("DROP TABLE IF EXISTS `" . TABLE_PANEL_HTACCESS . "`;");
|
$db->query("DROP TABLE IF EXISTS `" . TABLE_PANEL_HTACCESS . "`;");
|
||||||
$db->query("CREATE TABLE `" . TABLE_PANEL_HTACCESS . "` (" . " `id` int(11) unsigned NOT NULL auto_increment," . " `customerid` int(11) unsigned NOT NULL default '0'," . " `path` varchar(255) NOT NULL default ''," . " `options_indexes` tinyint(1) NOT NULL default '0'," . " PRIMARY KEY (`id`)" . ") TYPE=MyISAM ;");
|
$db->query("CREATE TABLE `" . TABLE_PANEL_HTACCESS . "` (" . " `id` int(11) unsigned NOT NULL auto_increment," . " `customerid` int(11) unsigned NOT NULL default '0'," . " `path` varchar(255) NOT NULL default ''," . " `options_indexes` tinyint(1) NOT NULL default '0'," . " PRIMARY KEY (`id`)" . ") ENGINE=MyISAM ;");
|
||||||
$db->query("DROP TABLE IF EXISTS `" . TABLE_PANEL_ADMINS . "`;");
|
$db->query("DROP TABLE IF EXISTS `" . TABLE_PANEL_ADMINS . "`;");
|
||||||
$db->query("CREATE TABLE `" . TABLE_PANEL_ADMINS . "` (" . " `adminid` int(11) unsigned NOT NULL auto_increment," . " `loginname` varchar(50) NOT NULL default ''," . " `password` varchar(50) NOT NULL default ''," . " `name` varchar(255) NOT NULL default ''," . " `email` varchar(255) NOT NULL default ''," . " `customers` int(15) NOT NULL default '0'," . " `customers_used` int(15) NOT NULL default '0'," . " `customers_see_all` tinyint(1) NOT NULL default '0'," . " `domains` int(15) NOT NULL default '0'," . " `domains_used` int(15) NOT NULL default '0'," . " `domains_see_all` tinyint(1) NOT NULL default '0'," . " `change_serversettings` tinyint(1) NOT NULL default '0'," . " `diskspace` int(15) NOT NULL default '0'," . " `diskspace_used` int(15) NOT NULL default '0'," . " `mysqls` int(15) NOT NULL default '0'," . " `mysqls_used` int(15) NOT NULL default '0'," . " `emails` int(15) NOT NULL default '0'," . " `emails_used` int(15) NOT NULL default '0'," . " `email_forwarders` int(15) NOT NULL default '0'," . " `email_forwarders_used` int(15) NOT NULL default '0'," . " `ftps` int(15) NOT NULL default '0'," . " `ftps_used` int(15) NOT NULL default '0'," . " `subdomains` int(15) NOT NULL default '0'," . " `subdomains_used` int(15) NOT NULL default '0'," . " `traffic` int(15) NOT NULL default '0'," . " `traffic_used` int(15) NOT NULL default '0'," . " `deactivated` tinyint(1) NOT NULL default '0'," . " `lastlogin_succ` int(11) unsigned NOT NULL default '0'," . " `lastlogin_fail` int(11) unsigned NOT NULL default '0'," . " `loginfail_count` int(11) unsigned NOT NULL default '0'," . " PRIMARY KEY (`adminid`)" . ") TYPE=MyISAM ;");
|
$db->query("CREATE TABLE `" . TABLE_PANEL_ADMINS . "` (" . " `adminid` int(11) unsigned NOT NULL auto_increment," . " `loginname` varchar(50) NOT NULL default ''," . " `password` varchar(50) NOT NULL default ''," . " `name` varchar(255) NOT NULL default ''," . " `email` varchar(255) NOT NULL default ''," . " `customers` int(15) NOT NULL default '0'," . " `customers_used` int(15) NOT NULL default '0'," . " `customers_see_all` tinyint(1) NOT NULL default '0'," . " `domains` int(15) NOT NULL default '0'," . " `domains_used` int(15) NOT NULL default '0'," . " `domains_see_all` tinyint(1) NOT NULL default '0'," . " `change_serversettings` tinyint(1) NOT NULL default '0'," . " `diskspace` int(15) NOT NULL default '0'," . " `diskspace_used` int(15) NOT NULL default '0'," . " `mysqls` int(15) NOT NULL default '0'," . " `mysqls_used` int(15) NOT NULL default '0'," . " `emails` int(15) NOT NULL default '0'," . " `emails_used` int(15) NOT NULL default '0'," . " `email_forwarders` int(15) NOT NULL default '0'," . " `email_forwarders_used` int(15) NOT NULL default '0'," . " `ftps` int(15) NOT NULL default '0'," . " `ftps_used` int(15) NOT NULL default '0'," . " `subdomains` int(15) NOT NULL default '0'," . " `subdomains_used` int(15) NOT NULL default '0'," . " `traffic` int(15) NOT NULL default '0'," . " `traffic_used` int(15) NOT NULL default '0'," . " `deactivated` tinyint(1) NOT NULL default '0'," . " `lastlogin_succ` int(11) unsigned NOT NULL default '0'," . " `lastlogin_fail` int(11) unsigned NOT NULL default '0'," . " `loginfail_count` int(11) unsigned NOT NULL default '0'," . " PRIMARY KEY (`adminid`)" . ") ENGINE=MyISAM ;");
|
||||||
|
|
||||||
// Insert Admin user
|
// Insert Admin user
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ if($settings['panel']['version'] == '1.2.2-cvs1')
|
|||||||
`language` varchar(30) NOT NULL default '',
|
`language` varchar(30) NOT NULL default '',
|
||||||
`file` varchar(255) NOT NULL default '',
|
`file` varchar(255) NOT NULL default '',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM
|
) ENGINE=MyISAM
|
||||||
");
|
");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_LANGUAGE . "` (`id`, `language`, `file`) VALUES (1, 'Deutsch', 'lng/german.lng.php');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_LANGUAGE . "` (`id`, `language`, `file`) VALUES (1, 'Deutsch', 'lng/german.lng.php');");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_LANGUAGE . "` (`id`, `language`, `file`) VALUES (2, 'English', 'lng/english.lng.php');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_LANGUAGE . "` (`id`, `language`, `file`) VALUES (2, 'English', 'lng/english.lng.php');");
|
||||||
@@ -88,7 +88,7 @@ if($settings['panel']['version'] == '1.2.2-cvs3')
|
|||||||
`id` int(11) unsigned NOT NULL auto_increment,
|
`id` int(11) unsigned NOT NULL auto_increment,
|
||||||
`file` varchar(255) NOT NULL default '',
|
`file` varchar(255) NOT NULL default '',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM
|
) ENGINE=MyISAM
|
||||||
");
|
");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_CRONSCRIPT . "` (`id`, `file`) VALUES (1, 'cron_traffic.php');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_CRONSCRIPT . "` (`id`, `file`) VALUES (1, 'cron_traffic.php');");
|
||||||
$db->query("INSERT INTO `" . TABLE_PANEL_CRONSCRIPT . "` (`id`, `file`) VALUES (2, 'cron_tasks.php');");
|
$db->query("INSERT INTO `" . TABLE_PANEL_CRONSCRIPT . "` (`id`, `file`) VALUES (2, 'cron_tasks.php');");
|
||||||
@@ -146,7 +146,7 @@ if($settings['panel']['version'] == '1.2.3-cvs4')
|
|||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `adminid` (`adminid`),
|
KEY `adminid` (`adminid`),
|
||||||
UNIQUE `date` (`adminid` , `year` , `month` , `day`)
|
UNIQUE `date` (`adminid` , `year` , `month` , `day`)
|
||||||
) TYPE=MyISAM
|
) ENGINE=MyISAM
|
||||||
");
|
");
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value`='1.2.3-cvs5' WHERE `settinggroup`='panel' AND `varname`='version'");
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value`='1.2.3-cvs5' WHERE `settinggroup`='panel' AND `varname`='version'");
|
||||||
$settings['panel']['version'] = '1.2.3-cvs5';
|
$settings['panel']['version'] = '1.2.3-cvs5';
|
||||||
@@ -267,7 +267,7 @@ if($settings['panel']['version'] == '1.2.6')
|
|||||||
`value` longtext NOT NULL,
|
`value` longtext NOT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `adminid` (`adminid`)
|
KEY `adminid` (`adminid`)
|
||||||
) TYPE=MyISAM
|
) ENGINE=MyISAM
|
||||||
');
|
');
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value`='1.2.6-cvs1' WHERE `settinggroup`='panel' AND `varname`='version'");
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value`='1.2.6-cvs1' WHERE `settinggroup`='panel' AND `varname`='version'");
|
||||||
$settings['panel']['version'] = '1.2.6-cvs1';
|
$settings['panel']['version'] = '1.2.6-cvs1';
|
||||||
@@ -458,7 +458,7 @@ if($settings['panel']['version'] == '1.2.12-svn1')
|
|||||||
`port` int(5) NOT NULL default \'80\',
|
`port` int(5) NOT NULL default \'80\',
|
||||||
`default` int(1) NOT NULL default \'0\',
|
`default` int(1) NOT NULL default \'0\',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) TYPE=MyISAM');
|
) ENGINE=MyISAM');
|
||||||
$db->query('INSERT INTO `' . TABLE_PANEL_IPSANDPORTS . '` (`ip`, `port`, `default`) VALUES (\'' . $settings['system']['ipaddress'] . '\', \'80\', \'1\')');
|
$db->query('INSERT INTO `' . TABLE_PANEL_IPSANDPORTS . '` (`ip`, `port`, `default`) VALUES (\'' . $settings['system']['ipaddress'] . '\', \'80\', \'1\')');
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_SETTINGS . '` SET `value` = \'1.2.12-svn2\' WHERE `settinggroup` = \'panel\' AND `varname` = \'version\'');
|
$db->query('UPDATE `' . TABLE_PANEL_SETTINGS . '` SET `value` = \'1.2.12-svn2\' WHERE `settinggroup` = \'panel\' AND `varname` = \'version\'');
|
||||||
$settings['panel']['version'] = '1.2.12-svn2';
|
$settings['panel']['version'] = '1.2.12-svn2';
|
||||||
|
|||||||
@@ -620,7 +620,7 @@ else
|
|||||||
`mysql` bigint(30) unsigned NOT NULL default '0',
|
`mysql` bigint(30) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `customerid` (`customerid`)
|
KEY `customerid` (`customerid`)
|
||||||
) TYPE=MyISAM ;");
|
) ENGINE=MyISAM ;");
|
||||||
$db->query("CREATE TABLE `" . TABLE_PANEL_DISKSPACE_ADMINS . "` (
|
$db->query("CREATE TABLE `" . TABLE_PANEL_DISKSPACE_ADMINS . "` (
|
||||||
`id` int(11) unsigned NOT NULL auto_increment,
|
`id` int(11) unsigned NOT NULL auto_increment,
|
||||||
`adminid` int(11) unsigned NOT NULL default '0',
|
`adminid` int(11) unsigned NOT NULL default '0',
|
||||||
@@ -633,7 +633,7 @@ else
|
|||||||
`mysql` bigint(30) unsigned NOT NULL default '0',
|
`mysql` bigint(30) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `adminid` (`adminid`)
|
KEY `adminid` (`adminid`)
|
||||||
) TYPE=MyISAM ;");
|
) ENGINE=MyISAM ;");
|
||||||
$db->query("INSERT INTO `" . TABLE_BILLING_SERVICE_CATEGORIES . "` (`id`, `category_name`, `category_order`, `category_classname`, `category_classfile`, `category_cachefield`, `category_caption`, `category_rowcaption_setup`, `category_rowcaption_interval`) VALUES (1, 'hosting', 10, 'hosting', 'lib/billing_class_hosting.php', 'invoice_fee_hosting', 'hosting_caption', 'hosting_rowcaption_setup', 'hosting_rowcaption_interval');");
|
$db->query("INSERT INTO `" . TABLE_BILLING_SERVICE_CATEGORIES . "` (`id`, `category_name`, `category_order`, `category_classname`, `category_classfile`, `category_cachefield`, `category_caption`, `category_rowcaption_setup`, `category_rowcaption_interval`) VALUES (1, 'hosting', 10, 'hosting', 'lib/billing_class_hosting.php', 'invoice_fee_hosting', 'hosting_caption', 'hosting_rowcaption_setup', 'hosting_rowcaption_interval');");
|
||||||
$db->query("INSERT INTO `" . TABLE_BILLING_SERVICE_CATEGORIES . "` (`id`, `category_name`, `category_order`, `category_classname`, `category_classfile`, `category_cachefield`, `category_caption`, `category_rowcaption_setup`, `category_rowcaption_interval`) VALUES (2, 'domains', 20, 'domains', 'lib/billing_class_domains.php', 'invoice_fee_domains', 'domains_caption', 'domains_rowcaption_setup', 'domains_rowcaption_interval');");
|
$db->query("INSERT INTO `" . TABLE_BILLING_SERVICE_CATEGORIES . "` (`id`, `category_name`, `category_order`, `category_classname`, `category_classfile`, `category_cachefield`, `category_caption`, `category_rowcaption_setup`, `category_rowcaption_interval`) VALUES (2, 'domains', 20, 'domains', 'lib/billing_class_domains.php', 'invoice_fee_domains', 'domains_caption', 'domains_rowcaption_setup', 'domains_rowcaption_interval');");
|
||||||
$db->query("INSERT INTO `" . TABLE_BILLING_SERVICE_CATEGORIES . "` (`id`, `category_name`, `category_order`, `category_classname`, `category_classfile`, `category_cachefield`, `category_caption`, `category_rowcaption_setup`, `category_rowcaption_interval`) VALUES (3, 'traffic', 30, 'traffic', 'lib/billing_class_traffic.php', 'invoice_fee_traffic', 'traffic_caption', 'traffic_rowcaption_setup', 'traffic_rowcaption_interval');");
|
$db->query("INSERT INTO `" . TABLE_BILLING_SERVICE_CATEGORIES . "` (`id`, `category_name`, `category_order`, `category_classname`, `category_classfile`, `category_cachefield`, `category_caption`, `category_rowcaption_setup`, `category_rowcaption_interval`) VALUES (3, 'traffic', 30, 'traffic', 'lib/billing_class_traffic.php', 'invoice_fee_traffic', 'traffic_caption', 'traffic_rowcaption_setup', 'traffic_rowcaption_interval');");
|
||||||
|
|||||||
198
lib/classes/domains/class.docrootsettings.php
Normal file
198
lib/classes/domains/class.docrootsettings.php
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Michael Kaufmann <mkaufmann@nutime.de>
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Classes
|
||||||
|
* @version $Id$
|
||||||
|
* @link http://www.nutime.de/
|
||||||
|
* @since 0.9.17-svn2
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
class docrootsettings
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Database handler
|
||||||
|
* @var object
|
||||||
|
*/
|
||||||
|
private $_db = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_settings = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* main constructor
|
||||||
|
*/
|
||||||
|
public function __construct($db, $settings)
|
||||||
|
{
|
||||||
|
$this->_db = $db;
|
||||||
|
$this->_settings = $settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function lets you add docroot-settings for a given domain (by ID)
|
||||||
|
*
|
||||||
|
* @param int $domainid id of the domain to add the settings for
|
||||||
|
* @param string $ssettings docrootsettings to add for the domain
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function addDomainDocrootsettings($domainid = 0, $ssettings = '')
|
||||||
|
{
|
||||||
|
return $this->_addDocrootSetting(TABLE_PANEL_DOMDOCROOTSETTINGS, $domainid, $ssettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function lets you update docroot-settings for a given domain (by ID)
|
||||||
|
*
|
||||||
|
* @param int $domainid id of the domain to update the settings from
|
||||||
|
* @param string $ssettings docrootsettings to update for the domain
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function updateDomainDocrootsettings($domainid = 0, $ssettings = '')
|
||||||
|
{
|
||||||
|
return $this->_updateDocrootSetting(TABLE_PANEL_DOMDOCROOTSETTINGS, $domainid, $ssettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function lets you add docroot-settings for a given ip/port combo (by ID)
|
||||||
|
*
|
||||||
|
* @param int $ipandportid id of the domain to add the settings for
|
||||||
|
* @param string $ssettings docrootsettings to add for the domain
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function addIpsAndPortsDocrootsettings($ipandportid = 0, $ssettings = '')
|
||||||
|
{
|
||||||
|
return $this->_addDocrootSetting(TABLE_PANEL_IPDOCROOTSETTINGS, $ipandportid, $ssettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function lets you update docroot-settings for a given ip/port combo (by ID)
|
||||||
|
*
|
||||||
|
* @param int $ipandportid id of the domain to update the settings from
|
||||||
|
* @param string $ssettings docrootsettings to update for the domain
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function updateIpsAndPortsDocrootsettings($ipandportid = 0, $ssettings = '')
|
||||||
|
{
|
||||||
|
return $this->_updateDocrootSetting(TABLE_PANEL_IPDOCROOTSETTINGS, $ipandportid, $ssettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the docroot-setting
|
||||||
|
* for a given domain (by ID)
|
||||||
|
*
|
||||||
|
* @param int $domainid the id of the domain
|
||||||
|
*
|
||||||
|
* @return string the settings or empty if not set
|
||||||
|
*/
|
||||||
|
public function getDomainDocrootsettings($domainid = 0)
|
||||||
|
{
|
||||||
|
return $this->_getDocrootSettingById(TABLE_PANEL_DOMDOCROOTSETTINGS, $domainid);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the docroot-setting
|
||||||
|
* for a given ip/port combination (by ID)
|
||||||
|
*
|
||||||
|
* @param int $ipandportid the id of the ip/port combo
|
||||||
|
*
|
||||||
|
* @return string the settings or empty if not set
|
||||||
|
*/
|
||||||
|
public function getIpsAndPortsDocrootsettings($ipandportid = 0)
|
||||||
|
{
|
||||||
|
return $this->_getDocrootSettingById(TABLE_PANEL_IPDOCROOTSETTINGS, $ipandportid);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function is called by addDomainDocrootsettings() and
|
||||||
|
* addIpsAndPortsDocrootsettings() to add docroot settings for an object
|
||||||
|
*
|
||||||
|
* @param string $table table to add the settings to
|
||||||
|
* @param int $fid foreign id / object id
|
||||||
|
* @param string $ssettings docroot-settings
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
private function _addDocrootSetting($table, $fid, $ssettings)
|
||||||
|
{
|
||||||
|
$query = "INSERT INTO `".$table."` SET
|
||||||
|
`fid` = '".(int)$fid."',
|
||||||
|
`docrootsettings` = '".$db->escape($ssettings)."';";
|
||||||
|
$this->_db->query($query);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function is called by updateDomainDocrootsettings() and
|
||||||
|
* updateIpsAndPortsDocrootsettings() to update docroot settings for an object
|
||||||
|
*
|
||||||
|
* if new value is an empty string, entry is being removed
|
||||||
|
*
|
||||||
|
* @param string $table table to update the settings from
|
||||||
|
* @param int $fid foreign id / object id
|
||||||
|
* @param string $ssettings docroot-settings
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
private function _updateDocrootSetting($table, $fid, $ssettings)
|
||||||
|
{
|
||||||
|
// check if this object has an entry for docrootsettings
|
||||||
|
if($this->_getDocrootSettingById($table, $fid) != '')
|
||||||
|
{
|
||||||
|
if($ssettings != '')
|
||||||
|
{
|
||||||
|
// update if new value has been set
|
||||||
|
$query = "UPDATE `".$table."` SET
|
||||||
|
`docrootsettings` = '".$db->escape($ssettings)."'
|
||||||
|
WHERE `fid` = '".(int)$fid."';";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// remove if new value is empty
|
||||||
|
$query = "DELETE FROM `".$table."` WHERE `fid` = '".(int)$fid."';";
|
||||||
|
}
|
||||||
|
// run query
|
||||||
|
$this->_db->query($query);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// this object has no entry for docrootsettings yet
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* read the docrootsetting field of given table
|
||||||
|
* for given id
|
||||||
|
*
|
||||||
|
* @param string $table table where to read from
|
||||||
|
* @param int $id id of the object
|
||||||
|
*
|
||||||
|
* @return string string the settings or empty if not set
|
||||||
|
*/
|
||||||
|
private function _getDocrootSettingById($table = null, $id = 0)
|
||||||
|
{
|
||||||
|
$query = "SELECT `docrootsettings` FROM `".$table."` WHERE `fid`='".(int)$id."';";
|
||||||
|
$result = $this->_db->query_first($query);
|
||||||
|
if($result !== false && isset($result['docrootsettings']))
|
||||||
|
{
|
||||||
|
return $result['docrootsettings'];
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
369
lib/classes/froxlorclient/class.froxlorclient.php
Normal file
369
lib/classes/froxlorclient/class.froxlorclient.php
Normal file
@@ -0,0 +1,369 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Michael Kaufmann <mkaufmann@nutime.de>
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Multiserver
|
||||||
|
* @version $Id$
|
||||||
|
* @link http://www.nutime.de/
|
||||||
|
* @since 0.9.14-svn8
|
||||||
|
*
|
||||||
|
* Multiserver - FroxlorClient-Class
|
||||||
|
*/
|
||||||
|
|
||||||
|
class froxlorclient
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Userinfo
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $userinfo = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Database handler
|
||||||
|
* @var db
|
||||||
|
*/
|
||||||
|
private $db = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client ID
|
||||||
|
* @var cid
|
||||||
|
*/
|
||||||
|
private $cid = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client Data Array
|
||||||
|
* @var c_data
|
||||||
|
*/
|
||||||
|
private $c_data = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client Settings_Data Array
|
||||||
|
* @var s_data
|
||||||
|
*/
|
||||||
|
private $s_data = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client-Object-Array
|
||||||
|
* @var clients
|
||||||
|
*/
|
||||||
|
static private $clients = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class constructor.
|
||||||
|
*
|
||||||
|
* @param array $userinfo userdetails array of logged in user
|
||||||
|
* @param resource $db database-object
|
||||||
|
* @param int $cid client-id
|
||||||
|
*/
|
||||||
|
private function __construct($userinfo, $db, $cid = -1)
|
||||||
|
{
|
||||||
|
$this->userinfo = $userinfo;
|
||||||
|
$this->db = $db;
|
||||||
|
$this->cid = $cid;
|
||||||
|
|
||||||
|
// read data from database
|
||||||
|
$this->_readData();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* static function to initialize the class using
|
||||||
|
* singleton design pattern
|
||||||
|
*
|
||||||
|
* @param array $_usernfo userdetails array of logged in user
|
||||||
|
* @param resource $_db database-object
|
||||||
|
* @param int $_cid client-id
|
||||||
|
*/
|
||||||
|
static public function getInstance($_usernfo, $_db, $_cid)
|
||||||
|
{
|
||||||
|
if(!isset(self::$clients[$_cid]))
|
||||||
|
{
|
||||||
|
self::$clients[$_cid] = new froxlorclient($_usernfo, $_db, $_cid);
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::$clients[$_cid];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return an array of enabled froxlor-client ids
|
||||||
|
*
|
||||||
|
* @param resource mysql-object
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
static public function getFroxlorClients($_db = null)
|
||||||
|
{
|
||||||
|
$sql = "SELECT `id` FROM `".TABLE_FROXLOR_CLIENTS."` WHERE `enabled` = '1';";
|
||||||
|
$res = $_db->query($sql);
|
||||||
|
$result = array();
|
||||||
|
while($_r = mysql_fetch_array($res))
|
||||||
|
{
|
||||||
|
$result[] = $_r['id'];
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert new client to database
|
||||||
|
*/
|
||||||
|
public function Insert()
|
||||||
|
{
|
||||||
|
$this->db->query("INSERT INTO
|
||||||
|
`" . TABLE_FROXLOR_CLIENTS . "`
|
||||||
|
SET
|
||||||
|
`name` = '" . $this->db->escape($this->Get('name')) . "',
|
||||||
|
`desc` = '" . $this->db->escape($this->Get('desc')) . "',
|
||||||
|
`enabled` = '" . (int)$this->Get('enabled') . "';
|
||||||
|
");
|
||||||
|
$this->cid = $this->db->insert_id();
|
||||||
|
return $this->cid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update data in database
|
||||||
|
*/
|
||||||
|
public function Update()
|
||||||
|
{
|
||||||
|
$this->db->query("UPDATE
|
||||||
|
`" . TABLE_FROXLOR_CLIENTS . "`
|
||||||
|
SET
|
||||||
|
`name` = '" . $this->db->escape($this->Get('name')) . "',
|
||||||
|
`desc` = '" . $this->db->escape($this->Get('desc')) . "',
|
||||||
|
`enabled` = '" . (int)$this->Get('enabled') . "'
|
||||||
|
WHERE
|
||||||
|
`id` = '" . (int)$this->cid . "';
|
||||||
|
");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function removes a Froxlor-Client and its settings
|
||||||
|
* from the database. Optionally the Froxlor-Client data
|
||||||
|
* can be removed by setting the $delete_me parameter
|
||||||
|
*
|
||||||
|
* @param bool $delete_me removes client-data (not customer data) on the client
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*
|
||||||
|
* @TODO
|
||||||
|
* - remove client settings in panel_settings (sid = client-id)
|
||||||
|
* - implement $delete_me parameter
|
||||||
|
*/
|
||||||
|
public function Delete($delete_me = false)
|
||||||
|
{
|
||||||
|
// delete froxlor-client from the database
|
||||||
|
$this->db->query('DELETE FROM
|
||||||
|
`' . TABLE_FROXLOR_CLIENTS . '`
|
||||||
|
WHERE
|
||||||
|
`id` = "' . (int)$this->cid . '";
|
||||||
|
');
|
||||||
|
|
||||||
|
// Delete settings from panel_settings
|
||||||
|
$this->db->query('DELETE FROM
|
||||||
|
`' . TABLE_PANEL_SETTINGS . '`
|
||||||
|
WHERE
|
||||||
|
`sid` = "' . (int)$this->cid . '";
|
||||||
|
');
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the complete client-settings array
|
||||||
|
* for the settings page
|
||||||
|
*/
|
||||||
|
public function getSettingsArray()
|
||||||
|
{
|
||||||
|
return $this->Get('settings');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get a value from the internal data array
|
||||||
|
*
|
||||||
|
* @param string $_var
|
||||||
|
* @param string $_vartrusted
|
||||||
|
*
|
||||||
|
* @return mixed or null if not found
|
||||||
|
*/
|
||||||
|
public function Get($_var = '', $_vartrusted = false)
|
||||||
|
{
|
||||||
|
if($_var != '')
|
||||||
|
{
|
||||||
|
if(!$_vartrusted)
|
||||||
|
{
|
||||||
|
$_var = htmlspecialchars($_var);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($this->c_data[$_var]))
|
||||||
|
{
|
||||||
|
return $this->c_data[$_var];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set a value in the internal data array
|
||||||
|
*
|
||||||
|
* @param string $_var
|
||||||
|
* @param string $_value
|
||||||
|
* @param bool $_vartrusted
|
||||||
|
* @param bool $_valuetrusted
|
||||||
|
*/
|
||||||
|
public function Set($_var = '', $_value = '', $_vartrusted = false, $_valuetrusted = false)
|
||||||
|
{
|
||||||
|
if($_var != ''
|
||||||
|
&& $_value != ''
|
||||||
|
) {
|
||||||
|
if(!$_vartrusted)
|
||||||
|
{
|
||||||
|
$_var = htmlspecialchars($_var);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$_valuetrusted)
|
||||||
|
{
|
||||||
|
$_value = htmlspecialchars($_value);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->c_data[$_var] = $_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get a value from the internal settings array
|
||||||
|
*
|
||||||
|
* @param string $_grp
|
||||||
|
* @param string $_var
|
||||||
|
* @param bool $_grptrusted
|
||||||
|
* @param bool $_vartrusted
|
||||||
|
*
|
||||||
|
* @return mixed or null if not found
|
||||||
|
*/
|
||||||
|
public function getSetting($_grp = '', $_var = '', $_grptrusted = false, $_vartrusted = false)
|
||||||
|
{
|
||||||
|
if($_grp != ''
|
||||||
|
&& $_var != ''
|
||||||
|
) {
|
||||||
|
|
||||||
|
if(!$_grptrusted)
|
||||||
|
{
|
||||||
|
$_grp = htmlspecialchars($_grp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$_vartrusted)
|
||||||
|
{
|
||||||
|
$_var = htmlspecialchars($_var);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($this->c_data['settings'][$_grp][$_var]))
|
||||||
|
{
|
||||||
|
return $this->c_data['settings'][$_grp][$_var];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set a value in the internal settings array
|
||||||
|
*
|
||||||
|
* @param string $_grp
|
||||||
|
* @param string $_var
|
||||||
|
* @param string $_value
|
||||||
|
* @param bool $_grptrusted
|
||||||
|
* @param bool $_vartrusted
|
||||||
|
* @param bool $_valuetrusted
|
||||||
|
*/
|
||||||
|
public function setSetting($_grp = '', $_var = '', $_value = '', $_grptrusted = false, $_vartrusted = false, $_valuetrusted = false)
|
||||||
|
{
|
||||||
|
if($_grp != ''
|
||||||
|
&& $_var != ''
|
||||||
|
&& $_value != ''
|
||||||
|
) {
|
||||||
|
if(!$_grptrusted)
|
||||||
|
{
|
||||||
|
$_grp = htmlspecialchars($_grp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$_vartrusted)
|
||||||
|
{
|
||||||
|
$_var = htmlspecialchars($_var);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$_valuetrusted)
|
||||||
|
{
|
||||||
|
$_value = htmlspecialchars($_value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isset($this->c_data['settings']) || !is_array($this->c_data['settings'])) {
|
||||||
|
$this->c_data['settings'] = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isset($this->c_data['settings'][$_grp]) || !is_array($this->c_data['settings'][$_grp])) {
|
||||||
|
$this->c_data['settings'][$_grp] = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->c_data['settings'][$_grp][$_var] = $_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* read client settings from database
|
||||||
|
*/
|
||||||
|
private function _readSettings()
|
||||||
|
{
|
||||||
|
if(isset($this->cid)
|
||||||
|
&& $this->cid != - 1
|
||||||
|
) {
|
||||||
|
$spath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__)))));
|
||||||
|
$this->s_data = loadConfigArrayDir(
|
||||||
|
makeCorrectDir($spath.'/actions/admin/settings/'),
|
||||||
|
makeCorrectDir($spath.'/actions/multiserver/clientsettings/')
|
||||||
|
);
|
||||||
|
$settings = loadSettings($this->s_data, $this->db, $this->cid);
|
||||||
|
|
||||||
|
foreach($settings as $group => $fv)
|
||||||
|
{
|
||||||
|
foreach($fv as $field => $value)
|
||||||
|
{
|
||||||
|
$this->setSetting($group, $field, $value, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read client data from database.
|
||||||
|
*/
|
||||||
|
private function _readData()
|
||||||
|
{
|
||||||
|
if(isset($this->cid)
|
||||||
|
&& $this->cid != - 1
|
||||||
|
) {
|
||||||
|
$_client = $this->db->query_first('SELECT * FROM `' . TABLE_FROXLOR_CLIENTS . '` WHERE `id` = "' . $this->cid . '"');
|
||||||
|
|
||||||
|
foreach($_client as $field => $value)
|
||||||
|
{
|
||||||
|
$this->Set($field, $value, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// after we have details about the client,
|
||||||
|
// we need its settings too
|
||||||
|
$this->_readSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
121
lib/classes/phpinterface/class.phpinterface.php
Normal file
121
lib/classes/phpinterface/class.phpinterface.php
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Michael Kaufmann <mkaufmann@nutime.de>
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Cron
|
||||||
|
* @version $Id$
|
||||||
|
* @link http://www.nutime.de/
|
||||||
|
* @since 0.9.16
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
class phpinterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Database handler
|
||||||
|
* @var object
|
||||||
|
*/
|
||||||
|
private $_db = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_settings = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Domain-Data array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_domain = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface object
|
||||||
|
* @var object
|
||||||
|
*/
|
||||||
|
private $_interface = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Admin-User data array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_admin_cache = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* main constructor
|
||||||
|
*/
|
||||||
|
public function __construct($db, $settings, $domain)
|
||||||
|
{
|
||||||
|
$this->_db = $db;
|
||||||
|
$this->_settings = $settings;
|
||||||
|
$this->_domain = $domain;
|
||||||
|
$this->_setInterface();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the interface-object
|
||||||
|
* from where we can control it
|
||||||
|
*/
|
||||||
|
public function getInterface()
|
||||||
|
{
|
||||||
|
return $this->_interface;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set interface-object by type of
|
||||||
|
* php-interface: fcgid or php-fpm
|
||||||
|
* sets private $_interface variable
|
||||||
|
*/
|
||||||
|
private function _setInterface()
|
||||||
|
{
|
||||||
|
// php-fpm
|
||||||
|
if((int)$this->_settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
$this->_interface = new phpinterface_fpm($this->_db, $this->_settings, $this->_domain);
|
||||||
|
}
|
||||||
|
elseif((int)$this->_settings['system']['mod_fcgid'] == 1)
|
||||||
|
{
|
||||||
|
$this->_interface = new phpinterface_fcgid($this->_db, $this->_settings, $this->_domain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the php-configuration from the database
|
||||||
|
*
|
||||||
|
* @param int $php_config_id id of the php-configuration
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getPhpConfig($php_config_id)
|
||||||
|
{
|
||||||
|
$php_config_id = intval($php_config_id);
|
||||||
|
|
||||||
|
// If domain has no config, we will use the default one.
|
||||||
|
|
||||||
|
if($php_config_id == 0)
|
||||||
|
{
|
||||||
|
$php_config_id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isset($this->php_configs_cache[$php_config_id]))
|
||||||
|
{
|
||||||
|
$this->_php_configs_cache[$php_config_id] = $this->_db->query_first(
|
||||||
|
"SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "`
|
||||||
|
WHERE `id` = " . (int)$php_config_id
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->_php_configs_cache[$php_config_id];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
291
lib/classes/phpinterface/class.phpinterface_fcgid.php
Normal file
291
lib/classes/phpinterface/class.phpinterface_fcgid.php
Normal file
@@ -0,0 +1,291 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Michael Kaufmann <mkaufmann@nutime.de>
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Cron
|
||||||
|
* @version $Id$
|
||||||
|
* @link http://www.nutime.de/
|
||||||
|
* @since 0.9.16
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
class phpinterface_fcgid
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Database handler
|
||||||
|
* @var object
|
||||||
|
*/
|
||||||
|
private $_db = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_settings = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Domain-Data array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_domain = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Admin-Date cache array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_admin_cache = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* main constructor
|
||||||
|
*/
|
||||||
|
public function __construct($db, $settings, $domain)
|
||||||
|
{
|
||||||
|
$this->_db = $db;
|
||||||
|
$this->_settings = $settings;
|
||||||
|
$this->_domain = $domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createConfig($phpconfig)
|
||||||
|
{
|
||||||
|
// create starter
|
||||||
|
$starter_file = "#!/bin/sh\n\n";
|
||||||
|
$starter_file.= "#\n";
|
||||||
|
$starter_file.= "# starter created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $this->_domain['domain'] . "' with id #" . $this->_domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n";
|
||||||
|
$starter_file.= "# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
||||||
|
$starter_file.= "#\n\n";
|
||||||
|
$starter_file.= "umask 022\n";
|
||||||
|
$starter_file.= "PHPRC=" . escapeshellarg($this->getConfigDir()) . "\n";
|
||||||
|
$starter_file.= "export PHPRC\n";
|
||||||
|
|
||||||
|
// set number of processes for one domain
|
||||||
|
if((int)$this->_domain['mod_fcgid_starter'] != - 1)
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$this->_domain['mod_fcgid_starter'] . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$phpconfig['mod_fcgid_starter'] . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$this->_settings['system']['mod_fcgid_starter'] . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$starter_file.= "export PHP_FCGI_CHILDREN\n";
|
||||||
|
|
||||||
|
// set number of maximum requests for one domain
|
||||||
|
if((int)$this->_domain['mod_fcgid_maxrequests'] != - 1)
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$this->_domain['mod_fcgid_maxrequests'] . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$phpconfig['mod_fcgid_maxrequests'] . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$this->_settings['system']['mod_fcgid_maxrequests'] . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$starter_file.= "export PHP_FCGI_MAX_REQUESTS\n";
|
||||||
|
|
||||||
|
// Set Binary
|
||||||
|
$starter_file.= "exec " . $phpconfig['binary'] . " -c " . escapeshellarg($this->getConfigDir()) . "\n";
|
||||||
|
|
||||||
|
//remove +i attibute, so starter can be overwritten
|
||||||
|
if(file_exists($this->getStarterFile()))
|
||||||
|
{
|
||||||
|
removeImmutable($this->getStarterFile());
|
||||||
|
}
|
||||||
|
|
||||||
|
$starter_file_handler = fopen($this->getStarterFile(), 'w');
|
||||||
|
fwrite($starter_file_handler, $starter_file);
|
||||||
|
fclose($starter_file_handler);
|
||||||
|
safe_exec('chmod 750 ' . escapeshellarg($this->getStarterFile()));
|
||||||
|
safe_exec('chown ' . $this->_domain['guid'] . ':' . $this->_domain['guid'] . ' ' . escapeshellarg($this->getStarterFile()));
|
||||||
|
setImmutable($this->getStarterFile());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createIniFile($phpconfig)
|
||||||
|
{
|
||||||
|
$openbasedir = '';
|
||||||
|
$openbasedirc = ';';
|
||||||
|
|
||||||
|
if($this->_domain['openbasedir'] == '1')
|
||||||
|
{
|
||||||
|
$openbasedirc = '';
|
||||||
|
$_phpappendopenbasedir = '';
|
||||||
|
|
||||||
|
$_custom_openbasedir = explode(':', $this->_settings['system']['mod_fcgid_peardir']);
|
||||||
|
foreach($_custom_openbasedir as $cobd)
|
||||||
|
{
|
||||||
|
$_phpappendopenbasedir .= appendOpenBasedirPath($cobd);
|
||||||
|
}
|
||||||
|
|
||||||
|
$_custom_openbasedir = explode(':', $this->_settings['system']['phpappendopenbasedir']);
|
||||||
|
foreach($_custom_openbasedir as $cobd)
|
||||||
|
{
|
||||||
|
$_phpappendopenbasedir .= appendOpenBasedirPath($cobd);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->_domain['openbasedir_path'] == '0' && strstr($this->_domain['documentroot'], ":") === false)
|
||||||
|
{
|
||||||
|
$openbasedir = appendOpenBasedirPath($this->_domain['documentroot'], true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$openbasedir = appendOpenBasedirPath($this->_domain['customerroot'], true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$openbasedir .= appendOpenBasedirPath($this->getTempDir());
|
||||||
|
$openbasedir .= $_phpappendopenbasedir;
|
||||||
|
|
||||||
|
$openbasedir = explode(':', $openbasedir);
|
||||||
|
$clean_openbasedir = array();
|
||||||
|
foreach($openbasedir as $number => $path)
|
||||||
|
{
|
||||||
|
if(trim($path) != '/')
|
||||||
|
{
|
||||||
|
$clean_openbasedir[] = makeCorrectDir($path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$openbasedir = implode(':', $clean_openbasedir);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$openbasedir = 'none';
|
||||||
|
$openbasedirc = ';';
|
||||||
|
}
|
||||||
|
|
||||||
|
$admin = $this->_getAdminData($this->_domain['adminid']);
|
||||||
|
$php_ini_variables = array(
|
||||||
|
'SAFE_MODE' => ($this->_domain['safemode'] == '0' ? 'Off' : 'On'),
|
||||||
|
'PEAR_DIR' => $this->_settings['system']['mod_fcgid_peardir'],
|
||||||
|
'OPEN_BASEDIR' => $openbasedir,
|
||||||
|
'OPEN_BASEDIR_C' => $openbasedirc,
|
||||||
|
'OPEN_BASEDIR_GLOBAL' => $this->_settings['system']['phpappendopenbasedir'],
|
||||||
|
'TMP_DIR' => $this->getTempDir(),
|
||||||
|
'CUSTOMER_EMAIL' => $this->_domain['email'],
|
||||||
|
'ADMIN_EMAIL' => $admin['email'],
|
||||||
|
'DOMAIN' => $this->_domain['domain'],
|
||||||
|
'CUSTOMER' => $this->_domain['loginname'],
|
||||||
|
'ADMIN' => $admin['loginname']
|
||||||
|
);
|
||||||
|
|
||||||
|
//insert a small header for the file
|
||||||
|
|
||||||
|
$phpini_file = ";\n";
|
||||||
|
$phpini_file.= "; php.ini created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $this->_domain['domain'] . "' with id #" . $this->_domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n";
|
||||||
|
$phpini_file.= "; Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
||||||
|
$phpini_file.= ";\n\n";
|
||||||
|
$phpini_file.= replace_variables($phpconfig['phpsettings'], $php_ini_variables);
|
||||||
|
$phpini_file = str_replace('"none"', 'none', $phpini_file);
|
||||||
|
$phpini_file = preg_replace('/\"+/', '"', $phpini_file);
|
||||||
|
$phpini_file_handler = fopen($this->getIniFile(), 'w');
|
||||||
|
fwrite($phpini_file_handler, $phpini_file);
|
||||||
|
fclose($phpini_file_handler);
|
||||||
|
safe_exec('chown root:0 ' . escapeshellarg($this->getIniFile()));
|
||||||
|
safe_exec('chmod 0644 ' . escapeshellarg($this->getIniFile()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fcgid-config directory
|
||||||
|
*
|
||||||
|
* @param boolean $createifnotexists create the directory if it does not exist
|
||||||
|
*
|
||||||
|
* @return string the directory
|
||||||
|
*/
|
||||||
|
public function getConfigDir($createifnotexists = true)
|
||||||
|
{
|
||||||
|
$configdir = makeCorrectDir($this->_settings['system']['mod_fcgid_configdir'] . '/' . $this->_domain['loginname'] . '/' . $this->_domain['domain'] . '/');
|
||||||
|
|
||||||
|
if(!is_dir($configdir) && $createifnotexists)
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
||||||
|
safe_exec('chown ' . $this->_domain['guid'] . ':' . $this->_domain['guid'] . ' ' . escapeshellarg($configdir));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $configdir;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fcgid-temp directory
|
||||||
|
*
|
||||||
|
* @param boolean $createifnotexists create the directory if it does not exist
|
||||||
|
*
|
||||||
|
* @return string the directory
|
||||||
|
*/
|
||||||
|
public function getTempDir($createifnotexists = true)
|
||||||
|
{
|
||||||
|
$tmpdir = makeCorrectDir($this->_settings['system']['mod_fcgid_tmpdir'] . '/' . $this->_domain['loginname'] . '/');
|
||||||
|
|
||||||
|
if(!is_dir($tmpdir) && $createifnotexists)
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($tmpdir));
|
||||||
|
safe_exec('chown -R ' . $this->_domain['guid'] . ':' . $this->_domain['guid'] . ' ' . escapeshellarg($tmpdir));
|
||||||
|
safe_exec('chmod 0750 ' . escapeshellarg($tmpdir));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $tmpdir;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return path of php-starter file
|
||||||
|
*
|
||||||
|
* @return string the directory
|
||||||
|
*/
|
||||||
|
public function getStarterFile()
|
||||||
|
{
|
||||||
|
$starter_filename = makeCorrectFile($this->getConfigDir() . '/php-fcgi-starter');
|
||||||
|
return $starter_filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return path of php.ini file
|
||||||
|
*
|
||||||
|
* @return string full with path file-name
|
||||||
|
*/
|
||||||
|
public function getIniFile()
|
||||||
|
{
|
||||||
|
$phpini_filename = makeCorrectFile($this->getConfigDir() . '/php.ini');
|
||||||
|
return $phpini_filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the admin-data of a specific admin
|
||||||
|
*
|
||||||
|
* @param int $adminid id of the admin-user
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
private function _getAdminData($adminid)
|
||||||
|
{
|
||||||
|
$adminid = intval($adminid);
|
||||||
|
|
||||||
|
if(!isset($this->_admin_cache[$adminid]))
|
||||||
|
{
|
||||||
|
$this->_admin_cache[$adminid] = $this->_db->query_first(
|
||||||
|
"SELECT `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "`
|
||||||
|
WHERE `adminid` = " . (int)$adminid
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->_admin_cache[$adminid];
|
||||||
|
}
|
||||||
|
}
|
||||||
174
lib/classes/phpinterface/class.phpinterface_fpm.php
Normal file
174
lib/classes/phpinterface/class.phpinterface_fpm.php
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Michael Kaufmann <mkaufmann@nutime.de>
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Cron
|
||||||
|
* @version $Id$
|
||||||
|
* @link http://www.nutime.de/
|
||||||
|
* @since 0.9.16
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
class phpinterface_fpm
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Database handler
|
||||||
|
* @var object
|
||||||
|
*/
|
||||||
|
private $_db = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_settings = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Domain-Data array
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_domain = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* main constructor
|
||||||
|
*/
|
||||||
|
public function __construct($db, $settings, $domain)
|
||||||
|
{
|
||||||
|
$this->_db = $db;
|
||||||
|
$this->_settings = $settings;
|
||||||
|
$this->_domain = $domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createConfig($phpconfig)
|
||||||
|
{
|
||||||
|
$fh = @fopen($this->getConfigFile(), 'w');
|
||||||
|
if($fh)
|
||||||
|
{
|
||||||
|
$fpm_pm = $this->_settings['phpfpm']['pm'];
|
||||||
|
$fpm_children = (int)$this->_settings['phpfpm']['max_children'];
|
||||||
|
$fpm_start_servers = (int)$this->_settings['phpfpm']['start_servers'];
|
||||||
|
$fpm_min_spare_servers = (int)$this->_settings['phpfpm']['min_spare_servers'];
|
||||||
|
$fpm_max_spare_servers = (int)$this->_settings['phpfpm']['max_spare_servers'];
|
||||||
|
$fpm_requests = (int)$this->_settings['phpfpm']['max_requests'];
|
||||||
|
|
||||||
|
if($fpm_children == 0) {
|
||||||
|
$fpm_children = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$fpm_config = ';PHP-FPM configuration for "'.$this->_domain['domain'].'" created on ' . date("Y.m.d H:i:s") . "\n";
|
||||||
|
$fpm_config.= '['.$this->_domain['domain'].']'."\n";
|
||||||
|
$fpm_config.= 'listen = '.$this->getSocketFile()."\n";
|
||||||
|
if($this->_domain['loginname'] == 'froxlor.panel')
|
||||||
|
{
|
||||||
|
$fpm_config.= 'listen.owner = '.$this->_domain['guid']."\n";
|
||||||
|
$fpm_config.= 'listen.group = '.$this->_domain['guid']."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$fpm_config.= 'listen.owner = '.$this->_domain['loginname']."\n";
|
||||||
|
$fpm_config.= 'listen.group = '.$this->_domain['loginname']."\n";
|
||||||
|
}
|
||||||
|
$fpm_config.= 'listen.mode = 0666'."\n";
|
||||||
|
|
||||||
|
if($this->_domain['loginname'] == 'froxlor.panel')
|
||||||
|
{
|
||||||
|
$fpm_config.= 'user = '.$this->_domain['guid']."\n";
|
||||||
|
$fpm_config.= 'group = '.$this->_domain['guid']."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$fpm_config.= 'user = '.$this->_domain['loginname']."\n";
|
||||||
|
$fpm_config.= 'group = '.$this->_domain['loginname']."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$fpm_config.= 'pm = '.$fpm_pm."\n";
|
||||||
|
$fpm_config.= 'pm.max_children = '.$fpm_children."\n";
|
||||||
|
if($fpm_pm == 'dynamic') {
|
||||||
|
$fpm_config.= 'pm.start_servers = '.$fpm_start_servers."\n";
|
||||||
|
$fpm_config.= 'pm.min_spare_servers = '.$fpm_min_spare_servers."\n";
|
||||||
|
$fpm_config.= 'pm.max_spare_servers = '.$fpm_max_spare_servers."\n";
|
||||||
|
}
|
||||||
|
$fpm_config.= 'pm.max_requests = '.$fpm_requests."\n";
|
||||||
|
|
||||||
|
$fpm_config.= ';chroot = '.makeCorrectDir($this->_domain['documentroot'])."\n";
|
||||||
|
|
||||||
|
$tmpdir = makeCorrectDir($this->_settings['phpfpm']['tmpdir'] . '/' . $this->_domain['loginname'] . '/');
|
||||||
|
if(!is_dir($tmpdir))
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($tmpdir));
|
||||||
|
}
|
||||||
|
//$slowlog = makeCorrectFile($this->_settings['system']['logfiles_directory'] . $this->_domain['loginname'] . '/php-fpm_slow.log');
|
||||||
|
|
||||||
|
$fpm_config.= 'env[TMP] = '.$tmpdir."\n";
|
||||||
|
$fpm_config.= 'env[TMPDIR] = '.$tmpdir."\n";
|
||||||
|
$fpm_config.= 'env[TEMP] = '.$tmpdir."\n";
|
||||||
|
|
||||||
|
$fpm_config.= 'php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f '.$this->_domain['email']."\n";
|
||||||
|
if($this->_domain['loginname'] != 'froxlor.panel')
|
||||||
|
{
|
||||||
|
$fpm_config.= 'php_admin_value[open_basedir] = ' . makeCorrectDir($this->_settings['system']['documentroot_prefix'] . '/' . $this->_domain['loginname'] . '/') .':' . makeCorrectDir($this->_settings['phpfpm']['tmpdir'] . '/' . $this->_domain['loginname'] . '/') . ':' . $this->_settings['phpfpm']['peardir'] . "\n";
|
||||||
|
}
|
||||||
|
$fpm_config.= 'php_admin_value[session.save_path] = ' . makeCorrectDir($this->_settings['phpfpm']['tmpdir'] . '/' . $this->_domain['loginname'] . '/') . "\n";
|
||||||
|
$fpm_config.= 'php_admin_value[upload_tmp_dir] = ' . makeCorrectDir($this->_settings['phpfpm']['tmpdir'] . '/' . $this->_domain['loginname'] . '/') . "\n";
|
||||||
|
|
||||||
|
fwrite($fh, $fpm_config, strlen($fpm_config));
|
||||||
|
fclose($fh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createIniFile($phpconfig)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fpm-config file
|
||||||
|
*
|
||||||
|
* @param boolean $createifnotexists create the directory if it does not exist
|
||||||
|
*
|
||||||
|
* @return string the full path to the file
|
||||||
|
*/
|
||||||
|
public function getConfigFile($createifnotexists = true)
|
||||||
|
{
|
||||||
|
$configdir = makeCorrectDir($this->_settings['phpfpm']['configdir']);
|
||||||
|
$config = makeCorrectFile($configdir.'/'.$this->_domain['domain'].'.conf');
|
||||||
|
|
||||||
|
if(!is_dir($configdir) && $createifnotexists)
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return path of fpm-socket file
|
||||||
|
*
|
||||||
|
* @param boolean $createifnotexists create the directory if it does not exist
|
||||||
|
*
|
||||||
|
* @return string the full path to the socket
|
||||||
|
*/
|
||||||
|
public function getSocketFile($createifnotexists = true)
|
||||||
|
{
|
||||||
|
$socketdir = makeCorrectDir('/var/run/'.$this->_settings['system']['webserver'].'/');
|
||||||
|
$socket = makeCorrectFile($socketdir.'/'.$this->_domain['loginname'].'-'.$this->_domain['domain'].'-php-fpm.socket');
|
||||||
|
|
||||||
|
if(!is_dir($socketdir) && $createifnotexists)
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p '.$socketdir);
|
||||||
|
safe_exec('chown -R '.$this->_settings['system']['httpuser'].':'.$this->_settings['system']['httpgroup'].' '.$socketdir);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $socket;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -87,8 +87,11 @@ class ticket
|
|||||||
$this->tid = $tid;
|
$this->tid = $tid;
|
||||||
|
|
||||||
// initialize purifier
|
// initialize purifier
|
||||||
require_once '../htmlpurifier/library/HTMLPurifier.auto.php';
|
require_once dirname(dirname(__FILE__)).'/htmlpurifier/library/HTMLPurifier.auto.php';
|
||||||
$this->_purifier = new HTMLPurifier();
|
$config = HTMLPurifier_Config::createDefault();
|
||||||
|
$config->set('Core.Encoding', 'ISO-8859-1'); // for now
|
||||||
|
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
|
||||||
|
$this->_purifier = new HTMLPurifier($config);
|
||||||
|
|
||||||
// initialize data array
|
// initialize data array
|
||||||
|
|
||||||
@@ -317,7 +320,7 @@ class ticket
|
|||||||
if ($_mailerror) {
|
if ($_mailerror) {
|
||||||
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'ticket_class'), $this->db, $this->settings);
|
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'ticket_class'), $this->db, $this->settings);
|
||||||
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error(array('errorsendingmail', $usr['email']));
|
standard_error('errorsendingmail', $usr['email']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mail->ClearAddresses();
|
$mail->ClearAddresses();
|
||||||
@@ -345,7 +348,7 @@ class ticket
|
|||||||
if ($_mailerror) {
|
if ($_mailerror) {
|
||||||
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'ticket_class'), $this->db, $this->settings);
|
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'ticket_class'), $this->db, $this->settings);
|
||||||
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error(array('errorsendingmail', $admin['email']));
|
standard_error('errorsendingmail', $admin['email']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mail->ClearAddresses();
|
$mail->ClearAddresses();
|
||||||
@@ -439,6 +442,20 @@ class ticket
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the highest order number
|
||||||
|
*
|
||||||
|
* @param object $_db database-object
|
||||||
|
*
|
||||||
|
* @return int highest order number
|
||||||
|
*/
|
||||||
|
static public function getHighestOrderNumber($_db = null)
|
||||||
|
{
|
||||||
|
$sql = "SELECT MAX(`logicalorder`) as `highestorder` FROM `" . TABLE_PANEL_TICKET_CATS . "`;";
|
||||||
|
$result = $_db->query_first($sql);
|
||||||
|
return (isset($result['highestorder']) ? (int)$result['highestorder'] : 1);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns the last x archived tickets
|
* returns the last x archived tickets
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,305 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*
|
|
||||||
* @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 Configfiles
|
|
||||||
* @version $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
return Array(
|
|
||||||
'debian_etch' => Array(
|
|
||||||
'label' => 'Debian 4.0 (Etch)',
|
|
||||||
'services' => Array(
|
|
||||||
'http' => Array(
|
|
||||||
'label' => $lng['admin']['configfiles']['http'],
|
|
||||||
'daemons' => Array(
|
|
||||||
'apache2' => Array(
|
|
||||||
'label' => 'Apache 2',
|
|
||||||
'commands' => Array(
|
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
|
||||||
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
|
||||||
'a2dismod userdir',
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/apache2 restart'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'lighttpd' => Array(
|
|
||||||
'label' => 'Lighttpd Webserver',
|
|
||||||
'commands_1' => Array(
|
|
||||||
'apt-get install lighttpd',
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_lighttpd.conf' => '/etc/lighttpd/lighttpd.conf',
|
|
||||||
),
|
|
||||||
'commands_2' => Array(
|
|
||||||
$configcommand['vhost'],
|
|
||||||
$configcommand['diroptions'],
|
|
||||||
$configcommand['v_inclighty'],
|
|
||||||
$configcommand['d_inclighty'],
|
|
||||||
'lighty-disable-mod cgi',
|
|
||||||
'lighty-disable-mod fastcgi',
|
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
|
||||||
'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/lighttpd restart'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'dns' => Array(
|
|
||||||
'label' => $lng['admin']['configfiles']['dns'],
|
|
||||||
'daemons' => Array(
|
|
||||||
'bind' => Array(
|
|
||||||
'label' => 'Bind9',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install bind9',
|
|
||||||
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
|
|
||||||
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf',
|
|
||||||
'chown root:bind ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf',
|
|
||||||
'chmod 0644 ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/bind9 restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'powerdns' => Array(
|
|
||||||
'label' => 'PowerDNS',
|
|
||||||
'files' => Array(
|
|
||||||
'etc_powerdns_pdns.conf' => '/etc/powerdns/pdns.conf',
|
|
||||||
'etc_powerdns_pdns-froxlor.conf' => '/etc/powerdns/pdns_froxlor.conf',
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/pdns restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'smtp' => Array(
|
|
||||||
'label' => $lng['admin']['configfiles']['smtp'],
|
|
||||||
'daemons' => Array(
|
|
||||||
'postfix' => Array(
|
|
||||||
'label' => 'Postfix',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install postfix postfix-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql',
|
|
||||||
'mkdir -p /etc/postfix/sasl',
|
|
||||||
'mkdir -p /var/spool/postfix/etc/pam.d',
|
|
||||||
'mkdir -p /var/spool/postfix/var/run/mysqld',
|
|
||||||
'groupadd -g ' . $settings['system']['vmail_gid'] . ' vmail',
|
|
||||||
'useradd -u ' . $settings['system']['vmail_uid'] . ' -g vmail vmail',
|
|
||||||
'mkdir -p ' . $settings['system']['vmail_homedir'],
|
|
||||||
'chown -R vmail:vmail ' . $settings['system']['vmail_homedir'],
|
|
||||||
'touch /etc/postfix/mysql-virtual_alias_maps.cf',
|
|
||||||
'touch /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
|
||||||
'touch /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
|
||||||
'touch /etc/postfix/mysql-virtual_sender_permissions.cf',
|
|
||||||
'touch /etc/postfix/sasl/smtpd.conf',
|
|
||||||
'chown root:root /etc/postfix/main.cf',
|
|
||||||
'chown root:root /etc/postfix/master.cf',
|
|
||||||
'chown root:postfix /etc/postfix/mysql-virtual_alias_maps.cf',
|
|
||||||
'chown root:postfix /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
|
||||||
'chown root:postfix /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
|
||||||
'chown root:postfix /etc/postfix/mysql-virtual_sender_permissions.cf',
|
|
||||||
'chown root:root /etc/postfix/sasl/smtpd.conf',
|
|
||||||
'chmod 0644 /etc/postfix/main.cf',
|
|
||||||
'chmod 0644 /etc/postfix/master.cf',
|
|
||||||
'chmod 0640 /etc/postfix/mysql-virtual_alias_maps.cf',
|
|
||||||
'chmod 0640 /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
|
||||||
'chmod 0640 /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
|
||||||
'chmod 0640 /etc/postfix/mysql-virtual_sender_permissions.cf',
|
|
||||||
'chmod 0600 /etc/postfix/sasl/smtpd.conf',
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_postfix_main.cf' => '/etc/postfix/main.cf',
|
|
||||||
'etc_postfix_master.cf' => '/etc/postfix/master.cf',
|
|
||||||
'etc_postfix_mysql-virtual_alias_maps.cf' => '/etc/postfix/mysql-virtual_alias_maps.cf',
|
|
||||||
'etc_postfix_mysql-virtual_mailbox_domains.cf' => '/etc/postfix/mysql-virtual_mailbox_domains.cf',
|
|
||||||
'etc_postfix_mysql-virtual_mailbox_maps.cf' => '/etc/postfix/mysql-virtual_mailbox_maps.cf',
|
|
||||||
'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf',
|
|
||||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/postfix restart',
|
|
||||||
'newaliases'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'postfix_mxaccess' => Array(
|
|
||||||
'label' => 'Postfix MX-Access (anti spam)',
|
|
||||||
'files' => Array(
|
|
||||||
'etc_postfix_mx_access' => '/etc/postfix/mx_access',
|
|
||||||
'etc_postfix_main.cf' => '/etc/postfix/main.cf'
|
|
||||||
),
|
|
||||||
'commands_1' => Array(
|
|
||||||
'postmap /etc/postfix/mx_access'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/postfix restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'exim4' => Array(
|
|
||||||
'label' => 'Exim4',
|
|
||||||
'commands_1' => Array(
|
|
||||||
'dpkg-reconfigure exim4-config',
|
|
||||||
'# choose "no configuration at this time" and "splitted configuration files" in the dialog'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_exim4_conf.d_acl_30_exim4-config_check_rcpt.rul' => '/etc/exim4/conf.d/acl/30_exim4-config_check_rcpt.rul',
|
|
||||||
'etc_exim4_conf.d_auth_30_froxlor-config' => '/etc/exim4/conf.d/auth/30_froxlor-config',
|
|
||||||
'etc_exim4_conf.d_main_10_froxlor-config_options' => '/etc/exim4/conf.d/main/10_froxlor-config_options',
|
|
||||||
'etc_exim4_conf.d_router_180_froxlor-config' => '/etc/exim4/conf.d/router/180_froxlor-config',
|
|
||||||
'etc_exim4_conf.d_transport_30_froxlor-config' => '/etc/exim4/conf.d/transport/30_froxlor-config'
|
|
||||||
),
|
|
||||||
'commands_2' => Array(
|
|
||||||
'chmod o-rx /var/lib/exim4',
|
|
||||||
'chmod o-rx /etc/exim4/conf.d/main/10_froxlor-config_options'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/exim4 restart'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'mail' => Array(
|
|
||||||
'label' => $lng['admin']['configfiles']['mail'],
|
|
||||||
'daemons' => Array(
|
|
||||||
'courier' => Array(
|
|
||||||
'label' => 'Courier',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install courier-pop courier-imap courier-authlib-mysql'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_courier_authdaemonrc' => '/etc/courier/authdaemonrc',
|
|
||||||
'etc_courier_authmysqlrc' => '/etc/courier/authmysqlrc'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/courier-authdaemon restart',
|
|
||||||
'/etc/init.d/courier-pop restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'dovecot' => Array(
|
|
||||||
'label' => 'Dovecot',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install dovecot-imapd dovecot-pop3d'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_dovecot_dovecot.conf' => '/etc/dovecot/dovecot.conf',
|
|
||||||
'etc_dovecot_dovecot-sql.conf' => '/etc/dovecot/dovecot-sql.conf'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/dovecot restart'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'ftp' => Array(
|
|
||||||
'label' => $lng['admin']['configfiles']['ftp'],
|
|
||||||
'daemons' => Array(
|
|
||||||
'proftpd' => Array(
|
|
||||||
'label' => 'ProFTPd',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install proftpd-basic proftpd-mod-mysql'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
|
||||||
'etc_proftpd_proftpd.conf' => '/etc/proftpd/proftpd.conf'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/proftpd restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'pure-ftpd' => Array(
|
|
||||||
'label' => 'Pure FTPd',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install pure-ftpd-common pure-ftpd-mysql'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_pure-ftpd_conf_MinUID' => '/etc/pure-ftpd/conf/MinUID',
|
|
||||||
'etc_pure-ftpd_conf_MySQLConfigFile' => '/etc/pure-ftpd/conf/MySQLConfigFile',
|
|
||||||
'etc_pure-ftpd_conf_NoAnonymous' => '/etc/pure-ftpd/conf/NoAnonymous',
|
|
||||||
'etc_pure-ftpd_conf_MaxIdleTime' => '/etc/pure-ftpd/conf/MaxIdleTime',
|
|
||||||
'etc_pure-ftpd_conf_ChrootEveryone' => '/etc/pure-ftpd/conf/ChrootEveryone',
|
|
||||||
'etc_pure-ftpd_conf_PAMAuthentication' => '/etc/pure-ftpd/conf/PAMAuthentication',
|
|
||||||
'etc_pure-ftpd_db_mysql.conf' => '/etc/pure-ftpd/db/mysql.conf',
|
|
||||||
'etc_pure-ftpd_conf_CustomerProof' => '/etc/pure-ftpd/conf/CustomerProof',
|
|
||||||
'etc_pure-ftpd_conf_Bind' => '/etc/pure-ftpd/conf/Bind',
|
|
||||||
'etc_default_pure-ftpd-common' => '/etc/default/pure-ftpd-common'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/pure-ftpd-mysql restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'etc' => Array(
|
|
||||||
'label' => $lng['admin']['configfiles']['etc'],
|
|
||||||
'daemons' => Array(
|
|
||||||
'cron' => Array(
|
|
||||||
'label' => 'Crond (cronscript)',
|
|
||||||
'files' => Array(
|
|
||||||
'etc_cron.d_froxlor' => '/etc/cron.d/froxlor'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/cron restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'xinetd' => Array(
|
|
||||||
'label' => 'xinet.d (froxlor updates in realtime)',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install xinetd'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_xinetd.d_froxlor' => '/etc/xinetd.d/froxlor'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/xinetd restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'awstats' => Array(
|
|
||||||
'label' => 'Awstats',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install awstats',
|
|
||||||
'cp /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl '.makeCorrectDir($settings['system']['awstats_path']),
|
|
||||||
'mv '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf').' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
|
||||||
'sed -i.bak \'s/^DirData/# DirData/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf')
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'libnss' => Array(
|
|
||||||
'label' => 'libnss (system login with mysql)',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install libnss-mysql nscd',
|
|
||||||
'chmod 600 /etc/nss-mysql.conf /etc/nss-mysql-root.conf'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_nss-mysql.conf' => '/etc/nss-mysql.conf',
|
|
||||||
'etc_nss-mysql-root.conf' => '/etc/nss-mysql-root.conf',
|
|
||||||
'etc_nsswitch.conf' => '/etc/nsswitch.conf',
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/nscd restart'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -28,10 +28,10 @@ return Array(
|
|||||||
'cd /usr/ports/www/apache22',
|
'cd /usr/ports/www/apache22',
|
||||||
'make config',
|
'make config',
|
||||||
'make install',
|
'make install',
|
||||||
'touch ' . $settings['system']['apacheconf_vhost'],
|
$configcommand['vhost'],
|
||||||
'chown root:0 ' . $settings['system']['apacheconf_vhost'],
|
'chown root:0 ' . $settings['system']['apacheconf_vhost'],
|
||||||
'chmod 0600 ' . $settings['system']['apacheconf_vhost'],
|
'chmod 0600 ' . $settings['system']['apacheconf_vhost'],
|
||||||
'touch ' . $settings['system']['apacheconf_diroptions'],
|
$configcommand['diroptions'],
|
||||||
'chown root:0 ' . $settings['system']['apacheconf_diroptions'],
|
'chown root:0 ' . $settings['system']['apacheconf_diroptions'],
|
||||||
'chmod 0600 ' . $settings['system']['apacheconf_diroptions'],
|
'chmod 0600 ' . $settings['system']['apacheconf_diroptions'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
@@ -57,6 +57,7 @@ return Array(
|
|||||||
'commands_1' => Array(
|
'commands_1' => Array(
|
||||||
'cd /usr/ports/dns/powerdns',
|
'cd /usr/ports/dns/powerdns',
|
||||||
'make config',
|
'make config',
|
||||||
|
'set MySQL backend',
|
||||||
'make install',
|
'make install',
|
||||||
'echo "pdns_enable=\"YES\"" >> /etc/rc.conf',
|
'echo "pdns_enable=\"YES\"" >> /etc/rc.conf',
|
||||||
),
|
),
|
||||||
@@ -88,8 +89,8 @@ return Array(
|
|||||||
'make install'
|
'make install'
|
||||||
),
|
),
|
||||||
'commands_2' => Array(
|
'commands_2' => Array(
|
||||||
'pw groupadd vmail -g 5001 ',
|
'pw groupadd vmail -g '.$settings['system']['vmail_gid'],
|
||||||
'pw useradd vmail -u 5001 -g 5001 -s/sbin/nologin -d/dev/null',
|
'pw useradd vmail -u '.$settings['system']['vmail_uid'].' -g '.$settings['system']['vmail_gid'].' -s/sbin/nologin -d/dev/null',
|
||||||
'mkdir -p ' . $settings['system']['vmail_homedir'],
|
'mkdir -p ' . $settings['system']['vmail_homedir'],
|
||||||
'chown -R vmail:vmail ' . $settings['system']['vmail_homedir'],
|
'chown -R vmail:vmail ' . $settings['system']['vmail_homedir'],
|
||||||
'chmod 0750 ' . $settings['system']['vmail_homedir']
|
'chmod 0750 ' . $settings['system']['vmail_homedir']
|
||||||
@@ -113,6 +114,21 @@ return Array(
|
|||||||
'sh /usr/local/etc/rc.d/postfix restart'
|
'sh /usr/local/etc/rc.d/postfix restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
'postgrey' => Array(
|
||||||
|
'label' => 'Postgrey',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'cd /usr/ports/mail/postgrey',
|
||||||
|
'make install clean'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'sed -i.bak \'s/# *check_policy_service *inet:127\.0\.0\.1:10023/ check_policy_service inet:127\.0\.0\.1:10023/\' /usr/local/etc/postfix/main.cf',
|
||||||
|
'echo "postgrey_enable=\"YES\"" >> /etc/rc.conf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/usr/local/etc/rc.d/postgrey restart',
|
||||||
|
'/usr/local/etc/rc.d/postfix restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
'postfix_mxaccess' => Array(
|
'postfix_mxaccess' => Array(
|
||||||
'label' => 'Postfix MX-Access (anti spam)',
|
'label' => 'Postfix MX-Access (anti spam)',
|
||||||
'files' => Array(
|
'files' => Array(
|
||||||
@@ -178,14 +194,22 @@ return Array(
|
|||||||
'daemons' => Array(
|
'daemons' => Array(
|
||||||
'proftpd' => Array(
|
'proftpd' => Array(
|
||||||
'label' => 'ProFTPd',
|
'label' => 'ProFTPd',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'cd /usr/ports/ftp/proftpd',
|
||||||
|
'make config',
|
||||||
|
'set MySQL auth',
|
||||||
|
'set Include mod_quota',
|
||||||
|
'make install clean'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'touch /usr/local/etc/proftpd.conf',
|
||||||
|
'chown root:0 /usr/local/etc/proftpd.conf',
|
||||||
|
'chmod 0600 /usr/local/etc/proftpd.conf',
|
||||||
|
'echo "proftpd_enable=\"YES\"" >> /etc/rc.conf'
|
||||||
|
),
|
||||||
'files' => Array(
|
'files' => Array(
|
||||||
'etc_proftpd_proftpd.conf' => '/usr/local/etc/proftpd.conf'
|
'etc_proftpd_proftpd.conf' => '/usr/local/etc/proftpd.conf'
|
||||||
),
|
),
|
||||||
'commands' => Array(
|
|
||||||
'touch /usr/local/etc/proftpd.conf',
|
|
||||||
'chown root:0 /usr/local/etc/proftpd.conf',
|
|
||||||
'chmod 0600 /usr/local/etc/proftpd.conf'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/usr/local/etc/rc.d/proftpd restart'
|
'/usr/local/etc/rc.d/proftpd restart'
|
||||||
)
|
)
|
||||||
@@ -195,18 +219,28 @@ return Array(
|
|||||||
'etc' => Array(
|
'etc' => Array(
|
||||||
'label' => $lng['admin']['configfiles']['etc'],
|
'label' => $lng['admin']['configfiles']['etc'],
|
||||||
'daemons' => Array(
|
'daemons' => Array(
|
||||||
|
'cron' => Array(
|
||||||
|
'label' => 'Crond (cronscript)',
|
||||||
|
'commands' => Array(
|
||||||
|
'echo "*/1 * * * * root /usr/local/bin/php -q /var/customers/froxlor/scripts/froxlor_master_cronjob.php" >> /etc/crontab'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/rc.d/cron restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
'awstats' => Array(
|
'awstats' => Array(
|
||||||
'label' => 'Awstats',
|
'label' => 'Awstats',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'cd /usr/ports/www/awstats/',
|
'cd /usr/ports/www/awstats/',
|
||||||
'make install clean',
|
'make install clean',
|
||||||
'cp /usr/local/www/awstats/cgi-bin/awstats.model.conf '.makeCorrectDir($settings['system']['awstats_conf']),
|
'cp /usr/local/www/awstats/cgi-bin/awstats.model.conf '.makeCorrectDir($settings['system']['awstats_conf']),
|
||||||
'sed -i.bak \'s/^LogFile/# LogFile/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf'),
|
'sed -i.bak \'s/^LogFile/# LogFile/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
||||||
'sed -i.bak \'s/^LogType/# LogType/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf'),
|
'sed -i.bak \'s/^LogType/# LogType/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
||||||
'sed -i.bak \'s/^LogFormat/# LogFormat/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf'),
|
'sed -i.bak \'s/^LogFormat/# LogFormat/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
||||||
'sed -i.bak \'s/^LogSeparator/# LogSeparator/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf'),
|
'sed -i.bak \'s/^LogSeparator/# LogSeparator/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
||||||
'sed -i.bak \'s/^SiteDomain/# SiteDomain/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf'),
|
'sed -i.bak \'s/^SiteDomain/# SiteDomain/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
||||||
'sed -i.bak \'s/^DirData/# DirData/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf')
|
'sed -i.bak \'s/^DirData/# DirData/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),
|
||||||
|
'sed -i.bak \'s/^DirIcons=\"\/awstatsicons\"/DirIcons=\"\/awstats-icon\"/\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf')
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'libnss' => Array(
|
'libnss' => Array(
|
||||||
|
|||||||
@@ -39,6 +39,12 @@ return Array(
|
|||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir']
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir']
|
||||||
),
|
),
|
||||||
|
'files' => ((int)$settings['phpfpm']['enabled'] == 1) ?
|
||||||
|
Array(
|
||||||
|
'etc_apache2_modules.d_70_fastcgi.conf' => '/etc/apache2/modules.d/70_fastcgi.conf'
|
||||||
|
)
|
||||||
|
:
|
||||||
|
null,
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'rc-update add apache2 default',
|
'rc-update add apache2 default',
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
@@ -62,7 +68,49 @@ return Array(
|
|||||||
'rc-update add lighttpd default',
|
'rc-update add lighttpd default',
|
||||||
'/etc/init.d/lighttpd restart'
|
'/etc/init.d/lighttpd restart'
|
||||||
)
|
)
|
||||||
)
|
),
|
||||||
|
'nginx' => Array(
|
||||||
|
'label' => 'Nginx Webserver',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'emerge nginx',
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
|
||||||
|
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod u+x /etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/nginx restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'nginx' => Array(
|
||||||
|
'label' => 'Nginx Webserver',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'emerge nginx',
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
|
||||||
|
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod u+x /etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/nginx restart'
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'dns' => Array(
|
'dns' => Array(
|
||||||
@@ -181,6 +229,7 @@ return Array(
|
|||||||
'postmap /etc/postfix/mx_access'
|
'postmap /etc/postfix/mx_access'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
|
'newaliases',
|
||||||
'/etc/init.d/postfix restart'
|
'/etc/init.d/postfix restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@@ -336,18 +385,6 @@ milter_default_action = accept" >> /etc/postfix/main.cf'
|
|||||||
'/etc/init.d/vixie-cron restart'
|
'/etc/init.d/vixie-cron restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'xinetd' => Array(
|
|
||||||
'label' => 'xinet.d (froxlor updates in realtime)',
|
|
||||||
'commands' => Array(
|
|
||||||
'emerge -av xinetd'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_xinetd.d_froxlor' => '/etc/xinetd.d/froxlor'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/xinetd restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'awstats' => Array(
|
'awstats' => Array(
|
||||||
'label' => 'Awstats',
|
'label' => 'Awstats',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ return Array(
|
|||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'a2dismod userdir'
|
'a2dismod userdir'
|
||||||
),
|
),
|
||||||
|
'files' => ((int)$settings['phpfpm']['enabled'] == 1) ?
|
||||||
|
Array(
|
||||||
|
'etc_apache2_mods-enabled_fastcgi.conf' => '/etc/apache2/mods-enabled/fastcgi.conf'
|
||||||
|
)
|
||||||
|
:
|
||||||
|
null,
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
)
|
)
|
||||||
@@ -62,6 +68,29 @@ return Array(
|
|||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/lighttpd restart'
|
'/etc/init.d/lighttpd restart'
|
||||||
)
|
)
|
||||||
|
),
|
||||||
|
'nginx' => Array(
|
||||||
|
'label' => 'Nginx Webserver',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'apt-get install nginx php5-cgi',
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
|
||||||
|
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'rm /etc/nginx/sites-enabled/default',
|
||||||
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
//'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod u+x /etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/php-fcgi start',
|
||||||
|
'/etc/init.d/nginx restart'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@@ -132,8 +161,28 @@ return Array(
|
|||||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/postfix restart',
|
'newaliases',
|
||||||
'newaliases'
|
'/etc/init.d/postfix restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'dkim' => Array(
|
||||||
|
'label' => 'DomainKey filter',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'apt-get install dkim-filter',
|
||||||
|
'mkdir -p /etc/postfix/dkim'
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'dkim-filter.conf' => '/etc/dkim-filter.conf'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'echo "milter_default_action = accept" >> /etc/postfix/main.cf',
|
||||||
|
'echo "milter_protocol = 2" >> /etc/postfix/main.cf',
|
||||||
|
'echo "smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf',
|
||||||
|
'echo "non_smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/dkim-filter restart',
|
||||||
|
'/etc/init.d/postfix restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'postfix_dovecot' => Array(
|
'postfix_dovecot' => Array(
|
||||||
@@ -298,18 +347,6 @@ return Array(
|
|||||||
'/etc/init.d/cron restart'
|
'/etc/init.d/cron restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'xinetd' => Array(
|
|
||||||
'label' => 'xinet.d (froxlor updates in realtime)',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install xinetd'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_xinetd.d_froxlor' => '/etc/xinetd.d/froxlor'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/xinetd restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'awstats' => Array(
|
'awstats' => Array(
|
||||||
'label' => 'Awstats',
|
'label' => 'Awstats',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ return Array(
|
|||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'a2dismod userdir'
|
'a2dismod userdir'
|
||||||
),
|
),
|
||||||
|
'files' => ((int)$settings['phpfpm']['enabled'] == 1) ?
|
||||||
|
Array(
|
||||||
|
'etc_apache2_mods-enabled_fastcgi.conf' => '/etc/apache2/mods-enabled/fastcgi.conf'
|
||||||
|
)
|
||||||
|
:
|
||||||
|
null,
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
),
|
),
|
||||||
@@ -62,6 +68,29 @@ return Array(
|
|||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/lighttpd restart'
|
'/etc/init.d/lighttpd restart'
|
||||||
)
|
)
|
||||||
|
),
|
||||||
|
'nginx' => Array(
|
||||||
|
'label' => 'Nginx Webserver',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'apt-get install nginx php5-cgi',
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
|
||||||
|
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'rm /etc/nginx/sites-enabled/default',
|
||||||
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
//'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod u+x /etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/php-fcgi start',
|
||||||
|
'/etc/init.d/nginx restart'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@@ -133,8 +162,28 @@ return Array(
|
|||||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/postfix restart',
|
'newaliases',
|
||||||
'newaliases'
|
'/etc/init.d/postfix restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'dkim' => Array(
|
||||||
|
'label' => 'DomainKey filter',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'apt-get install dkim-filter',
|
||||||
|
'mkdir -p /etc/postfix/dkim'
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'dkim-filter.conf' => '/etc/dkim-filter.conf'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'echo "milter_default_action = accept" >> /etc/postfix/main.cf',
|
||||||
|
'echo "milter_protocol = 2" >> /etc/postfix/main.cf',
|
||||||
|
'echo "smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf',
|
||||||
|
'echo "non_smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/dkim-filter restart',
|
||||||
|
'/etc/init.d/postfix restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'postfix_dovecot' => Array(
|
'postfix_dovecot' => Array(
|
||||||
@@ -303,18 +352,6 @@ return Array(
|
|||||||
'/etc/init.d/cron restart'
|
'/etc/init.d/cron restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'xinetd' => Array(
|
|
||||||
'label' => 'xinet.d (froxlor updates in realtime)',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install xinetd'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_xinetd.d_froxlor' => '/etc/xinetd.d/froxlor'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/xinetd restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'awstats' => Array(
|
'awstats' => Array(
|
||||||
'label' => 'Awstats',
|
'label' => 'Awstats',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ return Array(
|
|||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'a2dismod userdir'
|
'a2dismod userdir'
|
||||||
),
|
),
|
||||||
|
'files' => ((int)$settings['phpfpm']['enabled'] == 1) ?
|
||||||
|
Array(
|
||||||
|
'etc_apache2_mods-enabled_fastcgi.conf' => '/etc/apache2/mods-enabled/fastcgi.conf'
|
||||||
|
)
|
||||||
|
:
|
||||||
|
null,
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
),
|
),
|
||||||
@@ -61,9 +67,32 @@ return Array(
|
|||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/lighttpd restart'
|
'/etc/init.d/lighttpd restart'
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'nginx' => Array(
|
||||||
|
'label' => 'Nginx Webserver',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'apt-get install nginx php5-cgi',
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
|
||||||
|
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'rm /etc/nginx/sites-enabled/default',
|
||||||
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod u+x /etc/init.d/php-fcgi'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/php-fcgi start',
|
||||||
|
'/etc/init.d/nginx restart'
|
||||||
)
|
)
|
||||||
)
|
),
|
||||||
)
|
),
|
||||||
),
|
),
|
||||||
'dns' => Array(
|
'dns' => Array(
|
||||||
'label' => $lng['admin']['configfiles']['dns'],
|
'label' => $lng['admin']['configfiles']['dns'],
|
||||||
@@ -133,8 +162,28 @@ return Array(
|
|||||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/postfix restart',
|
'newaliases',
|
||||||
'newaliases'
|
'/etc/init.d/postfix restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'dkim' => Array(
|
||||||
|
'label' => 'DomainKey filter',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'apt-get install dkim-filter',
|
||||||
|
'mkdir -p /etc/postfix/dkim'
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'dkim-filter.conf' => '/etc/dkim-filter.conf'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'echo "milter_default_action = accept" >> /etc/postfix/main.cf',
|
||||||
|
'echo "milter_protocol = 2" >> /etc/postfix/main.cf',
|
||||||
|
'echo "smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf',
|
||||||
|
'echo "non_smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/dkim-filter restart',
|
||||||
|
'/etc/init.d/postfix restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'postfix_dovecot' => Array(
|
'postfix_dovecot' => Array(
|
||||||
@@ -304,18 +353,6 @@ return Array(
|
|||||||
'/etc/init.d/cron restart'
|
'/etc/init.d/cron restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'xinetd' => Array(
|
|
||||||
'label' => 'xinet.d (froxlor updates in realtime)',
|
|
||||||
'commands' => Array(
|
|
||||||
'apt-get install xinetd'
|
|
||||||
),
|
|
||||||
'files' => Array(
|
|
||||||
'etc_xinetd.d_froxlor' => '/etc/xinetd.d/froxlor'
|
|
||||||
),
|
|
||||||
'restart' => Array(
|
|
||||||
'/etc/init.d/xinetd restart'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'awstats' => Array(
|
'awstats' => Array(
|
||||||
'label' => 'Awstats',
|
'label' => 'Awstats',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ return Array(
|
|||||||
'chgrp postfix /usr/lib/sasl2/smtpd.conf'
|
'chgrp postfix /usr/lib/sasl2/smtpd.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
|
'newaliases',
|
||||||
'/etc/init.d/postfix restart'
|
'/etc/init.d/postfix restart'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -45,6 +45,6 @@ else
|
|||||||
|
|
||||||
$cfgPath = 'lib/configfiles/';
|
$cfgPath = 'lib/configfiles/';
|
||||||
$configfiles = Array();
|
$configfiles = Array();
|
||||||
$configfiles = array_merge(include $cfgPath . 'lenny.inc.php', include $cfgPath . 'etch.inc.php', include $cfgPath . 'hardy.inc.php', include $cfgPath . 'lucid.inc.php', include $cfgPath . 'gentoo.inc.php', include $cfgPath . 'suse10.inc.php', include $cfgPath . 'freebsd.inc.php');
|
$configfiles = array_merge(include $cfgPath . 'lenny.inc.php', include $cfgPath . 'hardy.inc.php', include $cfgPath . 'lucid.inc.php', include $cfgPath . 'gentoo.inc.php', include $cfgPath . 'suse10.inc.php', include $cfgPath . 'freebsd.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -182,6 +182,14 @@ if((int)$settings['system']['mod_fcgid_ownvhost'] == 1)
|
|||||||
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* be sure HTMLPurifier's cache folder is writable
|
||||||
|
*/
|
||||||
|
safe_exec('chmod -R 0755 '.escapeshellarg(dirname(__FILE__).'/classes/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer'));
|
||||||
|
/**
|
||||||
|
* end of HTMLPurifier check
|
||||||
|
*/
|
||||||
|
|
||||||
if(!isset($settings['panel']['version'])
|
if(!isset($settings['panel']['version'])
|
||||||
|| $settings['panel']['version'] != $version)
|
|| $settings['panel']['version'] != $version)
|
||||||
{
|
{
|
||||||
|
|||||||
58
lib/functions/filedir/function.makeChownWithNewStats.php
Normal file
58
lib/functions/filedir/function.makeChownWithNewStats.php
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* chowns either awstats or webalizer folder,
|
||||||
|
* either with webserver-user or - if fcgid
|
||||||
|
* is used - the customers name, #258
|
||||||
|
*
|
||||||
|
* @param array $row array if panel_customers
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function makeChownWithNewStats($row)
|
||||||
|
{
|
||||||
|
global $settings;
|
||||||
|
|
||||||
|
// get correct user
|
||||||
|
if($settings['system']['mod_fcgid'] == 1)
|
||||||
|
{
|
||||||
|
$user = $row['loginname'];
|
||||||
|
$group = $row['loginname'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$user = $row['guid'];
|
||||||
|
$group = $row['guid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// get correct directory
|
||||||
|
$dir = $row['documentroot'];
|
||||||
|
if($settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$dir .= '/awstats/';
|
||||||
|
} else {
|
||||||
|
$dir .= '/webalizer/';
|
||||||
|
}
|
||||||
|
|
||||||
|
// only run chown if directory exists
|
||||||
|
if (file_exists($dir))
|
||||||
|
{
|
||||||
|
// run chown
|
||||||
|
safe_exec('chown -R '.escapeshellarg($user).':'.escapeshellarg($group).' '.escapeshellarg(makeCorrectDir($dir)));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
function buildFormEx($form, $part = '')
|
function buildFormEx($form, $part = '')
|
||||||
{
|
{
|
||||||
|
global $settings;
|
||||||
$fields = '';
|
$fields = '';
|
||||||
|
|
||||||
if(validateFormDefinition($form))
|
if(validateFormDefinition($form))
|
||||||
@@ -34,24 +35,42 @@ function buildFormEx($form, $part = '')
|
|||||||
// only show one section
|
// only show one section
|
||||||
elseif($part != '' && ($groupname == $part || $part == 'all'))
|
elseif($part != '' && ($groupname == $part || $part == 'all'))
|
||||||
{
|
{
|
||||||
if(isset($groupdetails['title']) && $groupdetails['title'] != '')
|
/**
|
||||||
|
* this part checks for the 'websrv_avail' entry in the settings-array
|
||||||
|
* if found, we check if the current webserver is in the array. If this
|
||||||
|
* is not the case, we change the setting type to "hidden", #502
|
||||||
|
*/
|
||||||
|
$do_show = true;
|
||||||
|
if(isset($groupdetails['websrv_avail']) && is_array($groupdetails['websrv_avail']))
|
||||||
{
|
{
|
||||||
$fields .= getFormGroupOutput($groupname, $groupdetails);
|
$websrv = $settings['system']['webserver'];
|
||||||
}
|
if(!in_array($websrv, $groupdetails['websrv_avail']))
|
||||||
|
|
||||||
if(validateFieldDefinition($groupdetails))
|
|
||||||
{
|
|
||||||
// Prefetch form fields
|
|
||||||
foreach($groupdetails['fields'] as $fieldname => $fielddetails)
|
|
||||||
{
|
{
|
||||||
$groupdetails['fields'][$fieldname] = array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails));
|
$do_show = false;
|
||||||
$form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname];
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Collect form field output
|
|
||||||
foreach($groupdetails['fields'] as $fieldname => $fielddetails)
|
if($do_show)
|
||||||
|
{
|
||||||
|
if(isset($groupdetails['title']) && $groupdetails['title'] != '')
|
||||||
{
|
{
|
||||||
$fields .= getFormFieldOutput($fieldname, $fielddetails);
|
$fields .= getFormGroupOutput($groupname, $groupdetails);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(validateFieldDefinition($groupdetails))
|
||||||
|
{
|
||||||
|
// Prefetch form fields
|
||||||
|
foreach($groupdetails['fields'] as $fieldname => $fielddetails)
|
||||||
|
{
|
||||||
|
$groupdetails['fields'][$fieldname] = array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails));
|
||||||
|
$form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Collect form field output
|
||||||
|
foreach($groupdetails['fields'] as $fieldname => $fielddetails)
|
||||||
|
{
|
||||||
|
$fields .= getFormFieldOutput($fieldname, $fielddetails);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
function getFormFieldOutput($fieldname, $fielddata)
|
function getFormFieldOutput($fieldname, $fielddata)
|
||||||
{
|
{
|
||||||
|
global $settings;
|
||||||
|
|
||||||
$returnvalue = '';
|
$returnvalue = '';
|
||||||
if(is_array($fielddata) && isset($fielddata['type']) && $fielddata['type'] != '' && function_exists('getFormFieldOutput' . ucfirst($fielddata['type'])))
|
if(is_array($fielddata) && isset($fielddata['type']) && $fielddata['type'] != '' && function_exists('getFormFieldOutput' . ucfirst($fielddata['type'])))
|
||||||
{
|
{
|
||||||
@@ -44,7 +46,26 @@ function getFormFieldOutput($fieldname, $fielddata)
|
|||||||
$fielddata['value'] = null;
|
$fielddata['value'] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$returnvalue = call_user_func('getFormFieldOutput' . ucfirst($fielddata['type']), $fieldname, $fielddata);
|
|
||||||
|
/**
|
||||||
|
* this part checks for the 'websrv_avail' entry in the settings-array
|
||||||
|
* if found, we check if the current webserver is in the array. If this
|
||||||
|
* is not the case, we change the setting type to "hidden", #502
|
||||||
|
*/
|
||||||
|
$do_show = true;
|
||||||
|
if(isset($fielddata['websrv_avail']) && is_array($fielddata['websrv_avail']))
|
||||||
|
{
|
||||||
|
$websrv = $settings['system']['webserver'];
|
||||||
|
if(!in_array($websrv, $fielddata['websrv_avail']))
|
||||||
|
{
|
||||||
|
$do_show = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($do_show)
|
||||||
|
{
|
||||||
|
$returnvalue = call_user_func('getFormFieldOutput' . ucfirst($fielddata['type']), $fieldname, $fielddata);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $returnvalue;
|
return $returnvalue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,6 +71,24 @@ function getFormOverviewGroupOutput($groupname, $groupdetails)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eval("\$group = \"" . getTemplate("settings/settings_overviewgroup") . "\";");
|
/**
|
||||||
|
* this part checks for the 'websrv_avail' entry in the settings-array
|
||||||
|
* if found, we check if the current webserver is in the array. If this
|
||||||
|
* is not the case, we change the setting type to "hidden", #502
|
||||||
|
*/
|
||||||
|
$do_show = true;
|
||||||
|
if(isset($groupdetails['websrv_avail']) && is_array($groupdetails['websrv_avail']))
|
||||||
|
{
|
||||||
|
$websrv = $settings['system']['webserver'];
|
||||||
|
if(!in_array($websrv, $groupdetails['websrv_avail']))
|
||||||
|
{
|
||||||
|
$do_show = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($do_show)
|
||||||
|
{
|
||||||
|
eval("\$group = \"" . getTemplate("settings/settings_overviewgroup") . "\";");
|
||||||
|
}
|
||||||
return $group;
|
return $group;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,17 +78,6 @@ function includeCronjobs($debugHandler, $pathtophpfiles)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* if we're on realtime and cron_tasks is not one
|
|
||||||
* of the jobs to run, we add it so the changes are being applied
|
|
||||||
*/
|
|
||||||
if ($settings['system']['realtime_port'] !== 0) {
|
|
||||||
$cron_file = makeCorrectFile($cron_path.'/cron_tasks.php');
|
|
||||||
if (!in_array($cron_file, $jobs_to_run)) {
|
|
||||||
$jobs_to_run[] = $cron_file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $jobs_to_run;
|
return $jobs_to_run;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
* @return null
|
* @return null
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot)
|
function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot, $awstats_params = array())
|
||||||
{
|
{
|
||||||
global $pathtophpfiles, $settings;
|
global $pathtophpfiles, $settings;
|
||||||
|
|
||||||
@@ -41,6 +41,8 @@ function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot
|
|||||||
{
|
{
|
||||||
safe_exec('mkdir -p '.escapeshellarg($awstats_dir));
|
safe_exec('mkdir -p '.escapeshellarg($awstats_dir));
|
||||||
}
|
}
|
||||||
|
// chown created folder, #258
|
||||||
|
makeChownWithNewStats($awstats_params);
|
||||||
|
|
||||||
// weird but could happen...
|
// weird but could happen...
|
||||||
if(!is_dir($settings['system']['awstats_conf']))
|
if(!is_dir($settings['system']['awstats_conf']))
|
||||||
|
|||||||
38
lib/functions/froxlor/function.getServerId.php
Normal file
38
lib/functions/froxlor/function.getServerId.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this function checks whether $server_id (multi-server) is set
|
||||||
|
* in userdata.inc.php and returns the value. If not set or invalid,
|
||||||
|
* always return the id of the master (which is '0')
|
||||||
|
*
|
||||||
|
* @return int server_id of current server
|
||||||
|
* @since 0.9.14-svn7
|
||||||
|
*/
|
||||||
|
function getServerId() {
|
||||||
|
|
||||||
|
global $server_id;
|
||||||
|
|
||||||
|
if(isset($server_id)
|
||||||
|
&& is_numeric($server_id)
|
||||||
|
&& $server_id > 0
|
||||||
|
) {
|
||||||
|
return $server_id;
|
||||||
|
}
|
||||||
|
// return default (master)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -38,14 +38,13 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
|||||||
{
|
{
|
||||||
$db->query('DELETE FROM `' . TABLE_PANEL_TASKS . '` WHERE `type`="' . $type . '"');
|
$db->query('DELETE FROM `' . TABLE_PANEL_TASKS . '` WHERE `type`="' . $type . '"');
|
||||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`) VALUES ("' . $type . '")');
|
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`) VALUES ("' . $type . '")');
|
||||||
$doupdate = true;
|
|
||||||
}
|
}
|
||||||
elseif($type == '2'
|
elseif($type == '2'
|
||||||
&& $param1 != ''
|
&& $param1 != ''
|
||||||
&& $param2 != ''
|
&& $param2 != ''
|
||||||
&& $param3 != ''
|
&& $param3 != ''
|
||||||
&& $param4 != '')
|
&& ($param4 == 0 || $param4 == 1)
|
||||||
{
|
) {
|
||||||
$data = Array();
|
$data = Array();
|
||||||
$data['loginname'] = $param1;
|
$data['loginname'] = $param1;
|
||||||
$data['uid'] = $param2;
|
$data['uid'] = $param2;
|
||||||
@@ -53,7 +52,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
|||||||
$data['store_defaultindex'] = $param4;
|
$data['store_defaultindex'] = $param4;
|
||||||
$data = serialize($data);
|
$data = serialize($data);
|
||||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("2", "' . $db->escape($data) . '")');
|
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("2", "' . $db->escape($data) . '")');
|
||||||
$doupdate = true;
|
|
||||||
}
|
}
|
||||||
elseif($type == '6'
|
elseif($type == '6'
|
||||||
&& $param1 != '')
|
&& $param1 != '')
|
||||||
@@ -62,7 +60,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
|||||||
$data['loginname'] = $param1;
|
$data['loginname'] = $param1;
|
||||||
$data = serialize($data);
|
$data = serialize($data);
|
||||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("6", "' . $db->escape($data) . '")');
|
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("6", "' . $db->escape($data) . '")');
|
||||||
$doupdate = true;
|
|
||||||
}
|
}
|
||||||
elseif($type == '7'
|
elseif($type == '7'
|
||||||
&& $param1 != ''
|
&& $param1 != ''
|
||||||
@@ -73,7 +70,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
|||||||
$data['email'] = $param2;
|
$data['email'] = $param2;
|
||||||
$data = serialize($data);
|
$data = serialize($data);
|
||||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("7", "' . $db->escape($data) . '")');
|
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("7", "' . $db->escape($data) . '")');
|
||||||
$doupdate = true;
|
|
||||||
}
|
}
|
||||||
elseif($type == '8'
|
elseif($type == '8'
|
||||||
&& $param1 != ''
|
&& $param1 != ''
|
||||||
@@ -84,49 +80,5 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
|||||||
$data['homedir'] = $param2;
|
$data['homedir'] = $param2;
|
||||||
$data = serialize($data);
|
$data = serialize($data);
|
||||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("8", "' . $db->escape($data) . '")');
|
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("8", "' . $db->escape($data) . '")');
|
||||||
$doupdate = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($doupdate === true
|
|
||||||
&& (int)$settings['system']['realtime_port'] !== 0
|
|
||||||
&& function_exists('socket_create'))
|
|
||||||
{
|
|
||||||
$timeout = 15;
|
|
||||||
//$socket = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
|
|
||||||
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
|
|
||||||
|
|
||||||
if($socket !== false)
|
|
||||||
{
|
|
||||||
// create the request packet
|
|
||||||
$packet = chr(0) . chr(1) . 'RUN' . chr(0);
|
|
||||||
// UDP is connectionless, so we just send on it.
|
|
||||||
//@socket_sendto($socket, $packet, strlen($packet), 0x100, '127.0.0.1', (int)$settings['system']['realtime_port']);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* this is for TCP-Connections
|
|
||||||
*/
|
|
||||||
$time = time();
|
|
||||||
|
|
||||||
while(!@socket_connect($socket, '127.0.0.1', (int)$settings['system']['realtime_port']))
|
|
||||||
{
|
|
||||||
$err = socket_last_error($socket);
|
|
||||||
|
|
||||||
if($err == 115
|
|
||||||
|| $err == 114)
|
|
||||||
{
|
|
||||||
if((time() - $time) >= $timeout)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
sleep(1);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* close socket
|
|
||||||
*/
|
|
||||||
@socket_close($socket);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
42
lib/functions/froxlor/function.isCustomerStdSubdomain.php
Normal file
42
lib/functions/froxlor/function.isCustomerStdSubdomain.php
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* returns true or false whether a
|
||||||
|
* given domain id is the std-subdomain
|
||||||
|
* of a customer
|
||||||
|
*
|
||||||
|
* @param int domain-id
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
function isCustomerStdSubdomain($did = 0)
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
|
||||||
|
if($did > 0)
|
||||||
|
{
|
||||||
|
$result = $db->query_first("SELECT `customerid` FROM `".TABLE_PANEL_CUSTOMERS."` WHERE `standardsubdomain` = '".(int)$did."'");
|
||||||
|
if(is_array($result)
|
||||||
|
&& isset($result['customerid'])
|
||||||
|
&& $result['customerid'] > 0
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
@@ -17,25 +17,55 @@
|
|||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function loadConfigArrayDir($data_dirname)
|
function loadConfigArrayDir()
|
||||||
{
|
{
|
||||||
// Workaround until we use gettext
|
// Workaround until we use gettext
|
||||||
global $lng;
|
global $lng;
|
||||||
|
|
||||||
$data = array();
|
|
||||||
|
|
||||||
if(is_dir($data_dirname))
|
// we now use dynamic function parameters
|
||||||
{
|
// so we can read from more than one directory
|
||||||
$data_files = array();
|
// and still be valid for old calls
|
||||||
$data_dirhandle = opendir($data_dirname);
|
$numargs = func_num_args();
|
||||||
while(false !== ($data_filename = readdir($data_dirhandle)))
|
if($numargs <= 0) { return null; }
|
||||||
{
|
|
||||||
if($data_filename != '.' && $data_filename != '..' && $data_filename != '' && substr($data_filename, -4 ) == '.php')
|
// variable that holds all dirs that will
|
||||||
{
|
// be parsed for inclusion
|
||||||
$data_files[] = $data_dirname . $data_filename;
|
$configdirs = array();
|
||||||
}
|
// if one of the parameters is an array
|
||||||
|
// we assume that this is a list of
|
||||||
|
// setting-groups to be selected
|
||||||
|
$selection = null;
|
||||||
|
for($x=0;$x<$numargs;$x++) {
|
||||||
|
$arg = func_get_arg($x);
|
||||||
|
if(is_array($arg) && isset($arg[0])) {
|
||||||
|
$selection = $arg;
|
||||||
|
} else {
|
||||||
|
$configdirs[] = $arg;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
$data_files = array();
|
||||||
|
$has_data = false;
|
||||||
|
|
||||||
|
foreach($configdirs as $data_dirname)
|
||||||
|
{
|
||||||
|
if(is_dir($data_dirname))
|
||||||
|
{
|
||||||
|
$data_dirhandle = opendir($data_dirname);
|
||||||
|
while(false !== ($data_filename = readdir($data_dirhandle)))
|
||||||
|
{
|
||||||
|
if($data_filename != '.' && $data_filename != '..' && $data_filename != '' && substr($data_filename, -4 ) == '.php')
|
||||||
|
{
|
||||||
|
$data_files[] = $data_dirname . $data_filename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$has_data = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($has_data)
|
||||||
|
{
|
||||||
sort($data_files);
|
sort($data_files);
|
||||||
|
|
||||||
foreach($data_files as $data_filename)
|
foreach($data_files as $data_filename)
|
||||||
@@ -43,6 +73,24 @@ function loadConfigArrayDir($data_dirname)
|
|||||||
$data = array_merge_recursive($data, include($data_filename));
|
$data = array_merge_recursive($data, include($data_filename));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if we have specific setting-groups
|
||||||
|
// to select, we'll handle this here
|
||||||
|
// (this is for multiserver-client settings)
|
||||||
|
$_data = array();
|
||||||
|
if($selection != null
|
||||||
|
&& is_array($selection)
|
||||||
|
&& isset($selection[0])
|
||||||
|
) {
|
||||||
|
$_data['groups'] = array();
|
||||||
|
foreach($data['groups'] as $group => $data)
|
||||||
|
{
|
||||||
|
if(in_array($group, $selection)) {
|
||||||
|
$_data['groups'][$group] = $data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$data = $_data;
|
||||||
|
}
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,8 @@
|
|||||||
* @param bool Set to true to get an array with debug information
|
* @param bool Set to true to get an array with debug information
|
||||||
* @return array Contains debug information if parameter 'returndebuginfo' is set to true
|
* @return array Contains debug information if parameter 'returndebuginfo' is set to true
|
||||||
*
|
*
|
||||||
* @author Florian Lippert <flo@syscp.org>
|
* @author Florian Lippert <flo@syscp.org> (2003-2009)
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function updateCounters($returndebuginfo = false)
|
function updateCounters($returndebuginfo = false)
|
||||||
@@ -158,6 +159,16 @@ function updateCounters($returndebuginfo = false)
|
|||||||
$admin_resources[$customer['adminid']]['subdomains_used']+= intval_ressource($customer['subdomains']);
|
$admin_resources[$customer['adminid']]['subdomains_used']+= intval_ressource($customer['subdomains']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!isset($admin_resources[$customer['adminid']]['aps_packages_used']))
|
||||||
|
{
|
||||||
|
$admin_resources[$customer['adminid']]['aps_packages_used'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($customer['aps_packages'] != '-1')
|
||||||
|
{
|
||||||
|
$admin_resources[$customer['adminid']]['aps_packages_used']+= intval_ressource($customer['aps_packages']);
|
||||||
|
}
|
||||||
|
|
||||||
$customer_mysqls = $db->query_first('SELECT COUNT(*) AS `number_mysqls` FROM `' . TABLE_PANEL_DATABASES . '` WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
$customer_mysqls = $db->query_first('SELECT COUNT(*) AS `number_mysqls` FROM `' . TABLE_PANEL_DATABASES . '` WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
||||||
$customer['mysqls_used_new'] = (int)$customer_mysqls['number_mysqls'];
|
$customer['mysqls_used_new'] = (int)$customer_mysqls['number_mysqls'];
|
||||||
$customer_emails = $db->query_first('SELECT COUNT(*) AS `number_emails` FROM `' . TABLE_MAIL_VIRTUAL . '` WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
$customer_emails = $db->query_first('SELECT COUNT(*) AS `number_emails` FROM `' . TABLE_MAIL_VIRTUAL . '` WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
||||||
@@ -194,8 +205,25 @@ function updateCounters($returndebuginfo = false)
|
|||||||
|
|
||||||
$customer_email_autoresponder = $db->query_first('SELECT COUNT(*) AS `number_autoresponder` FROM `' . TABLE_MAIL_AUTORESPONDER . '` WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
$customer_email_autoresponder = $db->query_first('SELECT COUNT(*) AS `number_autoresponder` FROM `' . TABLE_MAIL_AUTORESPONDER . '` WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
||||||
$customer['email_autoresponder_used_new'] = (int)$customer_email_autoresponder['number_autoresponder'];
|
$customer['email_autoresponder_used_new'] = (int)$customer_email_autoresponder['number_autoresponder'];
|
||||||
|
$customer_aps_packages = $db->query_first('SELECT COUNT(*) AS `number_apspackages` FROM `' . TABLE_APS_INSTANCES . '` WHERE `CustomerID` = "' . (int)$customer['customerid'] . '"');
|
||||||
|
$customer['aps_packages_used_new'] = (int)$customer_aps_packages['number_apspackages'];
|
||||||
|
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_CUSTOMERS . '` SET `mysqls_used` = "' . (int)$customer['mysqls_used_new'] . '", `emails_used` = "' . (int)$customer['emails_used_new'] . '", `email_accounts_used` = "' . (int)$customer['email_accounts_used_new'] . '", `email_forwarders_used` = "' . (int)$customer['email_forwarders_used_new'] . '", `email_quota_used` = "' . (int)$customer['email_quota_used_new'] . '", `email_autoresponder_used` = "' . (int)$customer['email_autoresponder_used_new'] . '", `ftps_used` = "' . (int)$customer['ftps_used_new'] . '", `tickets_used` = "' . (int)$customer['tickets_used_new'] . '", `subdomains_used` = "' . (int)$customer['subdomains_used_new'] . '" WHERE `customerid` = "' . (int)$customer['customerid'] . '"');
|
$db->query('UPDATE
|
||||||
|
`' . TABLE_PANEL_CUSTOMERS . '`
|
||||||
|
SET
|
||||||
|
`mysqls_used` = "' . (int)$customer['mysqls_used_new'] . '",
|
||||||
|
`emails_used` = "' . (int)$customer['emails_used_new'] . '",
|
||||||
|
`email_accounts_used` = "' . (int)$customer['email_accounts_used_new'] . '",
|
||||||
|
`email_forwarders_used` = "' . (int)$customer['email_forwarders_used_new'] . '",
|
||||||
|
`email_quota_used` = "' . (int)$customer['email_quota_used_new'] . '",
|
||||||
|
`email_autoresponder_used` = "' . (int)$customer['email_autoresponder_used_new'] . '",
|
||||||
|
`ftps_used` = "' . (int)$customer['ftps_used_new'] . '",
|
||||||
|
`tickets_used` = "' . (int)$customer['tickets_used_new'] . '",
|
||||||
|
`subdomains_used` = "' . (int)$customer['subdomains_used_new'] . '",
|
||||||
|
`aps_packages_used` = "' . (int)$customer['aps_packages_used_new'] . '"
|
||||||
|
WHERE
|
||||||
|
`customerid` = "' . (int)$customer['customerid'] . '"
|
||||||
|
');
|
||||||
|
|
||||||
if($returndebuginfo === true)
|
if($returndebuginfo === true)
|
||||||
{
|
{
|
||||||
@@ -287,6 +315,11 @@ function updateCounters($returndebuginfo = false)
|
|||||||
$admin_resources[$admin['adminid']]['email_autoresponder_used'] = 0;
|
$admin_resources[$admin['adminid']]['email_autoresponder_used'] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!isset($admin_resources[$admin['adminid']]['email_autoresponder_used']))
|
||||||
|
{
|
||||||
|
$admin_resources[$admin['adminid']]['email_autoresponder_used'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
$admin['email_autoresponder_used_new'] = $admin_resources[$admin['adminid']]['email_autoresponder_used'];
|
$admin['email_autoresponder_used_new'] = $admin_resources[$admin['adminid']]['email_autoresponder_used'];
|
||||||
|
|
||||||
if(!isset($admin_resources[$admin['adminid']]['subdomains_used']))
|
if(!isset($admin_resources[$admin['adminid']]['subdomains_used']))
|
||||||
@@ -294,9 +327,39 @@ function updateCounters($returndebuginfo = false)
|
|||||||
$admin_resources[$admin['adminid']]['subdomains_used'] = 0;
|
$admin_resources[$admin['adminid']]['subdomains_used'] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!isset($admin_resources[$admin['adminid']]['aps_packages_used']))
|
||||||
|
{
|
||||||
|
$admin_resources[$admin['adminid']]['aps_packages_used'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$admin['aps_packages_used_new'] = $admin_resources[$admin['adminid']]['aps_packages_used'];
|
||||||
|
|
||||||
|
if(!isset($admin_resources[$admin['adminid']]['aps_packages_used']))
|
||||||
|
{
|
||||||
|
$admin_resources[$admin['adminid']]['aps_packages_used'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
$admin['subdomains_used_new'] = $admin_resources[$admin['adminid']]['subdomains_used'];
|
$admin['subdomains_used_new'] = $admin_resources[$admin['adminid']]['subdomains_used'];
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_ADMINS . '` SET `customers_used` = "' . (int)$admin['customers_used_new'] . '", `domains_used` = "' . (int)$admin['domains_used_new'] . '", `diskspace_used` = "' . (int)$admin['diskspace_used_new'] . '", `mysqls_used` = "' . (int)$admin['mysqls_used_new'] . '", `emails_used` = "' . (int)$admin['emails_used_new'] . '", `email_accounts_used` = "' . (int)$admin['email_accounts_used_new'] . '", `email_forwarders_used` = "' . (int)$admin['email_forwarders_used_new'] . '", `email_quota_used` = "' . (int)$admin['email_quota_used_new'] . '", `email_autoresponder_used` = "' . (int)$admin['email_autoresponder_used_new'] . '", `ftps_used` = "' . (int)$admin['ftps_used_new'] . '", `tickets_used` = "' . (int)$admin['tickets_used_new'] . '", `subdomains_used` = "' . (int)$admin['subdomains_used_new'] . '", `traffic_used` = "' . (int)$admin['traffic_used_new'] . '" WHERE `adminid` = "' . (int)$admin['adminid'] . '"');
|
$db->query('UPDATE
|
||||||
|
`' . TABLE_PANEL_ADMINS . '`
|
||||||
|
SET
|
||||||
|
`customers_used` = "' . (int)$admin['customers_used_new'] . '",
|
||||||
|
`domains_used` = "' . (int)$admin['domains_used_new'] . '",
|
||||||
|
`diskspace_used` = "' . (int)$admin['diskspace_used_new'] . '",
|
||||||
|
`mysqls_used` = "' . (int)$admin['mysqls_used_new'] . '",
|
||||||
|
`emails_used` = "' . (int)$admin['emails_used_new'] . '",
|
||||||
|
`email_accounts_used` = "' . (int)$admin['email_accounts_used_new'] . '",
|
||||||
|
`email_forwarders_used` = "' . (int)$admin['email_forwarders_used_new'] . '",
|
||||||
|
`email_quota_used` = "' . (int)$admin['email_quota_used_new'] . '",
|
||||||
|
`email_autoresponder_used` = "' . (int)$admin['email_autoresponder_used_new'] . '",
|
||||||
|
`ftps_used` = "' . (int)$admin['ftps_used_new'] . '",
|
||||||
|
`tickets_used` = "' . (int)$admin['tickets_used_new'] . '",
|
||||||
|
`subdomains_used` = "' . (int)$admin['subdomains_used_new'] . '",
|
||||||
|
`traffic_used` = "' . (int)$admin['traffic_used_new'] . '",
|
||||||
|
`aps_packages_used` = "' . (int)$admin['aps_packages_used_new'] . '"
|
||||||
|
WHERE
|
||||||
|
`adminid` = "' . (int)$admin['adminid'] . '"
|
||||||
|
');
|
||||||
|
|
||||||
if($returndebuginfo === true)
|
if($returndebuginfo === true)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,12 +24,20 @@
|
|||||||
* @param string Value which will be returned if user chooses yes
|
* @param string Value which will be returned if user chooses yes
|
||||||
* @param string Value which will be returned if user chooses no
|
* @param string Value which will be returned if user chooses no
|
||||||
* @param string Value which is chosen by default
|
* @param string Value which is chosen by default
|
||||||
|
* @param bool Whether this element is disabled or not (default: false)
|
||||||
* @return string HTML Code
|
* @return string HTML Code
|
||||||
* @author Florian Lippert <flo@syscp.org>
|
* @author Florian Lippert <flo@syscp.org> (2003-2009)
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function makeyesno($name, $yesvalue, $novalue = '', $yesselected = '')
|
function makeyesno($name, $yesvalue, $novalue = '', $yesselected = '', $disabled = false)
|
||||||
{
|
{
|
||||||
global $lng;
|
global $lng;
|
||||||
return '<select class="dropdown_noborder" name="' . $name . '"><option value="' . $yesvalue . '"' . ($yesselected ? ' selected="selected"' : '') . '>' . $lng['panel']['yes'] . '</option><option value="' . $novalue . '"' . ($yesselected ? '' : ' selected="selected"') . '>' . $lng['panel']['no'] . '</option></select>';
|
|
||||||
|
if($disabled) {
|
||||||
|
$d = ' disabled="disabled"';
|
||||||
|
} else {
|
||||||
|
$d = '';
|
||||||
|
}
|
||||||
|
return '<select class="dropdown_noborder" name="' . $name . '"'.$d.'><option value="' . $yesvalue . '"' . ($yesselected ? ' selected="selected"' : '') . '>' . $lng['panel']['yes'] . '</option><option value="' . $novalue . '"' . ($yesselected ? '' : ' selected="selected"') . '>' . $lng['panel']['no'] . '</option></select>';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,8 +37,6 @@ function storeSettingDefaultIp($fieldname, $fielddata, $newfieldvalue)
|
|||||||
{
|
{
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_DOMAINS . '` SET `ipandport`=\'' . (int)$newfieldvalue . '\' WHERE `id` IN (\'' . implode('\',\'', $ids) . '\') AND `ipandport` = \'' . $db->escape(getSetting('system', 'defaultip')) . '\'');
|
$db->query('UPDATE `' . TABLE_PANEL_DOMAINS . '` SET `ipandport`=\'' . (int)$newfieldvalue . '\' WHERE `id` IN (\'' . implode('\',\'', $ids) . '\') AND `ipandport` = \'' . $db->escape(getSetting('system', 'defaultip')) . '\'');
|
||||||
}
|
}
|
||||||
|
|
||||||
inserttask('1');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $returnvalue;
|
return $returnvalue;
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ function storeSettingFieldInsertBindTask($fieldname, $fielddata, $newfieldvalue)
|
|||||||
{
|
{
|
||||||
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
|
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
|
||||||
{
|
{
|
||||||
inserttask('4');
|
|
||||||
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
|
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ function storeSettingHostname($fieldname, $fielddata, $newfieldvalue)
|
|||||||
if(count($ids) > 0)
|
if(count($ids) > 0)
|
||||||
{
|
{
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_DOMAINS . '` SET `domain` = REPLACE(`domain`, \'' . $db->escape(getSetting('system', 'hostname')) . '\', \'' . $db->escape($newfieldvalue) . '\') WHERE `id` IN (\'' . implode('\',\'', $ids) . '\')');
|
$db->query('UPDATE `' . TABLE_PANEL_DOMAINS . '` SET `domain` = REPLACE(`domain`, \'' . $db->escape(getSetting('system', 'hostname')) . '\', \'' . $db->escape($newfieldvalue) . '\') WHERE `id` IN (\'' . implode('\',\'', $ids) . '\')');
|
||||||
inserttask('1');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
44
lib/functions/validate/function.checkFcgidPhpFpm.php
Normal file
44
lib/functions/validate/function.checkFcgidPhpFpm.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
function checkFcgidPhpFpm($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues)
|
||||||
|
{
|
||||||
|
global $settings;
|
||||||
|
|
||||||
|
$returnvalue = array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* check whether fcgid should be enabled but php-fpm is
|
||||||
|
*/
|
||||||
|
if($fieldname == 'system_mod_fcgid_enabled'
|
||||||
|
&& (int)$newfieldvalue == 1
|
||||||
|
&& (int)$settings['phpfpm']['enabled'] == 1
|
||||||
|
) {
|
||||||
|
$returnvalue = array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'phpfpmstillenabled');
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* check whether php-fpm should be enabled but fcgid is
|
||||||
|
*/
|
||||||
|
elseif($fieldname == 'system_phpfpm_enabled'
|
||||||
|
&& (int)$newfieldvalue == 1
|
||||||
|
&& (int)$settings['system']['mod_fcgid'] == 1
|
||||||
|
) {
|
||||||
|
$returnvalue = array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'fcgidstillenabled');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnvalue;
|
||||||
|
}
|
||||||
60
lib/functions/validate/function.checkPathConflicts.php
Normal file
60
lib/functions/validate/function.checkPathConflicts.php
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
function checkPathConflicts($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues)
|
||||||
|
{
|
||||||
|
global $settings;
|
||||||
|
if((int)$settings['system']['mod_fcgid'] == 1)
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* fcgid-configdir has changed ->
|
||||||
|
* check against customer-doc-prefix
|
||||||
|
*/
|
||||||
|
if($fieldname == "system_mod_fcgid_configdir")
|
||||||
|
{
|
||||||
|
$newdir = makeCorrectDir($newfieldvalue);
|
||||||
|
$cdir = makeCorrectDir($settings['system']['documentroot_prefix']);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* customer-doc-prefix has changed ->
|
||||||
|
* check against fcgid-configdir
|
||||||
|
*/
|
||||||
|
elseif($fieldname == "system_documentroot_prefix")
|
||||||
|
{
|
||||||
|
$newdir = makeCorrectDir($newfieldvalue);
|
||||||
|
$cdir = makeCorrectDir($settings['system']['mod_fcgid_configdir']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// neither dir can be within the other nor can they be equal
|
||||||
|
if(substr($newdir, 0, strlen($cdir)) == $cdir
|
||||||
|
|| substr($cdir, 0, strlen($newdir)) == $newdir
|
||||||
|
|| $newdir == $cdir
|
||||||
|
) {
|
||||||
|
$returnvalue = array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'fcgidpathcannotbeincustomerdoc');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$returnvalue = array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$returnvalue = array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnvalue;
|
||||||
|
}
|
||||||
44
lib/functions/validate/function.setCycleOfCronjob.php
Normal file
44
lib/functions/validate/function.setCycleOfCronjob.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
function setCycleOfCronjob($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues)
|
||||||
|
{
|
||||||
|
global $settings, $db;
|
||||||
|
|
||||||
|
switch($newfieldvalue)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
$interval = 'DAY';
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
$interval = 'WEEK';
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$interval = 'MONTH';
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$interval = 'YEAR';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$interval = 'MONTH';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$db->query("UPDATE `cronjobs_run` SET `interval` = '1 ".$interval."' WHERE `cronfile` = 'cron_used_tickets_reset.php';");
|
||||||
|
|
||||||
|
return array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
|
||||||
|
}
|
||||||
@@ -39,7 +39,7 @@ function validateUrl($url)
|
|||||||
// needs converting
|
// needs converting
|
||||||
$url = $idna_convert->encode($url);
|
$url = $idna_convert->encode($url);
|
||||||
|
|
||||||
$pattern = "/^https?:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/i";
|
$pattern = "/^https?:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}(\:[0-9]+)?\/?(.+)?$/i";
|
||||||
if(preg_match($pattern, $url))
|
if(preg_match($pattern, $url))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -183,7 +183,12 @@ if(!isset($settings['admin']['froxlor_graphic'])
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$remote_addr = $_SERVER['REMOTE_ADDR'];
|
$remote_addr = $_SERVER['REMOTE_ADDR'];
|
||||||
$http_user_agent = $_SERVER['HTTP_USER_AGENT'];
|
|
||||||
|
if (empty($_SERVER['HTTP_USER_AGENT'])) {
|
||||||
|
$http_user_agent = 'unknown';
|
||||||
|
} else {
|
||||||
|
$http_user_agent = $_SERVER['HTTP_USER_AGENT'];
|
||||||
|
}
|
||||||
unset($userinfo);
|
unset($userinfo);
|
||||||
unset($userid);
|
unset($userid);
|
||||||
unset($customerid);
|
unset($customerid);
|
||||||
@@ -403,6 +408,8 @@ if(AREA == 'admin' || AREA == 'customer')
|
|||||||
}
|
}
|
||||||
|
|
||||||
eval("\$header = \"" . getTemplate('header', '1') . "\";");
|
eval("\$header = \"" . getTemplate('header', '1') . "\";");
|
||||||
|
|
||||||
|
$current_year = date('Y', time());
|
||||||
eval("\$footer = \"" . getTemplate('footer', '1') . "\";");
|
eval("\$footer = \"" . getTemplate('footer', '1') . "\";");
|
||||||
|
|
||||||
if(isset($_POST['action']))
|
if(isset($_POST['action']))
|
||||||
|
|||||||
@@ -218,7 +218,14 @@ return array (
|
|||||||
array (
|
array (
|
||||||
'url' => 'admin_phpsettings.php?page=overview',
|
'url' => 'admin_phpsettings.php?page=overview',
|
||||||
'label' => $lng['menue']['phpsettings']['maintitle'],
|
'label' => $lng['menue']['phpsettings']['maintitle'],
|
||||||
'show_element' => ( getSetting('system', 'mod_fcgid') == true ),
|
'show_element' => (
|
||||||
|
getSetting('system', 'mod_fcgid') == true
|
||||||
|
/*
|
||||||
|
* @TODO activate if phpfpm knows custom php.ini files
|
||||||
|
*
|
||||||
|
* || getSetting('phpfpm', 'enabled') == true
|
||||||
|
*/
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ define('TABLE_PANEL_TRAFFIC_ADMINS', 'panel_traffic_admins');
|
|||||||
define('TABLE_PANEL_DISKSPACE', 'panel_diskspace');
|
define('TABLE_PANEL_DISKSPACE', 'panel_diskspace');
|
||||||
define('TABLE_PANEL_DISKSPACE_ADMINS', 'panel_diskspace_admins');
|
define('TABLE_PANEL_DISKSPACE_ADMINS', 'panel_diskspace_admins');
|
||||||
define('TABLE_PANEL_LANGUAGE', 'panel_languages');
|
define('TABLE_PANEL_LANGUAGE', 'panel_languages');
|
||||||
define('TABLE_PANEL_CRONSCRIPT', 'panel_cronscript');
|
|
||||||
define('TABLE_PANEL_IPSANDPORTS', 'panel_ipsandports');
|
define('TABLE_PANEL_IPSANDPORTS', 'panel_ipsandports');
|
||||||
define('TABLE_PANEL_TICKETS', 'panel_tickets');
|
define('TABLE_PANEL_TICKETS', 'panel_tickets');
|
||||||
define('TABLE_PANEL_TICKET_CATS', 'panel_ticket_categories');
|
define('TABLE_PANEL_TICKET_CATS', 'panel_ticket_categories');
|
||||||
@@ -53,6 +52,8 @@ define('TABLE_APS_TEMP_SETTINGS', 'aps_temp_settings');
|
|||||||
define('TABLE_PANEL_CRONRUNS', 'cronjobs_run');
|
define('TABLE_PANEL_CRONRUNS', 'cronjobs_run');
|
||||||
define('TABLE_PANEL_REDIRECTCODES', 'redirect_codes');
|
define('TABLE_PANEL_REDIRECTCODES', 'redirect_codes');
|
||||||
define('TABLE_PANEL_DOMAINREDIRECTS', 'domain_redirect_codes');
|
define('TABLE_PANEL_DOMAINREDIRECTS', 'domain_redirect_codes');
|
||||||
|
define('TABLE_PANEL_IPDOCROOTSETTINGS', 'ipsandports_docrootsettings');
|
||||||
|
define('TABLE_PANEL_DOMDOCROOTSETTINGS', 'domain_docrootsettings');
|
||||||
|
|
||||||
// APS constants
|
// APS constants
|
||||||
|
|
||||||
@@ -72,7 +73,7 @@ define('PACKAGE_ENABLED', 2);
|
|||||||
|
|
||||||
// VERSION INFO
|
// VERSION INFO
|
||||||
|
|
||||||
$version = '0.9.13';
|
$version = '0.9.17';
|
||||||
$dbversion = '2';
|
$dbversion = '2';
|
||||||
$branding = '';
|
$branding = '';
|
||||||
|
|
||||||
|
|||||||
1070
lng/dutch.lng.php
1070
lng/dutch.lng.php
File diff suppressed because it is too large
Load Diff
@@ -63,7 +63,7 @@ $lng['customer']['email'] = 'Email';
|
|||||||
$lng['customer']['customernumber'] = 'Customer ID';
|
$lng['customer']['customernumber'] = 'Customer ID';
|
||||||
$lng['customer']['diskspace'] = 'Webspace (MB)';
|
$lng['customer']['diskspace'] = 'Webspace (MB)';
|
||||||
$lng['customer']['traffic'] = 'Traffic (GB)';
|
$lng['customer']['traffic'] = 'Traffic (GB)';
|
||||||
$lng['customer']['mysqls'] = 'MySQL-Databases';
|
$lng['customer']['mysqls'] = 'MySQL-databases';
|
||||||
$lng['customer']['emails'] = 'E-mail-Addresses';
|
$lng['customer']['emails'] = 'E-mail-Addresses';
|
||||||
$lng['customer']['accounts'] = 'E-mail-Accounts';
|
$lng['customer']['accounts'] = 'E-mail-Accounts';
|
||||||
$lng['customer']['forwarders'] = 'E-mail-Forwarders';
|
$lng['customer']['forwarders'] = 'E-mail-Forwarders';
|
||||||
@@ -81,7 +81,7 @@ $lng['menue']['main']['changepassword'] = 'Change password';
|
|||||||
$lng['menue']['main']['changelanguage'] = 'Change language';
|
$lng['menue']['main']['changelanguage'] = 'Change language';
|
||||||
$lng['menue']['email']['email'] = 'E-mail';
|
$lng['menue']['email']['email'] = 'E-mail';
|
||||||
$lng['menue']['email']['emails'] = 'Addresses';
|
$lng['menue']['email']['emails'] = 'Addresses';
|
||||||
$lng['menue']['email']['webmail'] = 'WebMail';
|
$lng['menue']['email']['webmail'] = 'webmail';
|
||||||
$lng['menue']['mysql']['mysql'] = 'MySQL';
|
$lng['menue']['mysql']['mysql'] = 'MySQL';
|
||||||
$lng['menue']['mysql']['databases'] = 'Databases';
|
$lng['menue']['mysql']['databases'] = 'Databases';
|
||||||
$lng['menue']['mysql']['phpmyadmin'] = 'phpMyAdmin';
|
$lng['menue']['mysql']['phpmyadmin'] = 'phpMyAdmin';
|
||||||
@@ -92,14 +92,14 @@ $lng['menue']['ftp']['accounts'] = 'Accounts';
|
|||||||
$lng['menue']['ftp']['webftp'] = 'WebFTP';
|
$lng['menue']['ftp']['webftp'] = 'WebFTP';
|
||||||
$lng['menue']['extras']['extras'] = 'Extras';
|
$lng['menue']['extras']['extras'] = 'Extras';
|
||||||
$lng['menue']['extras']['directoryprotection'] = 'Directory protection';
|
$lng['menue']['extras']['directoryprotection'] = 'Directory protection';
|
||||||
$lng['menue']['extras']['pathoptions'] = 'path options';
|
$lng['menue']['extras']['pathoptions'] = 'Path options';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Index
|
* Index
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['index']['customerdetails'] = 'Customer Details';
|
$lng['index']['customerdetails'] = 'Customer details';
|
||||||
$lng['index']['accountdetails'] = 'Account Details';
|
$lng['index']['accountdetails'] = 'Account details';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change Password
|
* Change Password
|
||||||
@@ -128,7 +128,7 @@ $lng['domains']['noaliasdomain'] = 'No alias domain';
|
|||||||
* E-mails
|
* E-mails
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['emails']['description'] = 'Here you can create and change your e-mail addresses.<br />An account is like your letterbox in front of your house. If someone sends you an email, it will be dropped into the account.<br /><br />To download your emails use the following settings in your mailprogram: (The data in <i>italics</i> has to be changed to the equivalents you typed in!)<br />Hostname: <b><i>Domainname</i></b><br />Username: <b><i>Account name / e-mail address</i></b><br />Password: <b><i>the password you\'ve chosen</i></b>';
|
$lng['emails']['description'] = 'Here you can create and change your e-mail addresses.<br />An account is like your letterbox in front of your house. If someone sends you an email, it will be dropped into the account.<br /><br />To download your emails use the following settings in your mailprogram: (The data in <i>italics</i> has to be changed to the equivalents you typed in!)<br />Hostname: <b><i>domainname</i></b><br />Username: <b><i>account name / e-mail address</i></b><br />password: <b><i>the password you\'ve chosen</i></b>';
|
||||||
$lng['emails']['emailaddress'] = 'E-mail-address';
|
$lng['emails']['emailaddress'] = 'E-mail-address';
|
||||||
$lng['emails']['emails_add'] = 'Create e-mail-address';
|
$lng['emails']['emails_add'] = 'Create e-mail-address';
|
||||||
$lng['emails']['emails_edit'] = 'Edit e-mail-address';
|
$lng['emails']['emails_edit'] = 'Edit e-mail-address';
|
||||||
@@ -187,7 +187,7 @@ $lng['error']['allresourcesused'] = 'You have already used all of your resources
|
|||||||
$lng['error']['domains_cantdeletemaindomain'] = 'You cannot delete a domain which is used as an email-domain.';
|
$lng['error']['domains_cantdeletemaindomain'] = 'You cannot delete a domain which is used as an email-domain.';
|
||||||
$lng['error']['domains_canteditdomain'] = 'You cannot edit this domain. It has been disabled by the admin.';
|
$lng['error']['domains_canteditdomain'] = 'You cannot edit this domain. It has been disabled by the admin.';
|
||||||
$lng['error']['domains_cantdeletedomainwithemail'] = 'You cannot delete a domain which is used as an email-domain. Delete all email addresses first.';
|
$lng['error']['domains_cantdeletedomainwithemail'] = 'You cannot delete a domain which is used as an email-domain. Delete all email addresses first.';
|
||||||
$lng['error']['firstdeleteallsubdomains'] = 'You have to delete all Subdomains first before you can create a wildcard domain.';
|
$lng['error']['firstdeleteallsubdomains'] = 'You have to delete all subdomains first before you can create a wildcard domain.';
|
||||||
$lng['error']['youhavealreadyacatchallforthisdomain'] = 'You have already defined a catchall for this domain.';
|
$lng['error']['youhavealreadyacatchallforthisdomain'] = 'You have already defined a catchall for this domain.';
|
||||||
$lng['error']['ftp_cantdeletemainaccount'] = 'You cannot delete your main FTP account';
|
$lng['error']['ftp_cantdeletemainaccount'] = 'You cannot delete your main FTP account';
|
||||||
$lng['error']['login'] = 'The username or password you typed in is wrong. Please try it again!';
|
$lng['error']['login'] = 'The username or password you typed in is wrong. Please try it again!';
|
||||||
@@ -196,7 +196,7 @@ $lng['error']['notallreqfieldsorerrors'] = 'You have not filled in all or filled
|
|||||||
$lng['error']['oldpasswordnotcorrect'] = 'The old password is not correct.';
|
$lng['error']['oldpasswordnotcorrect'] = 'The old password is not correct.';
|
||||||
$lng['error']['youcantallocatemorethanyouhave'] = 'You cannot allocate more resources than you own for yourself.';
|
$lng['error']['youcantallocatemorethanyouhave'] = 'You cannot allocate more resources than you own for yourself.';
|
||||||
$lng['error']['mustbeurl'] = 'You have not typed a valid or complete url (e.g. http://somedomain.com/error404.htm)';
|
$lng['error']['mustbeurl'] = 'You have not typed a valid or complete url (e.g. http://somedomain.com/error404.htm)';
|
||||||
$lng['error']['invalidpath'] = 'You have not chosen a valid url (maybe problems with the dirlisting?)';
|
$lng['error']['invalidpath'] = 'You have not chosen a valid URL (maybe problems with the dirlisting?)';
|
||||||
$lng['error']['stringisempty'] = 'Missing Input in Field';
|
$lng['error']['stringisempty'] = 'Missing Input in Field';
|
||||||
$lng['error']['stringiswrong'] = 'Wrong Input in Field';
|
$lng['error']['stringiswrong'] = 'Wrong Input in Field';
|
||||||
$lng['error']['myloginname'] = '\'' . $lng['login']['username'] . '\'';
|
$lng['error']['myloginname'] = '\'' . $lng['login']['username'] . '\'';
|
||||||
@@ -213,14 +213,14 @@ $lng['error']['mydocumentroot'] = '\'Documentroot\'';
|
|||||||
$lng['error']['loginnameexists'] = 'Login-Name %s already exists';
|
$lng['error']['loginnameexists'] = 'Login-Name %s already exists';
|
||||||
$lng['error']['emailiswrong'] = 'E-mail-Address %s contains invalid characters or is incomplete';
|
$lng['error']['emailiswrong'] = 'E-mail-Address %s contains invalid characters or is incomplete';
|
||||||
$lng['error']['loginnameiswrong'] = 'Login-Name %s contains invalid characters';
|
$lng['error']['loginnameiswrong'] = 'Login-Name %s contains invalid characters';
|
||||||
$lng['error']['userpathcombinationdupe'] = 'Combination of Username and Path already exists';
|
$lng['error']['userpathcombinationdupe'] = 'Combination of username and path already exists';
|
||||||
$lng['error']['patherror'] = 'General Error! path cannot be empty';
|
$lng['error']['patherror'] = 'General Error! Path cannot be empty';
|
||||||
$lng['error']['errordocpathdupe'] = 'Option for path %s already exists';
|
$lng['error']['errordocpathdupe'] = 'Option for path %s already exists';
|
||||||
$lng['error']['adduserfirst'] = 'Please create a customer first';
|
$lng['error']['adduserfirst'] = 'Please create a customer first';
|
||||||
$lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer';
|
$lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer';
|
||||||
$lng['error']['nolanguageselect'] = 'No language selected.';
|
$lng['error']['nolanguageselect'] = 'No language selected.';
|
||||||
$lng['error']['nosubjectcreate'] = 'You must define a topic for this mail template.';
|
$lng['error']['nosubjectcreate'] = 'You must define a topic for this mail template.';
|
||||||
$lng['error']['nomailbodycreate'] = 'You must define a Mail-Text for this mail template.';
|
$lng['error']['nomailbodycreate'] = 'You must define a mail-text for this mail template.';
|
||||||
$lng['error']['templatenotfound'] = 'Template was not found.';
|
$lng['error']['templatenotfound'] = 'Template was not found.';
|
||||||
$lng['error']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.';
|
$lng['error']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.';
|
||||||
$lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.';
|
$lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.';
|
||||||
@@ -231,7 +231,7 @@ $lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is ei
|
|||||||
$lng['error']['emailexistalready'] = 'The e-mail-Address %s already exists.';
|
$lng['error']['emailexistalready'] = 'The e-mail-Address %s already exists.';
|
||||||
$lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.';
|
$lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.';
|
||||||
$lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.';
|
$lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.';
|
||||||
$lng['error']['destinationalreadyexistasmail'] = 'The forwarder to %s already exists as active EMail-Address.';
|
$lng['error']['destinationalreadyexistasmail'] = 'The forwarder to %s already exists as active e-mail-address.';
|
||||||
$lng['error']['destinationalreadyexist'] = 'You have already defined a forwarder to %s .';
|
$lng['error']['destinationalreadyexist'] = 'You have already defined a forwarder to %s .';
|
||||||
$lng['error']['destinationiswrong'] = 'The forwarder %s contains invalid character(s) or is incomplete.';
|
$lng['error']['destinationiswrong'] = 'The forwarder %s contains invalid character(s) or is incomplete.';
|
||||||
$lng['error']['domainname'] = $lng['domains']['domainname'];
|
$lng['error']['domainname'] = $lng['domains']['domainname'];
|
||||||
@@ -243,7 +243,7 @@ $lng['error']['domainname'] = $lng['domains']['domainname'];
|
|||||||
$lng['question']['question'] = 'Security question';
|
$lng['question']['question'] = 'Security question';
|
||||||
$lng['question']['admin_customer_reallydelete'] = 'Do you really want to delete the customer %s? This cannot be undone!';
|
$lng['question']['admin_customer_reallydelete'] = 'Do you really want to delete the customer %s? This cannot be undone!';
|
||||||
$lng['question']['admin_domain_reallydelete'] = 'Do you really want to delete the domain %s?';
|
$lng['question']['admin_domain_reallydelete'] = 'Do you really want to delete the domain %s?';
|
||||||
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Do you really want to disable these Security settings (OpenBasedir and/or SafeMode)?';
|
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Do you really want to disable these security settings (OpenBasedir and/or SafeMode)?';
|
||||||
$lng['question']['admin_admin_reallydelete'] = 'Do you really want to delete the admin %s? Every customer and domain will be reassigned to your account.';
|
$lng['question']['admin_admin_reallydelete'] = 'Do you really want to delete the admin %s? Every customer and domain will be reassigned to your account.';
|
||||||
$lng['question']['admin_template_reallydelete'] = 'Do you really want to delete the template \'%s\'?';
|
$lng['question']['admin_template_reallydelete'] = 'Do you really want to delete the template \'%s\'?';
|
||||||
$lng['question']['domains_reallydelete'] = 'Do you really want to delete the domain %s?';
|
$lng['question']['domains_reallydelete'] = 'Do you really want to delete the domain %s?';
|
||||||
@@ -263,7 +263,7 @@ $lng['question']['admin_customer_alsoremoveftphomedir'] = 'Also remove FTP-user
|
|||||||
* Mails
|
* Mails
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['mails']['pop_success']['mailbody'] = 'Hello,\n\nyour Mail account {EMAIL}\nwas set up successfully.\n\nThis is an automatically created\ne-mail, please do not answer!\n\nYours sincerely, the Froxlor-Team';
|
$lng['mails']['pop_success']['mailbody'] = 'Hello,\n\nyour mail account {EMAIL}\nwas set up successfully.\n\nThis is an automatically created\ne-mail, please do not answer!\n\nYours sincerely, the Froxlor-Team';
|
||||||
$lng['mails']['pop_success']['subject'] = 'Mail account set up successfully';
|
$lng['mails']['pop_success']['subject'] = 'Mail account set up successfully';
|
||||||
$lng['mails']['createcustomer']['mailbody'] = 'Hello {FIRSTNAME} {NAME},\n\nhere is your account information:\n\nUsername: {USERNAME}\nPassword: {PASSWORD}\n\nThank you,\nthe Froxlor-Team';
|
$lng['mails']['createcustomer']['mailbody'] = 'Hello {FIRSTNAME} {NAME},\n\nhere is your account information:\n\nUsername: {USERNAME}\nPassword: {PASSWORD}\n\nThank you,\nthe Froxlor-Team';
|
||||||
$lng['mails']['createcustomer']['subject'] = 'Account information';
|
$lng['mails']['createcustomer']['subject'] = 'Account information';
|
||||||
@@ -274,8 +274,8 @@ $lng['mails']['createcustomer']['subject'] = 'Account information';
|
|||||||
|
|
||||||
$lng['admin']['overview'] = 'Overview';
|
$lng['admin']['overview'] = 'Overview';
|
||||||
$lng['admin']['ressourcedetails'] = 'Used resources';
|
$lng['admin']['ressourcedetails'] = 'Used resources';
|
||||||
$lng['admin']['systemdetails'] = 'System Details';
|
$lng['admin']['systemdetails'] = 'System details';
|
||||||
$lng['admin']['froxlordetails'] = 'Froxlor Details';
|
$lng['admin']['froxlordetails'] = 'Froxlor details';
|
||||||
$lng['admin']['installedversion'] = 'Installed version';
|
$lng['admin']['installedversion'] = 'Installed version';
|
||||||
$lng['admin']['latestversion'] = 'Latest version';
|
$lng['admin']['latestversion'] = 'Latest version';
|
||||||
$lng['admin']['lookfornewversion']['clickhere'] = 'search via webservice';
|
$lng['admin']['lookfornewversion']['clickhere'] = 'search via webservice';
|
||||||
@@ -298,16 +298,16 @@ $lng['admin']['domains_see_all'] = 'Can see all domains?';
|
|||||||
$lng['admin']['change_serversettings'] = 'Can change server settings?';
|
$lng['admin']['change_serversettings'] = 'Can change server settings?';
|
||||||
$lng['admin']['server'] = 'Server';
|
$lng['admin']['server'] = 'Server';
|
||||||
$lng['admin']['serversettings'] = 'Settings';
|
$lng['admin']['serversettings'] = 'Settings';
|
||||||
$lng['admin']['rebuildconf'] = 'Rebuild Config Files';
|
$lng['admin']['rebuildconf'] = 'Rebuild config files';
|
||||||
$lng['admin']['stdsubdomain'] = 'Standard subdomain';
|
$lng['admin']['stdsubdomain'] = 'Standard subdomain';
|
||||||
$lng['admin']['stdsubdomain_add'] = 'Create standard subdomain';
|
$lng['admin']['stdsubdomain_add'] = 'Create standard subdomain';
|
||||||
$lng['admin']['phpenabled'] = 'PHP enabled';
|
$lng['admin']['phpenabled'] = 'PHP enabled';
|
||||||
$lng['admin']['deactivated'] = 'Deactivated';
|
$lng['admin']['deactivated'] = 'Deactivated';
|
||||||
$lng['admin']['deactivated_user'] = 'Deactivate User';
|
$lng['admin']['deactivated_user'] = 'Deactivate user';
|
||||||
$lng['admin']['sendpassword'] = 'Send password';
|
$lng['admin']['sendpassword'] = 'Send password';
|
||||||
$lng['admin']['ownvhostsettings'] = 'Own vHost-Settings';
|
$lng['admin']['ownvhostsettings'] = 'Own vHost-settings';
|
||||||
$lng['admin']['configfiles']['serverconfiguration'] = 'Configuration';
|
$lng['admin']['configfiles']['serverconfiguration'] = 'Configuration';
|
||||||
$lng['admin']['configfiles']['files'] = '<b>Configfiles:</b> Please change the following files or create them with<br />the following content if they do not exist.<br /><b>Please Note:</b> The MySQL-password has not been replaced for security reasons.<br />Please replace "MYSQL_PASSWORD" on your own. If you forgot your MySQL-password<br />you\'ll find it in "lib/userdata.inc.php".';
|
$lng['admin']['configfiles']['files'] = '<b>Configfiles:</b> Please change the following files or create them with<br />the following content if they do not exist.<br /><b>Please note:</b> The MySQL-password has not been replaced for security reasons.<br />Please replace "MYSQL_PASSWORD" on your own. If you forgot your MySQL-password<br />you\'ll find it in "lib/userdata.inc.php".';
|
||||||
$lng['admin']['configfiles']['commands'] = '<b>Commands:</b> Please execute the following commands in a shell.';
|
$lng['admin']['configfiles']['commands'] = '<b>Commands:</b> Please execute the following commands in a shell.';
|
||||||
$lng['admin']['configfiles']['restart'] = '<b>Restart:</b> Please execute the following commands in a shell in order to reload the new configuration.';
|
$lng['admin']['configfiles']['restart'] = '<b>Restart:</b> Please execute the following commands in a shell in order to reload the new configuration.';
|
||||||
$lng['admin']['templates']['templates'] = 'E-Mail-templates';
|
$lng['admin']['templates']['templates'] = 'E-Mail-templates';
|
||||||
@@ -338,7 +338,7 @@ $lng['serversettings']['session_timeout']['description'] = 'How long does a user
|
|||||||
$lng['serversettings']['accountprefix']['title'] = 'Customer prefix';
|
$lng['serversettings']['accountprefix']['title'] = 'Customer prefix';
|
||||||
$lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?';
|
$lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?';
|
||||||
$lng['serversettings']['mysqlprefix']['title'] = 'SQL Prefix';
|
$lng['serversettings']['mysqlprefix']['title'] = 'SQL Prefix';
|
||||||
$lng['serversettings']['mysqlprefix']['description'] = 'Which prefix should mysql accounts have?';
|
$lng['serversettings']['mysqlprefix']['description'] = 'Which prefix should MySQL accounts have?';
|
||||||
$lng['serversettings']['ftpprefix']['title'] = 'FTP Prefix';
|
$lng['serversettings']['ftpprefix']['title'] = 'FTP Prefix';
|
||||||
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?';
|
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?';
|
||||||
$lng['serversettings']['documentroot_prefix']['title'] = 'Home directory';
|
$lng['serversettings']['documentroot_prefix']['title'] = 'Home directory';
|
||||||
@@ -367,8 +367,8 @@ $lng['serversettings']['adminmail']['title'] = 'Sender';
|
|||||||
$lng['serversettings']['adminmail']['description'] = 'What\'s the sender address for emails sent from the Panel?';
|
$lng['serversettings']['adminmail']['description'] = 'What\'s the sender address for emails sent from the Panel?';
|
||||||
$lng['serversettings']['phpmyadmin_url']['title'] = 'phpMyAdmin URL';
|
$lng['serversettings']['phpmyadmin_url']['title'] = 'phpMyAdmin URL';
|
||||||
$lng['serversettings']['phpmyadmin_url']['description'] = 'What\'s the URL to phpMyAdmin? (has to start with http(s)://)';
|
$lng['serversettings']['phpmyadmin_url']['description'] = 'What\'s the URL to phpMyAdmin? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['webmail_url']['title'] = 'WebMail URL';
|
$lng['serversettings']['webmail_url']['title'] = 'Webmail URL';
|
||||||
$lng['serversettings']['webmail_url']['description'] = 'What\'s the URL to WebMail? (has to start with http(s)://)';
|
$lng['serversettings']['webmail_url']['description'] = 'What\'s the URL to webmail? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['webftp_url']['title'] = 'WebFTP URL';
|
$lng['serversettings']['webftp_url']['title'] = 'WebFTP URL';
|
||||||
$lng['serversettings']['webftp_url']['description'] = 'What\'s the URL to WebFTP? (has to start with http(s)://)';
|
$lng['serversettings']['webftp_url']['description'] = 'What\'s the URL to WebFTP? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['language']['description'] = 'What\'s your standard server language?';
|
$lng['serversettings']['language']['description'] = 'What\'s your standard server language?';
|
||||||
@@ -387,7 +387,7 @@ $lng['serversettings']['mxservers']['description'] = 'A comma seperated list con
|
|||||||
* CHANGED BETWEEN 1.2.12 and 1.2.13
|
* CHANGED BETWEEN 1.2.12 and 1.2.13
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['mysql']['description'] = 'Here you can create and change your MySQL-Databases.<br />The changes are made instantly and the database can be used immediately.<br />At the menu on the left side you find the tool phpMyAdmin with which you can easily administer your database.<br /><br />To use your databases in your own php-scripts use the following settings: (The data in <i>italics</i> have to be changed into the equivalents you typed in!)<br />Hostname: <b><SQL_HOST></b><br />Username: <b><i>Databasename</i></b><br />Password: <b><i>the password you\'ve chosen</i></b><br />Database: <b><i>Databasename</i></b>';
|
$lng['mysql']['description'] = 'Here you can create and change your MySQL-databases.<br />The changes are made instantly and the database can be used immediately.<br />At the menu on the left side you find the tool phpMyAdmin with which you can easily administer your database.<br /><br />To use your databases in your own php-scripts use the following settings: (The data in <i>italics</i> have to be changed into the equivalents you typed in!)<br />Hostname: <b><SQL_HOST></b><br />Username: <b><i>databasename</i></b><br />Password: <b><i>the password you\'ve chosen</i></b><br />Database: <b><i>databasename</i></b>';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ADDED BETWEEN 1.2.12 and 1.2.13
|
* ADDED BETWEEN 1.2.12 and 1.2.13
|
||||||
@@ -427,19 +427,19 @@ $lng['admin']['valuemandatorycompany'] = 'Either "name" and "firs
|
|||||||
$lng['menue']['main']['username'] = 'Logged in as: ';
|
$lng['menue']['main']['username'] = 'Logged in as: ';
|
||||||
$lng['panel']['urloverridespath'] = 'URL (overrides path)';
|
$lng['panel']['urloverridespath'] = 'URL (overrides path)';
|
||||||
$lng['panel']['pathorurl'] = 'Path or URL';
|
$lng['panel']['pathorurl'] = 'Path or URL';
|
||||||
$lng['error']['sessiontimeoutiswrong'] = 'Only numerical "Session Timeout" is allowed.';
|
$lng['error']['sessiontimeoutiswrong'] = 'Only numerical "session timeout" is allowed.';
|
||||||
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical "Max Login Attempts" are allowed.';
|
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical "max login attempts" are allowed.';
|
||||||
$lng['error']['deactivatetimiswrong'] = 'Only numerical "Deactivation Time" is allowed.';
|
$lng['error']['deactivatetimiswrong'] = 'Only numerical "deactivation time" is allowed.';
|
||||||
$lng['error']['accountprefixiswrong'] = 'The "Customerprefix" is wrong.';
|
$lng['error']['accountprefixiswrong'] = 'The "customerprefix" is wrong.';
|
||||||
$lng['error']['mysqlprefixiswrong'] = 'The "SQL Prefix" is wrong.';
|
$lng['error']['mysqlprefixiswrong'] = 'The "SQL prefix" is wrong.';
|
||||||
$lng['error']['ftpprefixiswrong'] = 'The "FTP Prefix" is wrong.';
|
$lng['error']['ftpprefixiswrong'] = 'The "FTP prefix" is wrong.';
|
||||||
$lng['error']['ipiswrong'] = 'The "IP-Address" is wrong. Only a valid IP-address is allowed.';
|
$lng['error']['ipiswrong'] = 'The "IP-address" is wrong. Only a valid IP-address is allowed.';
|
||||||
$lng['error']['vmailuidiswrong'] = 'The "Mails-uid" is wrong. Only a numerical UID is allowed.';
|
$lng['error']['vmailuidiswrong'] = 'The "mails-uid" is wrong. Only a numerical UID is allowed.';
|
||||||
$lng['error']['vmailgidiswrong'] = 'The "Mails-gid" is wrong. Only a numerical GID is allowed.';
|
$lng['error']['vmailgidiswrong'] = 'The "mails-gid" is wrong. Only a numerical GID is allowed.';
|
||||||
$lng['error']['adminmailiswrong'] = 'The "Sender-address" is wrong. Only a valid email-address is allowed.';
|
$lng['error']['adminmailiswrong'] = 'The "sender-address" is wrong. Only a valid email-address is allowed.';
|
||||||
$lng['error']['pagingiswrong'] = 'The "Entries per Page"-value is wrong. Only numerical characters are allowed.';
|
$lng['error']['pagingiswrong'] = 'The "entries per page"-value is wrong. Only numerical characters are allowed.';
|
||||||
$lng['error']['phpmyadminiswrong'] = 'The phpMyAdmin-link is not a valid link.';
|
$lng['error']['phpmyadminiswrong'] = 'The phpMyAdmin-link is not a valid link.';
|
||||||
$lng['error']['webmailiswrong'] = 'The WebMail-link is not a valid link.';
|
$lng['error']['webmailiswrong'] = 'The webmail-link is not a valid link.';
|
||||||
$lng['error']['webftpiswrong'] = 'The WebFTP-link is not a valid link.';
|
$lng['error']['webftpiswrong'] = 'The WebFTP-link is not a valid link.';
|
||||||
$lng['domains']['hasaliasdomains'] = 'Has alias domain(s)';
|
$lng['domains']['hasaliasdomains'] = 'Has alias domain(s)';
|
||||||
$lng['serversettings']['defaultip']['title'] = 'Default IP/Port';
|
$lng['serversettings']['defaultip']['title'] = 'Default IP/Port';
|
||||||
@@ -468,7 +468,7 @@ $lng['admin']['mysqlclientversion'] = 'MySQL Client Version';
|
|||||||
$lng['admin']['webserverinterface'] = 'Webserver Interface';
|
$lng['admin']['webserverinterface'] = 'Webserver Interface';
|
||||||
$lng['domains']['isassigneddomain'] = 'Is assigned domain';
|
$lng['domains']['isassigneddomain'] = 'Is assigned domain';
|
||||||
$lng['serversettings']['phpappendopenbasedir']['title'] = 'Paths to append to OpenBasedir';
|
$lng['serversettings']['phpappendopenbasedir']['title'] = 'Paths to append to OpenBasedir';
|
||||||
$lng['serversettings']['phpappendopenbasedir']['description'] = 'These paths (separated by colons) will be added to the OpenBasedir-statement in every vhost-container.';
|
$lng['serversettings']['phpappendopenbasedir']['description'] = 'These paths (separated by colons) will be added to the OpenBasedir-statement in every vHost-container.';
|
||||||
|
|
||||||
// CHANGED IN 1.2.15-rc1
|
// CHANGED IN 1.2.15-rc1
|
||||||
|
|
||||||
@@ -484,7 +484,7 @@ $lng['serversettings']['natsorting']['description'] = 'Sorts lists as web1 -> we
|
|||||||
// ADDED IN 1.2.16-svn2
|
// ADDED IN 1.2.16-svn2
|
||||||
|
|
||||||
$lng['serversettings']['deactivateddocroot']['title'] = 'Docroot for deactivated users';
|
$lng['serversettings']['deactivateddocroot']['title'] = 'Docroot for deactivated users';
|
||||||
$lng['serversettings']['deactivateddocroot']['description'] = 'When a user is deactivated this path is used as his docroot. Leave empty for not creating a vhost at all.';
|
$lng['serversettings']['deactivateddocroot']['description'] = 'When a user is deactivated this path is used as his docroot. Leave empty for not creating a vHost at all.';
|
||||||
|
|
||||||
// ADDED IN 1.2.16-svn4
|
// ADDED IN 1.2.16-svn4
|
||||||
|
|
||||||
@@ -502,11 +502,8 @@ $lng['panel']['pathDescriptionEx'] = '<br /><br />If you want a redirect to anot
|
|||||||
|
|
||||||
// ADDED IN 1.2.16-svn6
|
// ADDED IN 1.2.16-svn6
|
||||||
|
|
||||||
$lng['mails']['trafficninetypercent']['mailbody'] = 'Dear {NAME},\n\nYou used {TRAFFICUSED} MB of your available {TRAFFIC} MB of traffic.\nThis is more than 90%.\n\nYours sincerely, the Froxlor-Team';
|
$lng['admin']['templates']['TRAFFIC'] = 'Replaced with the traffic in mB, which was assigned to the customer.';
|
||||||
$lng['mails']['trafficninetypercent']['subject'] = 'Reaching your traffic limit';
|
$lng['admin']['templates']['TRAFFICUSED'] = 'Replaced with the traffic in MB, which was exhausted by the customer.';
|
||||||
$lng['admin']['templates']['trafficninetypercent'] = 'Notification mail for customers when ninety percent of traffic is exhausted';
|
|
||||||
$lng['admin']['templates']['TRAFFIC'] = 'Replaced with the traffic, which was assigned to the customer.';
|
|
||||||
$lng['admin']['templates']['TRAFFICUSED'] = 'Replaced with the traffic, which was exhausted by the customer.';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.16-svn7
|
// ADDED IN 1.2.16-svn7
|
||||||
|
|
||||||
@@ -540,15 +537,15 @@ $lng['admin']['configfiles']['choosedaemon'] = '-- Choose a daemon --';
|
|||||||
// ADDED IN 1.2.16-svn10
|
// ADDED IN 1.2.16-svn10
|
||||||
|
|
||||||
$lng['serversettings']['ftpdomain']['title'] = 'FTP accounts @domain';
|
$lng['serversettings']['ftpdomain']['title'] = 'FTP accounts @domain';
|
||||||
$lng['serversettings']['ftpdomain']['description'] = 'Customers can create Ftp accounts user@customerdomain?';
|
$lng['serversettings']['ftpdomain']['description'] = 'Customers can create FTP accounts user@customerdomain?';
|
||||||
$lng['panel']['back'] = 'Back';
|
$lng['panel']['back'] = 'Back';
|
||||||
|
|
||||||
// ADDED IN 1.2.16-svn12
|
// ADDED IN 1.2.16-svn12
|
||||||
|
|
||||||
$lng['serversettings']['mod_log_sql']['title'] = 'Temporary save logs in the database';
|
$lng['serversettings']['mod_log_sql']['title'] = 'Temporary save logs in the database';
|
||||||
$lng['serversettings']['mod_log_sql']['description'] = 'Use <a href="http://www.outoforder.cc/projects/apache/mod_log_sql/" title="mod_log_sql">mod_log_sql</a> to save webrequests temporarily<br /><b>This needs a special <a href="http://files.froxlor.org/docs/mod_log_sql/" title="mod_log_sql - documentation">apache-configuration</a>!</b>';
|
$lng['serversettings']['mod_log_sql']['description'] = 'Use <a href="http://www.outoforder.cc/projects/apache/mod_log_sql/" title="mod_log_sql">mod_log_sql</a> to save webrequests temporarily<br /><b>This needs a special <a href="http://files.froxlor.org/docs/mod_log_sql/" title="mod_log_sql - documentation">apache-configuration</a>!</b>';
|
||||||
$lng['serversettings']['mod_fcgid']['title'] = 'Include PHP via mod_fcgid/suexec';
|
$lng['serversettings']['mod_fcgid']['title'] = 'Enable FCGID';
|
||||||
$lng['serversettings']['mod_fcgid']['description'] = 'Use mod_fcgid/suexec/libnss_mysql to run PHP with the corresponding useraccount.<br/><b>This needs a special Webserver configuration. All following options are only valid if the module is enabled.</b>';
|
$lng['serversettings']['mod_fcgid']['description'] = 'Use this to run PHP with the corresponding useraccount.<br /><br /><b>This needs a special webserver configuration for Apache, see <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a></b>';
|
||||||
$lng['serversettings']['sendalternativemail']['title'] = 'Use alternative email-address';
|
$lng['serversettings']['sendalternativemail']['title'] = 'Use alternative email-address';
|
||||||
$lng['serversettings']['sendalternativemail']['description'] = 'Send the password-email to a different address during email-account-creation';
|
$lng['serversettings']['sendalternativemail']['description'] = 'Send the password-email to a different address during email-account-creation';
|
||||||
$lng['emails']['alternative_emailaddress'] = 'Alternative e-mail-address';
|
$lng['emails']['alternative_emailaddress'] = 'Alternative e-mail-address';
|
||||||
@@ -563,8 +560,8 @@ $lng['error']['documentrootexists'] = 'The directory "%s" already exis
|
|||||||
|
|
||||||
// ADDED IN 1.2.16-svn14
|
// ADDED IN 1.2.16-svn14
|
||||||
|
|
||||||
$lng['serversettings']['apacheconf_vhost']['title'] = 'Webserver vhost configuration file/dirname';
|
$lng['serversettings']['apacheconf_vhost']['title'] = 'Webserver vHost configuration file/dirname';
|
||||||
$lng['serversettings']['apacheconf_vhost']['description'] = 'Where should the vhost configuration be stored? You could either specify a file (all vhosts in one file) or directory (each vhost in his own file) here.';
|
$lng['serversettings']['apacheconf_vhost']['description'] = 'Where should the vHost configuration be stored? You could either specify a file (all vHosts in one file) or directory (each vHost in his own file) here.';
|
||||||
$lng['serversettings']['apacheconf_diroptions']['title'] = 'Webserver diroptions configuration file/dirname';
|
$lng['serversettings']['apacheconf_diroptions']['title'] = 'Webserver diroptions configuration file/dirname';
|
||||||
$lng['serversettings']['apacheconf_diroptions']['description'] = 'Where should the diroptions configuration be stored? You could either specify a file (all diroptions in one file) or directory (each diroption in his own file) here.';
|
$lng['serversettings']['apacheconf_diroptions']['description'] = 'Where should the diroptions configuration be stored? You could either specify a file (all diroptions in one file) or directory (each diroption in his own file) here.';
|
||||||
$lng['serversettings']['apacheconf_htpasswddir']['title'] = 'Webserver htpasswd dirname';
|
$lng['serversettings']['apacheconf_htpasswddir']['title'] = 'Webserver htpasswd dirname';
|
||||||
@@ -708,7 +705,7 @@ $lng['serversettings']['ticket']['noreply_name'] = 'Ticket e-mail sendername';
|
|||||||
// ADDED IN 1.2.19-svn1
|
// ADDED IN 1.2.19-svn1
|
||||||
|
|
||||||
$lng['serversettings']['mod_fcgid']['configdir']['title'] = 'Configuration directory';
|
$lng['serversettings']['mod_fcgid']['configdir']['title'] = 'Configuration directory';
|
||||||
$lng['serversettings']['mod_fcgid']['configdir']['description'] = 'Where should all fcgid-configuration files be stored? If you don\'t use a self compiled suexec binary, which is the normal situation, this path must be under /var/www/';
|
$lng['serversettings']['mod_fcgid']['configdir']['description'] = 'Where should all fcgid-configuration files be stored? If you don\'t use a self compiled suexec binary, which is the normal situation, this path must be under /var/www/<br /><br /><div style="color:red">NOTE: This folder\'s content gets deleted regulary so avoid storing data in there manually.</div>';
|
||||||
$lng['serversettings']['mod_fcgid']['tmpdir']['title'] = 'Temp directory';
|
$lng['serversettings']['mod_fcgid']['tmpdir']['title'] = 'Temp directory';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn3
|
// ADDED IN 1.2.19-svn3
|
||||||
@@ -798,8 +795,8 @@ $lng['message']['noreceipients'] = 'No e-mail has been sent because there are no
|
|||||||
$lng['admin']['sslsettings'] = 'SSL settings';
|
$lng['admin']['sslsettings'] = 'SSL settings';
|
||||||
$lng['cronjobs']['notyetrun'] = 'Not yet run';
|
$lng['cronjobs']['notyetrun'] = 'Not yet run';
|
||||||
$lng['install']['servername_should_be_fqdn'] = 'The servername should be a FQDN and not an IP address';
|
$lng['install']['servername_should_be_fqdn'] = 'The servername should be a FQDN and not an IP address';
|
||||||
$lng['serversettings']['default_vhostconf']['title'] = 'Default vhost-settings';
|
$lng['serversettings']['default_vhostconf']['title'] = 'Default vHost-settings';
|
||||||
$lng['serversettings']['default_vhostconf']['description'] = 'The content of this field will be included into the domain vhost container directly. Attention: The code won\'t be checked for any errors. If it contains errors, webserver might not start again!';
|
$lng['serversettings']['default_vhostconf']['description'] = 'The content of this field will be included into the domain vHost container directly. Attention: The code won\'t be checked for any errors. If it contains errors, webserver might not start again!';
|
||||||
$lng['error']['invalidip'] = 'Invalid IP address: %s';
|
$lng['error']['invalidip'] = 'Invalid IP address: %s';
|
||||||
$lng['serversettings']['decimal_places'] = 'Number of decimal places in traffic/webspace output';
|
$lng['serversettings']['decimal_places'] = 'Number of decimal places in traffic/webspace output';
|
||||||
|
|
||||||
@@ -827,10 +824,10 @@ $lng['ticket']['by'] = 'by';
|
|||||||
$lng['dkim']['use_dkim']['title'] = 'Activate DKIM support?';
|
$lng['dkim']['use_dkim']['title'] = 'Activate DKIM support?';
|
||||||
$lng['dkim']['use_dkim']['description'] = 'Would you like to use the Domain Keys (DKIM) system?';
|
$lng['dkim']['use_dkim']['description'] = 'Would you like to use the Domain Keys (DKIM) system?';
|
||||||
$lng['error']['invalidmysqlhost'] = 'Invalid MySQL host address: %s';
|
$lng['error']['invalidmysqlhost'] = 'Invalid MySQL host address: %s';
|
||||||
$lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'You cannot enable Webalizer and Awstats at the same time, please chose one of them';
|
$lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'You cannot enable Webalizer and AWstats at the same time, please chose one of them';
|
||||||
$lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics';
|
$lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics';
|
||||||
$lng['serversettings']['awstats_enabled'] = 'Enable awstats statistics';
|
$lng['serversettings']['awstats_enabled'] = 'Enable AWstats statistics';
|
||||||
$lng['admin']['awstatssettings'] = 'Awstats settings';
|
$lng['admin']['awstatssettings'] = 'AWstats settings';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn16
|
// ADDED IN 1.2.19-svn16
|
||||||
|
|
||||||
@@ -877,13 +874,6 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
|
|||||||
$lng['serversettings']['allow_password_reset']['title'] = 'Allow password reset by customers';
|
$lng['serversettings']['allow_password_reset']['title'] = 'Allow password reset by customers';
|
||||||
$lng['pwdreminder']['notallowed'] = 'Password reset is disabled';
|
$lng['pwdreminder']['notallowed'] = 'Password reset is disabled';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn20
|
|
||||||
|
|
||||||
$lng['serversettings']['awstats_path']['title'] = 'Path to awstats cgi-bin folder';
|
|
||||||
$lng['serversettings']['awstats_path']['description'] = 'e.g. /usr/share/webapps/awstats/6.1/webroot/cgi-bin/';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['title'] = 'Path to "awstats_updateall.pl"';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['description'] = 'e.g. /usr/bin/awstats_updateall.pl';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn21
|
// ADDED IN 1.2.19-svn21
|
||||||
|
|
||||||
$lng['customer']['title'] = 'Title';
|
$lng['customer']['title'] = 'Title';
|
||||||
@@ -1027,11 +1017,11 @@ $lng['admin']['aps'] = 'APS Installer';
|
|||||||
$lng['customer']['aps'] = 'APS Installer';
|
$lng['customer']['aps'] = 'APS Installer';
|
||||||
$lng['aps']['scan'] = 'Scan for new packages';
|
$lng['aps']['scan'] = 'Scan for new packages';
|
||||||
$lng['aps']['upload'] = 'Upload new packages';
|
$lng['aps']['upload'] = 'Upload new packages';
|
||||||
$lng['aps']['managepackages'] = 'Manage Packages';
|
$lng['aps']['managepackages'] = 'Manage packages';
|
||||||
$lng['aps']['manageinstances'] = 'Manage Instances';
|
$lng['aps']['manageinstances'] = 'Manage instances';
|
||||||
$lng['aps']['overview'] = 'Package overview';
|
$lng['aps']['overview'] = 'Package overview';
|
||||||
$lng['aps']['status'] = 'My Packages';
|
$lng['aps']['status'] = 'My packages';
|
||||||
$lng['aps']['search'] = 'Search for Packages';
|
$lng['aps']['search'] = 'Search for packages';
|
||||||
$lng['aps']['upload_description'] = 'Please select the APS Installer zipfiles to install them in the system.';
|
$lng['aps']['upload_description'] = 'Please select the APS Installer zipfiles to install them in the system.';
|
||||||
$lng['aps']['search_description'] = 'Name, Description, Keyword, Version';
|
$lng['aps']['search_description'] = 'Name, Description, Keyword, Version';
|
||||||
$lng['aps']['detail'] = 'More information';
|
$lng['aps']['detail'] = 'More information';
|
||||||
@@ -1066,13 +1056,13 @@ $lng['aps']['phperror'] = 'There occured a PHP internal error. The PHP upload er
|
|||||||
$lng['aps']['moveproblem'] = 'The script failed to move the uploaded file into the destination directory. Please ensure that all permissions are set correctly.';
|
$lng['aps']['moveproblem'] = 'The script failed to move the uploaded file into the destination directory. Please ensure that all permissions are set correctly.';
|
||||||
$lng['aps']['uploaderrors'] = '<strong>Errors for the file <em>%s</em></strong><br/><ul>%s</ul>';
|
$lng['aps']['uploaderrors'] = '<strong>Errors for the file <em>%s</em></strong><br/><ul>%s</ul>';
|
||||||
$lng['aps']['nospecialchars'] = 'Special characters are not allowed in the search term!';
|
$lng['aps']['nospecialchars'] = 'Special characters are not allowed in the search term!';
|
||||||
$lng['aps']['noitemsfound'] = 'No Packages were found!';
|
$lng['aps']['noitemsfound'] = 'No packages were found!';
|
||||||
$lng['aps']['nopackagesinstalled'] = 'You haven\'t installed any package yet which could be shown.';
|
$lng['aps']['nopackagesinstalled'] = 'You haven\'t installed any package yet which could be shown.';
|
||||||
$lng['aps']['instance_install'] = 'Package Installation pending';
|
$lng['aps']['instance_install'] = 'Package Installation pending';
|
||||||
$lng['aps']['instance_task_active'] = 'Package is currently being processed';
|
$lng['aps']['instance_task_active'] = 'Package is currently being processed';
|
||||||
$lng['aps']['instance_success'] = 'Package is installed/was installed successfully';
|
$lng['aps']['instance_success'] = 'Package is installed/was installed successfully';
|
||||||
$lng['aps']['instance_error'] = 'Package isn\'t installed - there occured some errors on the Installation';
|
$lng['aps']['instance_error'] = 'Package isn\'t installed - there occured some errors on the installation';
|
||||||
$lng['aps']['instance_uninstall'] = 'Package Uninstallation pending';
|
$lng['aps']['instance_uninstall'] = 'Package uninstall pending';
|
||||||
$lng['aps']['unknown_status'] = 'Error - Unknown value';
|
$lng['aps']['unknown_status'] = 'Error - Unknown value';
|
||||||
$lng['aps']['currentstatus'] = 'Current status';
|
$lng['aps']['currentstatus'] = 'Current status';
|
||||||
$lng['aps']['activetasks'] = 'Current tasks';
|
$lng['aps']['activetasks'] = 'Current tasks';
|
||||||
@@ -1083,42 +1073,42 @@ $lng['aps']['task_upgrade'] = 'Update/Upgrade pending';
|
|||||||
$lng['aps']['no_task'] = 'No tasks pending';
|
$lng['aps']['no_task'] = 'No tasks pending';
|
||||||
$lng['aps']['applicationlinks'] = 'Application links';
|
$lng['aps']['applicationlinks'] = 'Application links';
|
||||||
$lng['aps']['mainsite'] = 'Main site';
|
$lng['aps']['mainsite'] = 'Main site';
|
||||||
$lng['aps']['uninstall'] = 'Uninstall Package';
|
$lng['aps']['uninstall'] = 'Uninstall package';
|
||||||
$lng['aps']['reconfigure'] = 'Change settings';
|
$lng['aps']['reconfigure'] = 'Change settings';
|
||||||
$lng['aps']['erroronnewinstance'] = '<strong>This Package cannot be installed.</strong><br/><br/>Please go back to the Package overview and start a new Installation.';
|
$lng['aps']['erroronnewinstance'] = '<strong>This package cannot be installed.</strong><br/><br/>Please go back to the package overview and start a new Installation.';
|
||||||
$lng['aps']['successonnewinstance'] = '<strong><em>%s</em> will be installed now.</strong><br/><br/>Go back to "My Packages" and wait until the Installation has finished. This can take some time.';
|
$lng['aps']['successonnewinstance'] = '<strong><em>%s</em> will be installed now.</strong><br/><br/>Go back to "My packages" and wait until the Installation has finished. This can take some time.';
|
||||||
$lng['aps']['php_misc_handler'] = 'PHP - Misc - There is no support for other file extensions than .php for the PHP Parser.';
|
$lng['aps']['php_misc_handler'] = 'PHP - Misc - There is no support for other file extensions than .php for the PHP Parser.';
|
||||||
$lng['aps']['php_misc_directoryhandler'] = 'PHP - Misc - There is no support for per directory disabled PHP Handlers.';
|
$lng['aps']['php_misc_directoryhandler'] = 'PHP - Misc - There is no support for per directory disabled PHP Handlers.';
|
||||||
$lng['aps']['asp_net'] = 'ASP.NET - Package not supported.';
|
$lng['aps']['asp_net'] = 'ASP.NET - Package not supported.';
|
||||||
$lng['aps']['cgi'] = 'CGI - Package not supported.';
|
$lng['aps']['cgi'] = 'CGI - Package not supported.';
|
||||||
$lng['aps']['php_extension'] = 'PHP - Extension "%s" missing.';
|
$lng['aps']['php_extension'] = 'PHP - Extension "%s" missing.';
|
||||||
$lng['aps']['php_function'] = 'PHP - Function "%s" missing.';
|
$lng['aps']['php_function'] = 'PHP - Function "%s" missing.';
|
||||||
$lng['aps']['php_configuration'] = 'PHP - Configuration - Current "%s" setting not supported by Package.';
|
$lng['aps']['php_configuration'] = 'PHP - Configuration - Current "%s" setting not supported by package.';
|
||||||
$lng['aps']['php_configuration_post_max_size'] = 'PHP - Configuration - "post_max_size" value too low.';
|
$lng['aps']['php_configuration_post_max_size'] = 'PHP - Configuration - "post_max_size" value too low.';
|
||||||
$lng['aps']['php_configuration_memory_limit'] = 'PHP - Configuration - "memory_limit" value too low.';
|
$lng['aps']['php_configuration_memory_limit'] = 'PHP - Configuration - "memory_limit" value too low.';
|
||||||
$lng['aps']['php_configuration_max_execution_time'] = 'PHP - Configuration - "max_execution_time" value too low.';
|
$lng['aps']['php_configuration_max_execution_time'] = 'PHP - Configuration - "max_execution_time" value too low.';
|
||||||
$lng['aps']['php_general_old'] = 'PHP - General - PHP Version too old.';
|
$lng['aps']['php_general_old'] = 'PHP - General - PHP Version too old.';
|
||||||
$lng['aps']['php_general_new'] = 'PHP - General - PHP Version too new.';
|
$lng['aps']['php_general_new'] = 'PHP - General - PHP Version too new.';
|
||||||
$lng['aps']['db_mysql_support'] = 'Database - The Package needs another database engine than MySQL.';
|
$lng['aps']['db_mysql_support'] = 'Database - The package needs another database engine than MySQL.';
|
||||||
$lng['aps']['db_mysql_version'] = 'Database - MySQL Server too old.';
|
$lng['aps']['db_mysql_version'] = 'Database - MySQL server too old.';
|
||||||
$lng['aps']['webserver_module'] = 'Webserver - Module "%s" missing.';
|
$lng['aps']['webserver_module'] = 'Webserver - Module "%s" missing.';
|
||||||
$lng['aps']['webserver_fcgid'] = 'Webserver - This Package requires additional modules from the Webserver. In your FastCGI/mod_fcgid environment the function "apache_get_modules" doesn\'t exist. The Package cannot be installed because the APS Installer is unable to verify if this modules are installed.';
|
$lng['aps']['webserver_fcgid'] = 'Webserver - This package requires additional modules from the webserver. In your FastCGI/mod_fcgid environment the function "apache_get_modules" doesn\'t exist. The package cannot be installed because the APS Installer is unable to verify if this modules are installed.';
|
||||||
$lng['aps']['webserver_htaccess'] = 'Webserver - This Package requires that .htaccess files are parsed by the Webserver. The Package cannot be installed because the APS Installer is unable to determine if this is enabled.';
|
$lng['aps']['webserver_htaccess'] = 'Webserver - This package requires that .htaccess files are parsed by the webserver. The package cannot be installed because the APS Installer is unable to determine if this is enabled.';
|
||||||
$lng['aps']['misc_configscript'] = 'Misc - The language of the configuration script is not supported.';
|
$lng['aps']['misc_configscript'] = 'Misc - The language of the configuration script is not supported.';
|
||||||
$lng['aps']['misc_charset'] = 'Misc - In the current Installer version its not possibel to validate formfields from the wizard against a specific charset. The Package cannot be installed.';
|
$lng['aps']['misc_charset'] = 'Misc - In the current Installer version its not possibel to validate formfields from the wizard against a specific charset. The package cannot be installed.';
|
||||||
$lng['aps']['misc_version_already_installed'] = 'Same version of Package already installed.';
|
$lng['aps']['misc_version_already_installed'] = 'Same version of package already installed.';
|
||||||
$lng['aps']['misc_only_newer_versions'] = 'For security reasons only newer Package versions can be installed on the system than them which are already installed.';
|
$lng['aps']['misc_only_newer_versions'] = 'For security reasons only newer package versions can be installed on the system than them which are already installed.';
|
||||||
$lng['aps']['erroronscan'] = '<strong>Errors for <em>%s</em></strong><ul>%s</ul>';
|
$lng['aps']['erroronscan'] = '<strong>Errors for <em>%s</em></strong><ul>%s</ul>';
|
||||||
$lng['aps']['invalidzipfile'] = '<strong>Errors for <em>%s</em></strong><br/><ul><li>This is not a valid APS zipfile!</li></ul>';
|
$lng['aps']['invalidzipfile'] = '<strong>Errors for <em>%s</em></strong><br/><ul><li>This is not a valid APS zipfile!</li></ul>';
|
||||||
$lng['aps']['successpackageupdate'] = '<strong><em>%s</em> successfully installed as a Package update</strong>';
|
$lng['aps']['successpackageupdate'] = '<strong><em>%s</em> successfully installed as a package update</strong>';
|
||||||
$lng['aps']['successpackageinstall'] = '<strong><em>%s</em> successfully installed as a new Package</strong>';
|
$lng['aps']['successpackageinstall'] = '<strong><em>%s</em> successfully installed as a new package</strong>';
|
||||||
$lng['aps']['class_zip_missing'] = 'SimpleXML Class, exec function or ZIP Functions missing or not enabled! For further information about this problem look into the handbook for this module.';
|
$lng['aps']['class_zip_missing'] = 'SimpleXML Class, exec function or ZIP Functions missing or not enabled! For further information about this problem look into the handbook for this module.';
|
||||||
$lng['aps']['dir_permissions'] = 'The PHP/Webserver process must be able to write in the directory {$path}temp/ and {$path}packages/';
|
$lng['aps']['dir_permissions'] = 'The PHP/webserver process must be able to write in the directory {$path}temp/ and {$path}packages/';
|
||||||
$lng['aps']['initerror'] = '<strong>There are some problems with this module:</strong><ul>%s</ul>Fix these problems, otherwise the module cannot be used!';
|
$lng['aps']['initerror'] = '<strong>There are some problems with this module:</strong><ul>%s</ul>Fix these problems, otherwise the module cannot be used!';
|
||||||
$lng['aps']['iderror'] = 'Wrong id specified!';
|
$lng['aps']['iderror'] = 'Wrong id specified!';
|
||||||
$lng['aps']['nopacketsforinstallation'] = 'There are no packages to install.';
|
$lng['aps']['nopacketsforinstallation'] = 'There are no packages to install.';
|
||||||
$lng['aps']['nopackagestoinstall'] = 'There are no packages to view or install.';
|
$lng['aps']['nopackagestoinstall'] = 'There are no packages to view or install.';
|
||||||
$lng['aps']['nodomains'] = 'Select a domain from the list. If there is none, the Package cannot be installed!';
|
$lng['aps']['nodomains'] = 'Select a domain from the list. If there is none, the package cannot be installed!';
|
||||||
$lng['aps']['wrongpath'] = 'Either this path contains invalid characters or there is another application installed already.';
|
$lng['aps']['wrongpath'] = 'Either this path contains invalid characters or there is another application installed already.';
|
||||||
$lng['aps']['dbpassword'] = 'Specify a password with a minimum length of 8 characters.';
|
$lng['aps']['dbpassword'] = 'Specify a password with a minimum length of 8 characters.';
|
||||||
$lng['aps']['error_text'] = 'Specify a text without special characters.';
|
$lng['aps']['error_text'] = 'Specify a text without special characters.';
|
||||||
@@ -1130,33 +1120,33 @@ $lng['aps']['error_password'] = 'Specify a password.';
|
|||||||
$lng['aps']['error_license'] = 'Yes, I have read the license and will abide by its terms.';
|
$lng['aps']['error_license'] = 'Yes, I have read the license and will abide by its terms.';
|
||||||
$lng['aps']['error_licensenoaccept'] = 'You must accept the license to install this application.';
|
$lng['aps']['error_licensenoaccept'] = 'You must accept the license to install this application.';
|
||||||
$lng['aps']['stopinstall'] = 'Abort Installation';
|
$lng['aps']['stopinstall'] = 'Abort Installation';
|
||||||
$lng['aps']['installstopped'] = 'The Installation of this Package was aborted successfully.';
|
$lng['aps']['installstopped'] = 'The Installation of this package was aborted successfully.';
|
||||||
$lng['aps']['installstoperror'] = 'The Installation cannot be aborted anymore because installation has started already. If you\'d like to uninstall the Package, wait until the Installation has finished and then go to "My Packages" to trigger an Uninstallation.';
|
$lng['aps']['installstoperror'] = 'The Installation cannot be aborted anymore because installation has started already. If you\'d like to uninstall the package, wait until the Installation has finished and then go to "My packages" to trigger an Uninstall.';
|
||||||
$lng['aps']['waitfortask'] = 'There are no actions to select. Wait until all tasks have finished.';
|
$lng['aps']['waitfortask'] = 'There are no actions to select. Wait until all tasks have finished.';
|
||||||
$lng['aps']['removetaskexisting'] = '<strong>There is already a task for Uninstallation.</strong><br/><br/>Please go back to "My Packages" and wait until the Uninstallation has finished.';
|
$lng['aps']['removetaskexisting'] = '<strong>There is already a task for uninstallation.</strong><br/><br/>Please go back to "My packages" and wait until the uninstall has finished.';
|
||||||
$lng['aps']['packagewillberemoved'] = '<strong>The Package will be uninstalled now.</strong><br/><br/>Please go back to "My Packages" and wait until the Uninstallation has finished.';
|
$lng['aps']['packagewillberemoved'] = '<strong>The package will be uninstalled now.</strong><br/><br/>Please go back to "My packages" and wait until the uninstall has finished.';
|
||||||
$lng['question']['reallywanttoremove'] = '<strong>Do you really want to uninstall this Package?</strong><br/><br/>All database contents and files will be erased. Be sure to make a manual backup of a files you need for any further usage!<br/><br/>';
|
$lng['question']['reallywanttoremove'] = '<strong>Do you really want to uninstall this package?</strong><br/><br/>All database contents and files will be erased. Be sure to make a manual backup of a files you need for any further usage!<br/><br/>';
|
||||||
$lng['aps']['searchoneresult'] = '%s Package found';
|
$lng['aps']['searchoneresult'] = '%s package found';
|
||||||
$lng['aps']['searchmultiresult'] = '%s Packages found';
|
$lng['aps']['searchmultiresult'] = '%s packages found';
|
||||||
$lng['question']['reallywanttostop'] = 'Do you really want to abort the Installation of this Package?<br/><br/>';
|
$lng['question']['reallywanttostop'] = 'Do you really want to abort the installation of this package?<br/><br/>';
|
||||||
$lng['aps']['packagenameandversion'] = 'Packagename & Version';
|
$lng['aps']['packagenameandversion'] = 'Packagename & version';
|
||||||
$lng['aps']['package_locked'] = 'Locked';
|
$lng['aps']['package_locked'] = 'Locked';
|
||||||
$lng['aps']['package_enabled'] = 'Enabled';
|
$lng['aps']['package_enabled'] = 'Enabled';
|
||||||
$lng['aps']['lock'] = 'Lock';
|
$lng['aps']['lock'] = 'Lock';
|
||||||
$lng['aps']['unlock'] = 'Enable';
|
$lng['aps']['unlock'] = 'Enable';
|
||||||
$lng['aps']['remove'] = 'Remove';
|
$lng['aps']['remove'] = 'Remove';
|
||||||
$lng['aps']['allpackages'] = 'All Packages';
|
$lng['aps']['allpackages'] = 'All packages';
|
||||||
$lng['question']['reallyremovepackages'] = '<strong>Do you really want to delete these packages?</strong><br/><br/>Packages with dependencies can only be remove if the corresponding Instances have been removed!<br/><br/>';
|
$lng['question']['reallyremovepackages'] = '<strong>Do you really want to delete these packages?</strong><br/><br/>Packages with dependencies can only be remove if the corresponding Instances have been removed!<br/><br/>';
|
||||||
$lng['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.';
|
$lng['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.';
|
||||||
$lng['aps']['packagenameandstatus'] = 'Packagename & Status';
|
$lng['aps']['packagenameandstatus'] = 'Packagename & status';
|
||||||
$lng['aps']['activate_aps']['title'] = 'Enable APS Installer';
|
$lng['aps']['activate_aps']['title'] = 'Enable APS installer';
|
||||||
$lng['aps']['activate_aps']['description'] = 'Here the APS Installer can be enabled and disabled globaly.';
|
$lng['aps']['activate_aps']['description'] = 'Here the APS installer can be enabled and disabled globaly.';
|
||||||
$lng['aps']['packages_per_page']['title'] = 'Packages per page';
|
$lng['aps']['packages_per_page']['title'] = 'Packages per page';
|
||||||
$lng['aps']['packages_per_page']['description'] = 'How many packages should be displayed per page for customers?';
|
$lng['aps']['packages_per_page']['description'] = 'How many packages should be displayed per page for customers?';
|
||||||
$lng['aps']['upload_fields']['title'] = 'Upload fields per page';
|
$lng['aps']['upload_fields']['title'] = 'Upload fields per page';
|
||||||
$lng['aps']['upload_fields']['description'] = 'How many upload fields should be displayed on the page to install new packages in the system?';
|
$lng['aps']['upload_fields']['description'] = 'How many upload fields should be displayed on the page to install new packages in the system?';
|
||||||
$lng['aps']['exceptions']['title'] = 'Exceptions for Package validation';
|
$lng['aps']['exceptions']['title'] = 'Exceptions for package validation';
|
||||||
$lng['aps']['exceptions']['description'] = 'Some packages need special configuration parameters or modules. The Installer cannot always determine if this options/extensions are available. For this reason you can now define exceptions that packages can be installed in the system. Do only select options which match your real configuration setup. For further information about this problem look into the handbook for this module.';
|
$lng['aps']['exceptions']['description'] = 'Some packages need special configuration parameters or modules. The installer cannot always determine if this options/extensions are available. For this reason you can now define exceptions that packages can be installed in the system. Do only select options which match your real configuration setup. For further information about this problem look into the handbook for this module.';
|
||||||
$lng['aps']['settings_php_extensions'] = 'PHP-Extensions';
|
$lng['aps']['settings_php_extensions'] = 'PHP-Extensions';
|
||||||
$lng['aps']['settings_php_configuration'] = 'PHP-Configuration';
|
$lng['aps']['settings_php_configuration'] = 'PHP-Configuration';
|
||||||
$lng['aps']['settings_webserver_modules'] = 'Webserver modules';
|
$lng['aps']['settings_webserver_modules'] = 'Webserver modules';
|
||||||
@@ -1166,9 +1156,9 @@ $lng['aps']['removeunused'] = 'Remove unused packages';
|
|||||||
$lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others';
|
$lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others';
|
||||||
$lng['aps']['installations'] = 'Installations';
|
$lng['aps']['installations'] = 'Installations';
|
||||||
$lng['aps']['statistics'] = 'Statistics';
|
$lng['aps']['statistics'] = 'Statistics';
|
||||||
$lng['aps']['numerofpackagesinstalled'] = '%s Packages installed<br/>';
|
$lng['aps']['numerofpackagesinstalled'] = '%s packages installed<br/>';
|
||||||
$lng['aps']['numerofpackagesenabled'] = '%s Packages enabled<br/>';
|
$lng['aps']['numerofpackagesenabled'] = '%s packages enabled<br/>';
|
||||||
$lng['aps']['numerofpackageslocked'] = '%s Packages locked<br/>';
|
$lng['aps']['numerofpackageslocked'] = '%s packages locked<br/>';
|
||||||
$lng['aps']['numerofinstances'] = '%s Instances installed<br/>';
|
$lng['aps']['numerofinstances'] = '%s Instances installed<br/>';
|
||||||
$lng['question']['reallydoaction'] = '<strong>Do you really want to execute the selected actions?</strong><br/><br/>Data which can be lost by continuing, cannot be restored later.<br/><br/>';
|
$lng['question']['reallydoaction'] = '<strong>Do you really want to execute the selected actions?</strong><br/><br/>Data which can be lost by continuing, cannot be restored later.<br/><br/>';
|
||||||
$lng['aps']['linktolicense'] = 'Link to license';
|
$lng['aps']['linktolicense'] = 'Link to license';
|
||||||
@@ -1194,8 +1184,6 @@ $lng['error']['admindoesntexist'] = 'The admin you have chosen doesn\'t exist.';
|
|||||||
|
|
||||||
// ADDED IN 1.2.19-svn37
|
// ADDED IN 1.2.19-svn37
|
||||||
|
|
||||||
$lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor';
|
|
||||||
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="http://wiki.froxlor.org/doc/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
|
||||||
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
|
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
|
$lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
|
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
|
||||||
@@ -1213,7 +1201,7 @@ $lng['admin']['phpsettings']['binary'] = 'PHP Binary';
|
|||||||
$lng['admin']['phpsettings']['file_extensions'] = 'File extensions';
|
$lng['admin']['phpsettings']['file_extensions'] = 'File extensions';
|
||||||
$lng['admin']['phpsettings']['file_extensions_note'] = '(without dot, separated by spaces)';
|
$lng['admin']['phpsettings']['file_extensions_note'] = '(without dot, separated by spaces)';
|
||||||
$lng['admin']['mod_fcgid_maxrequests']['title'] = 'Maximum php requests for this domain (empty for default value)';
|
$lng['admin']['mod_fcgid_maxrequests']['title'] = 'Maximum php requests for this domain (empty for default value)';
|
||||||
$lng['serversettings']['mod_fcgid']['maxrequests']['title'] = 'Maximum Requests per Domain';
|
$lng['serversettings']['mod_fcgid']['maxrequests']['title'] = 'Maximum Requests per domain';
|
||||||
$lng['serversettings']['mod_fcgid']['maxrequests']['description'] = 'How many requests should be allowed per domain?';
|
$lng['serversettings']['mod_fcgid']['maxrequests']['description'] = 'How many requests should be allowed per domain?';
|
||||||
|
|
||||||
// fix bug #1124
|
// fix bug #1124
|
||||||
@@ -1227,12 +1215,12 @@ $lng['mysql']['mysql_server'] = 'MySQL-Server';
|
|||||||
|
|
||||||
// ADDED IN 1.4.2.1-2
|
// ADDED IN 1.4.2.1-2
|
||||||
|
|
||||||
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Webserver Default Config';
|
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Webserver default config';
|
||||||
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver Domain Config';
|
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver domain config';
|
||||||
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL Config';
|
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL config';
|
||||||
$lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile';
|
$lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile';
|
||||||
$lng['admin']['ipsandports']['ssl_ca_file'] = 'Path to the SSL CA certificate';
|
$lng['admin']['ipsandports']['ssl_ca_file'] = 'Path to the SSL CA certificate';
|
||||||
$lng['admin']['ipsandports']['default_vhostconf_domain'] = 'Default vhost-settings for every domain container';
|
$lng['admin']['ipsandports']['default_vhostconf_domain'] = 'Default vHost-settings for every domain container';
|
||||||
$lng['serversettings']['ssl']['ssl_key_file'] = 'Path to the SSL Keyfile';
|
$lng['serversettings']['ssl']['ssl_key_file'] = 'Path to the SSL Keyfile';
|
||||||
$lng['serversettings']['ssl']['ssl_ca_file'] = 'Path to the SSL CA certificate';
|
$lng['serversettings']['ssl']['ssl_ca_file'] = 'Path to the SSL CA certificate';
|
||||||
|
|
||||||
@@ -1261,13 +1249,13 @@ $lng['autoresponder']['startenddate'] = 'Start/end date';
|
|||||||
$lng['panel']['not_activated'] = 'not activated';
|
$lng['panel']['not_activated'] = 'not activated';
|
||||||
$lng['panel']['off'] = 'off';
|
$lng['panel']['off'] = 'off';
|
||||||
$lng['update']['updateinprogress_onlyadmincanlogin'] = 'A newer version of Froxlor has been installed but not yet set up.<br />Only the administrator can log in and finish the update.';
|
$lng['update']['updateinprogress_onlyadmincanlogin'] = 'A newer version of Froxlor has been installed but not yet set up.<br />Only the administrator can log in and finish the update.';
|
||||||
$lng['update']['update'] = 'Froxlor Update';
|
$lng['update']['update'] = 'Froxlor update';
|
||||||
$lng['update']['proceed'] = 'Proceed';
|
$lng['update']['proceed'] = 'Proceed';
|
||||||
$lng['update']['update_information']['part_a'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.';
|
$lng['update']['update_information']['part_a'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.';
|
||||||
$lng['update']['update_information']['part_b'] = '<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
|
$lng['update']['update_information']['part_b'] = '<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
|
||||||
$lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>';
|
$lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>';
|
||||||
$lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)';
|
$lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)';
|
||||||
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vhost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
|
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vHost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
|
||||||
$lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
|
$lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
|
||||||
$lng['tasks']['rebuild_webserverconfig'] = 'Rebuilding webserver-configuration';
|
$lng['tasks']['rebuild_webserverconfig'] = 'Rebuilding webserver-configuration';
|
||||||
$lng['tasks']['adding_customer'] = 'Adding new customer %loginname%';
|
$lng['tasks']['adding_customer'] = 'Adding new customer %loginname%';
|
||||||
@@ -1451,18 +1439,18 @@ $lng['admin']['perlenabled'] = 'Perl enabled';
|
|||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.11-svn3
|
// ADDED IN FROXLOR 0.9.11-svn3
|
||||||
$lng['serversettings']['perl_path']['title'] = 'Path to perl';
|
$lng['serversettings']['perl_path']['title'] = 'Path to perl';
|
||||||
$lng['serversettings']['perl_path']['description'] = 'Only relevant if you use lighttpd. Default is /usr/bin/perl';
|
$lng['serversettings']['perl_path']['description'] = 'Default is /usr/bin/perl';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.12-svn1
|
// ADDED IN FROXLOR 0.9.12-svn1
|
||||||
$lng['admin']['fcgid_settings'] = 'FCGID';
|
$lng['admin']['fcgid_settings'] = 'FCGID';
|
||||||
$lng['serversettings']['mod_fcgid_ownvhost']['title'] = 'Enable FCGID for the Froxlor vhost';
|
$lng['serversettings']['mod_fcgid_ownvhost']['title'] = 'Enable FCGID for the Froxlor vHost';
|
||||||
$lng['serversettings']['mod_fcgid_ownvhost']['description'] = 'If enabled, Froxlor will also be running under a local user<br /><strong>ATTENTION:</strong>This needs manual configuration, see <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a>';
|
$lng['serversettings']['mod_fcgid_ownvhost']['description'] = 'If enabled, Froxlor will also be running under a local user';
|
||||||
$lng['admin']['mod_fcgid_user'] = 'Local user to use for FCGID (Froxlor vhost)';
|
$lng['admin']['mod_fcgid_user'] = 'Local user to use for FCGID (Froxlor vHost)';
|
||||||
$lng['admin']['mod_fcgid_group'] = 'Local group to use for FCGID (Froxlor vhost)';
|
$lng['admin']['mod_fcgid_group'] = 'Local group to use for FCGID (Froxlor vHost)';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.12-svn2
|
// ADDED IN FROXLOR 0.9.12-svn2
|
||||||
$lng['admin']['perl_settings'] = 'Perl/CGI';
|
$lng['admin']['perl_settings'] = 'Perl/CGI';
|
||||||
$lng['serversettings']['perl']['suexecworkaround']['title'] = 'Enable SuExec workaround (Apache only)';
|
$lng['serversettings']['perl']['suexecworkaround']['title'] = 'Enable SuExec workaround';
|
||||||
$lng['serversettings']['perl']['suexecworkaround']['description'] = 'Enable only if customer docroots are not within the apache suexec path.<br />If enabled, Froxlor will generate a symlink from the customers perl-enabled directory + /cgi-bin/ to the given path.<br />Note that perl will then only work in the folders subdirectory /cgi-bin/ and not in the folder itself (as it does without this fix!)';
|
$lng['serversettings']['perl']['suexecworkaround']['description'] = 'Enable only if customer docroots are not within the apache suexec path.<br />If enabled, Froxlor will generate a symlink from the customers perl-enabled directory + /cgi-bin/ to the given path.<br />Note that perl will then only work in the folders subdirectory /cgi-bin/ and not in the folder itself (as it does without this fix!)';
|
||||||
$lng['serversettings']['perl']['suexeccgipath']['title'] = 'Path for customer perl-enabled directory symlinks';
|
$lng['serversettings']['perl']['suexeccgipath']['title'] = 'Path for customer perl-enabled directory symlinks';
|
||||||
$lng['serversettings']['perl']['suexeccgipath']['description'] = 'You only need to set this if the SuExec-workaround is enabled.<br />ATTENTION: Be sure this path is within the suexec path or else this workaround is uselsess';
|
$lng['serversettings']['perl']['suexeccgipath']['description'] = 'You only need to set this if the SuExec-workaround is enabled.<br />ATTENTION: Be sure this path is within the suexec path or else this workaround is uselsess';
|
||||||
@@ -1503,4 +1491,76 @@ $lng['admin']['store_defaultindex'] = 'Store default index-file to customers doc
|
|||||||
// ADDED IN FROXLOR 0.9.13-svn1
|
// ADDED IN FROXLOR 0.9.13-svn1
|
||||||
$lng['customer']['autoresponder'] = 'Autoresponder';
|
$lng['customer']['autoresponder'] = 'Autoresponder';
|
||||||
|
|
||||||
?>
|
// ADDED IN FROXLOR 0.9.14-svn1
|
||||||
|
$lng['serversettings']['mod_fcgid']['defaultini_ownvhost'] = 'Default PHP configuration for Froxlor-vHost';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn3
|
||||||
|
$lng['serversettings']['awstats_icons']['title'] = 'Path to AWstats icons folder';
|
||||||
|
$lng['serversettings']['awstats_icons']['description'] = 'e.g. /usr/share/awstats/htdocs/icon/';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn4
|
||||||
|
$lng['admin']['ipsandports']['ssl_cert_chainfile'] = 'Path to the SSL CertificateChainFile';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn5
|
||||||
|
$lng['admin']['ipsandports']['docroot']['title'] = 'Custom docroot (empty = point to Froxlor)';
|
||||||
|
$lng['admin']['ipsandports']['docroot']['description'] = 'You can define a custom document-root (the destination for a request) for this ip/port combination here.<br /><strong>ATTENTION:</strong> Please be careful with what you enter here!';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn6
|
||||||
|
$lng['serversettings']['login_domain_login'] = 'Allow login with domains';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14
|
||||||
|
$lng['panel']['unlock'] = 'unlock';
|
||||||
|
$lng['question']['customer_reallyunlock'] = 'Do you really want to unlock customer %s?';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.15-svn1
|
||||||
|
$lng['serversettings']['perl_server']['title'] = 'Perl server location';
|
||||||
|
$lng['serversettings']['perl_server']['description'] = 'Default is set for using the guide found at: http://wiki.nginx.org/SimpleCGI';
|
||||||
|
$lng['serversettings']['nginx_php_backend']['title'] = 'Nginx PHP backend';
|
||||||
|
$lng['serversettings']['nginx_php_backend']['description'] = 'this is where the PHP process is listening for requests from nginx, can be a unix socket of ip:port combination';
|
||||||
|
$lng['serversettings']['phpreload_command']['title'] = 'PHP reload command';
|
||||||
|
$lng['serversettings']['phpreload_command']['description'] = 'this is used to reload the PHP backend if any is used<br />Default: blank';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.16
|
||||||
|
$lng['error']['intvaluetoolow'] = 'The given number is too low (field %s)';
|
||||||
|
$lng['error']['intvaluetoohigh'] = 'The given number is too high (field %s)';
|
||||||
|
$lng['admin']['phpfpm_settings'] = 'PHP-FPM';
|
||||||
|
$lng['serversettings']['phpfpm'] = 'Enable php-fpm';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['configdir'] = 'Configuration directory of php-fpm';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['reload'] = 'php-fpm restart command';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['pm'] = 'Process manager control (pm)';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_children']['title'] = 'The number of child processes';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_children']['description'] = 'The number of child processes to be created when pm is set to \'static\' and the maximum number of child processes to be created when pm is set to \'dynamic\'<br />Equivalent to the PHP_FCGI_CHILDREN';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['start_servers']['title'] = 'The number of child processes created on startup';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['start_servers']['description'] = 'Note: Used only when pm is set to \'dynamic\'';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['min_spare_servers']['title'] = 'The desired minimum number of idle server processes';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['min_spare_servers']['description'] = 'Note: Used only when pm is set to \'dynamic\'<br />Note: Mandatory when pm is set to \'dynamic\'';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_spare_servers']['title'] = 'The desired maximum number of idle server processes';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_spare_servers']['description'] = 'Note: Used only when pm is set to \'dynamic\'<br />Note: Mandatory when pm is set to \'dynamic\'';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_requests']['title'] = 'Requests per child before respawning';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_requests']['description'] = 'For endless request processing specify \'0\'. Equivalent to PHP_FCGI_MAX_REQUESTS.';
|
||||||
|
$lng['error']['phpfpmstillenabled'] = 'PHP-FPM is currently active. Please deactivate it before activating FCGID';
|
||||||
|
$lng['error']['fcgidstillenabled'] = 'FCGID is currently active. Please deactivate it before activating PHP-FPM';
|
||||||
|
$lng['phpfpm']['vhost_httpuser'] = 'Local user to use for PHP-FPM (Froxlor vHost)';
|
||||||
|
$lng['phpfpm']['vhost_httpgroup'] = 'Local group to use for PHP-FPM (Froxlor vHost)';
|
||||||
|
$lng['phpfpm']['ownvhost']['title'] = 'Enable PHP-FPM for the Froxlor vHost';
|
||||||
|
$lng['phpfpm']['ownvhost']['description'] = 'If enabled, Froxlor will also be running under a local user';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.17
|
||||||
|
$lng['crondesc']['cron_usage_report'] = 'sends reports about web- and traffic-usage';
|
||||||
|
$lng['serversettings']['report']['report'] = 'Enable sending of reports about web- and traffic-usage';
|
||||||
|
$lng['serversettings']['report']['webmax'] = 'Warning-level in percent for webspace';
|
||||||
|
$lng['serversettings']['report']['trafficmax'] = 'Warning-level in percent for traffic';
|
||||||
|
$lng['mails']['trafficmaxpercent']['mailbody'] = 'Dear {NAME},\n\nyou used {TRAFFICUSED} MB of your available {TRAFFIC} MB of traffic.\nThis is more than {MAX_PERCENT}%.\n\nYours sincerely, the Froxlor-Team';
|
||||||
|
$lng['mails']['trafficmaxpercent']['subject'] = 'Reaching your traffic limit';
|
||||||
|
$lng['admin']['templates']['trafficmaxpercent'] = 'Notification mail for customers when given maximum of percent of traffic is exhausted';
|
||||||
|
$lng['admin']['templates']['MAX_PERCENT'] = 'Replaced with the diskusage/traffic limit for sending reports in percent.';
|
||||||
|
$lng['admin']['templates']['USAGE_PERCENT'] = 'Replaced with the diskusage/traffic, which was exhausted by the customer in percent.';
|
||||||
|
$lng['admin']['templates']['diskmaxpercent'] = 'Notification mail for customers when given maximum of percent of diskspace is exhausted';
|
||||||
|
$lng['admin']['templates']['DISKAVAILABLE'] = 'Replaced with the diskusage in MB, which was assigned to the customer.';
|
||||||
|
$lng['admin']['templates']['DISKUSED'] = 'Replaced with the diskusage in MB, which was exhausted by the customer.';
|
||||||
|
$lng['serversettings']['dropdown'] = 'Dropdown';
|
||||||
|
$lng['serversettings']['manual'] = 'Manual';
|
||||||
|
$lng['mails']['webmaxpercent']['mailbody'] = 'Dear {NAME},\n\nyou used {DISKUSED} MB of your available {DISKAVAILABLE} MB of diskspace.\nThis is more than {MAX_PERCENT}%.\n\nYours sincerely, the Froxlor-Team';
|
||||||
|
$lng['mails']['webmaxpercent']['subject'] = 'Reaching your diskspace limit';
|
||||||
|
$lng['mysql']['database_edit'] = 'Edit database';
|
||||||
|
|
||||||
|
|||||||
@@ -894,13 +894,6 @@ $lng['pwdreminder']['success'] = 'Mot de passe correctement r
|
|||||||
$lng['serversettings']['allow_password_reset']['title'] = 'Permettre aux clients de r<>initialiser leurs mots de passe';
|
$lng['serversettings']['allow_password_reset']['title'] = 'Permettre aux clients de r<>initialiser leurs mots de passe';
|
||||||
$lng['pwdreminder']['notallowed'] = 'La r<>initialisation des mots de passe est d<>sactiv<69>e.';
|
$lng['pwdreminder']['notallowed'] = 'La r<>initialisation des mots de passe est d<>sactiv<69>e.';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn20
|
|
||||||
|
|
||||||
$lng['serversettings']['awstats_path']['title'] = 'Dossier CGI-BIN de AWStats';
|
|
||||||
$lng['serversettings']['awstats_path']['description'] = 'exemple : /var/www/cgi-bin/';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['title'] = 'Emplacement de "awstats_updateall.pl"';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['description'] = 'exemple : /usr/share/awstats/tools/awstats_updateall.pl';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn21
|
// ADDED IN 1.2.19-svn21
|
||||||
|
|
||||||
$lng['customer']['title'] = 'Titre';
|
$lng['customer']['title'] = 'Titre';
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ $lng['domains']['noaliasdomain'] = 'Keine Aliasdomain';
|
|||||||
* eMails
|
* eMails
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['emails']['description'] = 'Hier können Sie Ihre E-Mail Adressen einrichten.<br />Ein Konto ist wie Ihr Briefkasten vor der Haustüre. Wenn jemand eine E-Mail an Sie schreibt, dann wird diese in dieses Konto gelegt.<br><br>Die Zugangsdaten von Ihrem Mailprogramm sind wie folgt: (Die Angaben in <i>kursiver</i> Schrift sind durch die jeweiligen Einträge zu ersetzen!)<br>Hostname: <b><i>Domainname</i></b><br>Benutzername: <b><i>Kontoname / E-Mail-Adresse</i></b><br>Passwort: <b><i>das gewählte Passwort</i></b>';
|
$lng['emails']['description'] = 'Hier können Sie Ihre E-Mail Adressen einrichten.<br />Ein Konto ist wie Ihr Briefkasten vor der Haustüre. Wenn jemand eine E-Mail an Sie schreibt, dann wird diese in dieses Konto gelegt.<br /><br />Die Zugangsdaten von Ihrem Mailprogramm sind wie folgt: (Die Angaben in <i>kursiver</i> Schrift sind durch die jeweiligen Einträge zu ersetzen!)<br />Hostname: <b><i>Domainname</i></b><br />Benutzername: <b><i>Kontoname / E-Mail-Adresse</i></b><br />Passwort: <b><i>das gewählte Passwort</i></b>';
|
||||||
$lng['emails']['emailaddress'] = 'E-Mail-Adresse';
|
$lng['emails']['emailaddress'] = 'E-Mail-Adresse';
|
||||||
$lng['emails']['emails_add'] = 'E-Mail-Adresse anlegen';
|
$lng['emails']['emails_add'] = 'E-Mail-Adresse anlegen';
|
||||||
$lng['emails']['emails_edit'] = 'E-Mail-Adresse ändern';
|
$lng['emails']['emails_edit'] = 'E-Mail-Adresse ändern';
|
||||||
@@ -377,7 +377,7 @@ $lng['serversettings']['maxloginattempts']['description'] = 'Maximale Anzahl an
|
|||||||
$lng['serversettings']['deactivatetime']['title'] = 'Länge der Deaktivierung';
|
$lng['serversettings']['deactivatetime']['title'] = 'Länge der Deaktivierung';
|
||||||
$lng['serversettings']['deactivatetime']['description'] = 'Zeitraum (in sek.) für den der Account deaktiviert ist.';
|
$lng['serversettings']['deactivatetime']['description'] = 'Zeitraum (in sek.) für den der Account deaktiviert ist.';
|
||||||
$lng['serversettings']['pathedit']['title'] = 'Pfad-Eingabemethode';
|
$lng['serversettings']['pathedit']['title'] = 'Pfad-Eingabemethode';
|
||||||
$lng['serversettings']['pathedit']['description'] = 'Soll ein Pfad via Dropdown-Menü ausgewählt oder manuell eingegeben werden können.';
|
$lng['serversettings']['pathedit']['description'] = 'Soll ein Pfad via Auswahlliste ausgewählt oder manuell eingegeben werden können.';
|
||||||
$lng['serversettings']['nameservers']['title'] = 'Nameserver';
|
$lng['serversettings']['nameservers']['title'] = 'Nameserver';
|
||||||
$lng['serversettings']['nameservers']['description'] = 'Eine durch Komma getrennte Liste mit den Hostnamen aller Nameserver. Der erste ist der primäre.';
|
$lng['serversettings']['nameservers']['description'] = 'Eine durch Komma getrennte Liste mit den Hostnamen aller Nameserver. Der erste ist der primäre.';
|
||||||
$lng['serversettings']['mxservers']['title'] = 'MX Server';
|
$lng['serversettings']['mxservers']['title'] = 'MX Server';
|
||||||
@@ -387,7 +387,7 @@ $lng['serversettings']['mxservers']['description'] = 'Eine durch Komma getrenne
|
|||||||
* CHANGED BETWEEN 1.2.12 and 1.2.13
|
* CHANGED BETWEEN 1.2.12 and 1.2.13
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['mysql']['description'] = 'Hier können Sie MySQL-Datenbanken anlegen und löschen.<br>Die Änderungen werden sofort wirksam und die Datenbanken sofort benutzbar.<br>Im Menü finden Sie einen Link zum phpMyAdmin, mit dem Sie Ihre Datenbankeninhalte einfach bearbeiten können.<br><br>Die Zugangsdaten von php-Skripten sind wie folgt: (Die Angaben in <i>kursiver</i> Schrift sind durch die jeweiligen Einträge zu ersetzen!)<br>Hostname: <b><SQL_HOST></b><br>Benutzername: <b><i>Datenbankname</i></b><br>Passwort: <b><i>das gewählte Passwort</i></b><br>Datenbank: <b><i>Datenbankname</i></b>';
|
$lng['mysql']['description'] = 'Hier können Sie MySQL-Datenbanken anlegen und löschen.<br />Die Änderungen werden sofort wirksam und die Datenbanken sofort benutzbar.<br />Im Menü finden Sie einen Link zum phpMyAdmin, mit dem Sie Ihre Datenbankeninhalte einfach bearbeiten können.<br /><br />Die Zugangsdaten von php-Skripten sind wie folgt: (Die Angaben in <i>kursiver</i> Schrift sind durch die jeweiligen Einträge zu ersetzen!)<br />Hostname: <b><SQL_HOST></b><br />Benutzername: <b><i>Datenbankname</i></b><br />Passwort: <b><i>das gewählte Passwort</i></b><br />Datenbank: <b><i>Datenbankname</i></b>';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ADDED BETWEEN 1.2.12 and 1.2.13
|
* ADDED BETWEEN 1.2.12 and 1.2.13
|
||||||
@@ -467,7 +467,7 @@ $lng['admin']['mysqlclientversion'] = 'MySQL Client Version';
|
|||||||
$lng['admin']['webserverinterface'] = 'Webserver Interface';
|
$lng['admin']['webserverinterface'] = 'Webserver Interface';
|
||||||
$lng['domains']['isassigneddomain'] = 'Ist zugewiesene Domain';
|
$lng['domains']['isassigneddomain'] = 'Ist zugewiesene Domain';
|
||||||
$lng['serversettings']['phpappendopenbasedir']['title'] = 'An OpenBasedir anzuhängende Pfade';
|
$lng['serversettings']['phpappendopenbasedir']['title'] = 'An OpenBasedir anzuhängende Pfade';
|
||||||
$lng['serversettings']['phpappendopenbasedir']['description'] = 'Diese (durch Doppelpunkte getrennten) Pfade werden dem OpenBasedir-Statement in jedem vhost-Container angehängt.';
|
$lng['serversettings']['phpappendopenbasedir']['description'] = 'Diese (durch Doppelpunkte getrennten) Pfade werden dem OpenBasedir-Statement in jedem vHost-Container angehängt.';
|
||||||
|
|
||||||
// CHANGED IN 1.2.15-rc1
|
// CHANGED IN 1.2.15-rc1
|
||||||
|
|
||||||
@@ -501,11 +501,8 @@ $lng['panel']['pathDescriptionEx'] = '<br /><br />Sollte eine Weiterleitung auf
|
|||||||
|
|
||||||
// ADDED IN 1.2.16-svn6
|
// ADDED IN 1.2.16-svn6
|
||||||
|
|
||||||
$lng['mails']['trafficninetypercent']['mailbody'] = 'Sehr geehrte(r) {NAME},\n\nSie haben bereits {TRAFFICUSED} MB von Ihren insgesamt {TRAFFIC} MB Traffic verbraucht.\nDies sind mehr als 90%.\n\nVielen Dank,\ndas Froxlor-Team';
|
$lng['admin']['templates']['TRAFFIC'] = 'Wird mit Traffic, der dem Kunden zugewiesen wurde, ersetzt (in MB).';
|
||||||
$lng['mails']['trafficninetypercent']['subject'] = 'Sie erreichen bald Ihr Traffic-Limit';
|
$lng['admin']['templates']['TRAFFICUSED'] = 'Wird mit Traffic, der vom Kunden bereits verbraucht wurde, ersetzt (in MB).';
|
||||||
$lng['admin']['templates']['trafficninetypercent'] = 'Hinweismail für Kunden, wenn sie 90% des Traffics verbraucht haben';
|
|
||||||
$lng['admin']['templates']['TRAFFIC'] = 'Wird mit Traffic, der dem Kunden zugewiesen wurde, ersetzt.';
|
|
||||||
$lng['admin']['templates']['TRAFFICUSED'] = 'Wird mit Traffic, der vom Kunden bereits verbraucht wurde, ersetzt.';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.16-svn7
|
// ADDED IN 1.2.16-svn7
|
||||||
|
|
||||||
@@ -547,7 +544,7 @@ $lng['panel']['back'] = 'Zurück';
|
|||||||
$lng['serversettings']['mod_log_sql']['title'] = 'Logs in Datenbank zwischenspeichern';
|
$lng['serversettings']['mod_log_sql']['title'] = 'Logs in Datenbank zwischenspeichern';
|
||||||
$lng['serversettings']['mod_log_sql']['description'] = '<a href="http://www.outoforder.cc/projects/apache/mod_log_sql/" title="mod_log_sql">mod_log_sql</a> benutzen um die Webzugriffe temporär zu speichern<br /><b>Dies benötigt eine spezielle Apache-Konfiguration</b>';
|
$lng['serversettings']['mod_log_sql']['description'] = '<a href="http://www.outoforder.cc/projects/apache/mod_log_sql/" title="mod_log_sql">mod_log_sql</a> benutzen um die Webzugriffe temporär zu speichern<br /><b>Dies benötigt eine spezielle Apache-Konfiguration</b>';
|
||||||
$lng['serversettings']['mod_fcgid']['title'] = 'PHP über mod_fcgid/suexec einbinden';
|
$lng['serversettings']['mod_fcgid']['title'] = 'PHP über mod_fcgid/suexec einbinden';
|
||||||
$lng['serversettings']['mod_fcgid']['description'] = 'mod_fcgid/suexec/libnss_mysql benutzen um PHP unter dem jeweiligen Useraccount laufen zu lassen<br /><b>Dies benötigt eine spezielle <a href="http://files.froxlor.org/docs/mod_log_sql/" title="mod_log_sql - Dokumentation">Apache-Konfiguration</a></b>';
|
$lng['serversettings']['mod_fcgid']['description'] = 'PHP unter dem jeweiligen Useraccount laufen lassen.<br /><br /><b>Dies benötigt eine spezielle Webserver-Konfiguration für Apache, siehe <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a>.</b>';
|
||||||
$lng['serversettings']['sendalternativemail']['title'] = 'Alternative E-Mail-Adresse benutzen';
|
$lng['serversettings']['sendalternativemail']['title'] = 'Alternative E-Mail-Adresse benutzen';
|
||||||
$lng['serversettings']['sendalternativemail']['description'] = 'Während des Erstellens eines Accounts das Passwort an eine andere E-Mail-Adresse senden';
|
$lng['serversettings']['sendalternativemail']['description'] = 'Während des Erstellens eines Accounts das Passwort an eine andere E-Mail-Adresse senden';
|
||||||
$lng['emails']['alternative_emailaddress'] = 'Alternative E-Mail-Adresse';
|
$lng['emails']['alternative_emailaddress'] = 'Alternative E-Mail-Adresse';
|
||||||
@@ -558,14 +555,14 @@ $lng['admin']['templates']['EMAIL_PASSWORD'] = 'Wird mit dem Passwort des neuen
|
|||||||
|
|
||||||
// ADDED IN 1.2.16-svn13
|
// ADDED IN 1.2.16-svn13
|
||||||
|
|
||||||
$lng['error']['documentrootexists'] = 'Es existiert noch ein Verzeichnis "%s" für diesen Kunden. Bitte dieses vorher löschen.';
|
$lng['error']['documentrootexists'] = 'Es existiert noch ein Verzeichnis "%s" für diesen Kunden. Bitte löschen Sie dieses vorher.';
|
||||||
|
|
||||||
// ADDED IN 1.2.16-svn14
|
// ADDED IN 1.2.16-svn14
|
||||||
|
|
||||||
$lng['serversettings']['apacheconf_vhost']['title'] = 'Webserver vHost-Konfigurations-Datei/Verzeichnis-Name';
|
$lng['serversettings']['apacheconf_vhost']['title'] = 'Webserver vHost-Konfigurations-Datei/Verzeichnis-Name';
|
||||||
$lng['serversettings']['apacheconf_vhost']['description'] = 'Wo soll die vHost-Konfigurationen abgelegt werden? Sie können entweder eine Datei (also mit allen vhosts) oder einen Ordner (mit einer Datei pro vhost) angeben.';
|
$lng['serversettings']['apacheconf_vhost']['description'] = 'Wo sollen die vHost-Konfigurationen abgelegt werden? Sie können entweder eine Datei (also mit allen vHosts) oder einen Ordner (mit einer Datei pro vHost) angeben.';
|
||||||
$lng['serversettings']['apacheconf_diroptions']['title'] = 'Webserver Verzeichnisoption-Konfigurations-Datei/Verzeichnis-Name';
|
$lng['serversettings']['apacheconf_diroptions']['title'] = 'Webserver Verzeichnisoption-Konfigurations-Datei/Verzeichnis-Name';
|
||||||
$lng['serversettings']['apacheconf_diroptions']['description'] = 'Wo soll die Verzeichnisoption-Konfigurationen abgelegt werden? Sie können entweder eine Datei (also mit allen vhosts) oder einen Ordner (mit einer Datei pro vhost) angeben.';
|
$lng['serversettings']['apacheconf_diroptions']['description'] = 'Wo sollen die Verzeichnisoption-Konfigurationen abgelegt werden? Sie können entweder eine Datei (also mit allen vHosts) oder einen Ordner (mit einer Datei pro vHost) angeben.';
|
||||||
$lng['serversettings']['apacheconf_htpasswddir']['title'] = 'Webserver htpasswd Verzeichnisname';
|
$lng['serversettings']['apacheconf_htpasswddir']['title'] = 'Webserver htpasswd Verzeichnisname';
|
||||||
$lng['serversettings']['apacheconf_htpasswddir']['description'] = 'Wo sollen die htpasswd-Dateien fü den Verzeichnisschutz abgelegt werden?';
|
$lng['serversettings']['apacheconf_htpasswddir']['description'] = 'Wo sollen die htpasswd-Dateien fü den Verzeichnisschutz abgelegt werden?';
|
||||||
|
|
||||||
@@ -578,7 +575,6 @@ $lng['serversettings']['mysql_access_host']['description'] = 'Eine durch Komma g
|
|||||||
// CHANGED IN 1.2.18
|
// CHANGED IN 1.2.18
|
||||||
|
|
||||||
$lng['serversettings']['mod_log_sql']['description'] = '<a href="http://www.outoforder.cc/projects/apache/mod_log_sql/" title="mod_log_sql">mod_log_sql</a> benutzen um die Webzugriffe temporär zu speichern<br /><b>Dies benötigt eine spezielle <a href="http://files.froxlor.org/docs/mod_log_sql/" title="mod_log_sql - Dokumentation">Apache-Konfiguration</a></b>';
|
$lng['serversettings']['mod_log_sql']['description'] = '<a href="http://www.outoforder.cc/projects/apache/mod_log_sql/" title="mod_log_sql">mod_log_sql</a> benutzen um die Webzugriffe temporär zu speichern<br /><b>Dies benötigt eine spezielle <a href="http://files.froxlor.org/docs/mod_log_sql/" title="mod_log_sql - Dokumentation">Apache-Konfiguration</a></b>';
|
||||||
$lng['serversettings']['mod_fcgid']['description'] = 'mod_fcgid/suexec/libnss_mysql benutzen um PHP unter dem jeweiligen Useraccount laufen zu lassen<br /><b>Dies benötigt eine spezielle Webserver-Konfiguration. Alle nachfolgenden Optionen sind nur gültig wenn das Modul aktiviert wird.</b>';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.18-svn1
|
// ADDED IN 1.2.18-svn1
|
||||||
|
|
||||||
@@ -594,7 +590,7 @@ $lng['admin']['webalizer']['normal'] = 'Normal';
|
|||||||
$lng['admin']['webalizer']['quiet'] = 'Leise';
|
$lng['admin']['webalizer']['quiet'] = 'Leise';
|
||||||
$lng['admin']['webalizer']['veryquiet'] = 'Keine Ausgaben';
|
$lng['admin']['webalizer']['veryquiet'] = 'Keine Ausgaben';
|
||||||
$lng['serversettings']['webalizer_quiet']['title'] = 'Webalizerausgabe';
|
$lng['serversettings']['webalizer_quiet']['title'] = 'Webalizerausgabe';
|
||||||
$lng['serversettings']['webalizer_quiet']['description'] = 'Ausgabefreudigkeit des webalizer-Programms';
|
$lng['serversettings']['webalizer_quiet']['description'] = 'Ausgabefreudigkeit des Webalizer-Programms';
|
||||||
|
|
||||||
// ADDED IN 1.2.18-svn3
|
// ADDED IN 1.2.18-svn3
|
||||||
|
|
||||||
@@ -712,7 +708,7 @@ $lng['serversettings']['ticket']['noreply_name'] = 'Ticket E-Mail Absendername';
|
|||||||
// ADDED IN 1.2.19-svn
|
// ADDED IN 1.2.19-svn
|
||||||
|
|
||||||
$lng['serversettings']['mod_fcgid']['configdir']['title'] = 'Konfigurations-Verzeichnis';
|
$lng['serversettings']['mod_fcgid']['configdir']['title'] = 'Konfigurations-Verzeichnis';
|
||||||
$lng['serversettings']['mod_fcgid']['configdir']['description'] = 'Wo sollen alle Konfigurationsdateien von fcgid liegen? Wenn Sie keine selbst kompilierte suexec Binary benutzen, was in der Regel der Fall ist, muss dieser Pfad unter /var/www/ liegen.';
|
$lng['serversettings']['mod_fcgid']['configdir']['description'] = 'Wo sollen alle Konfigurationsdateien von fcgid liegen? Wenn Sie keine selbst kompilierte suexec Binary benutzen, was in der Regel der Fall ist, muss dieser Pfad unter /var/www/ liegen.<br /><br /><div style="color:red">ACHTUNG: Der Inhalt dieses Ordners wird regelmäßig geleert, daher sollten keinerlei Daten dort manuell abgelegt werden.</div>';
|
||||||
$lng['serversettings']['mod_fcgid']['tmpdir']['title'] = 'Temporäres Verzeichnis';
|
$lng['serversettings']['mod_fcgid']['tmpdir']['title'] = 'Temporäres Verzeichnis';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn3
|
// ADDED IN 1.2.19-svn3
|
||||||
@@ -831,10 +827,10 @@ $lng['ticket']['by'] = 'von';
|
|||||||
$lng['dkim']['use_dkim']['title'] = 'DKIM Support aktivieren?';
|
$lng['dkim']['use_dkim']['title'] = 'DKIM Support aktivieren?';
|
||||||
$lng['dkim']['use_dkim']['description'] = 'Wollen Sie das Domain Keys (DKIM) System benutzen?';
|
$lng['dkim']['use_dkim']['description'] = 'Wollen Sie das Domain Keys (DKIM) System benutzen?';
|
||||||
$lng['error']['invalidmysqlhost'] = 'Ungültige MySQL Host Adresse: %s';
|
$lng['error']['invalidmysqlhost'] = 'Ungültige MySQL Host Adresse: %s';
|
||||||
$lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'Webalizer und Awstats können nicht zur gleichen Zeit aktiviert werden, bitte wählen Sie eines aus';
|
$lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'Webalizer und AWstats können nicht zur gleichen Zeit aktiviert werden, bitte wählen Sie eines aus';
|
||||||
$lng['serversettings']['webalizer_enabled'] = 'Nutze Webalizer Statistiken';
|
$lng['serversettings']['webalizer_enabled'] = 'Nutze Webalizer Statistiken';
|
||||||
$lng['serversettings']['awstats_enabled'] = 'Nutze AWStats Statistiken';
|
$lng['serversettings']['awstats_enabled'] = 'Nutze AWStats Statistiken';
|
||||||
$lng['admin']['awstatssettings'] = 'Awstats Einstellungen';
|
$lng['admin']['awstatssettings'] = 'AWstats Einstellungen';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn16
|
// ADDED IN 1.2.19-svn16
|
||||||
|
|
||||||
@@ -881,13 +877,6 @@ $lng['pwdreminder']['success'] = 'Passwort erfolgreich zurückgesetzt.<br />
|
|||||||
$lng['serversettings']['allow_password_reset']['title'] = 'Erlaube das Zurücksetzen des Kundenpassworts';
|
$lng['serversettings']['allow_password_reset']['title'] = 'Erlaube das Zurücksetzen des Kundenpassworts';
|
||||||
$lng['pwdreminder']['notallowed'] = 'Das Zurücksetzen des Passworts ist deaktiviert';
|
$lng['pwdreminder']['notallowed'] = 'Das Zurücksetzen des Passworts ist deaktiviert';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn20
|
|
||||||
|
|
||||||
$lng['serversettings']['awstats_path']['title'] = 'Pfad zum awstats cgi-bin Ordner';
|
|
||||||
$lng['serversettings']['awstats_path']['description'] = 'z.B. /usr/share/webapps/awstats/6.1/webroot/cgi-bin/';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['title'] = 'Pfad zu "awstats_updateall.pl"';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['description'] = 'z.B. /usr/bin/awstats_updateall.pl';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn21
|
// ADDED IN 1.2.19-svn21
|
||||||
|
|
||||||
$lng['customer']['title'] = 'Titel';
|
$lng['customer']['title'] = 'Titel';
|
||||||
@@ -1198,8 +1187,6 @@ $lng['error']['admindoesntexist'] = 'Der ausgewählte Admin existiert nicht.
|
|||||||
|
|
||||||
// ADDED IN 1.2.19-svn37
|
// ADDED IN 1.2.19-svn37
|
||||||
|
|
||||||
$lng['serversettings']['system_realtime_port']['title'] = 'Port für Realtime Froxlor';
|
|
||||||
$lng['serversettings']['system_realtime_port']['description'] = 'Dieser Port auf localhost wird bei jedem neuen Cron-Task kontaktiert. Wenn der Wert 0 (Null) ist, dann ist dieses Feature deaktiviert.<br />Siehe dazu auch: <a href="http://wiki.froxlor.org/doc/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
|
||||||
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Erlaube gleichzeitigen Login';
|
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Erlaube gleichzeitigen Login';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Wenn diese Option aktiviert ist, können sich Nutzer mehrmals gleichzeitig anmelden.';
|
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Wenn diese Option aktiviert ist, können sich Nutzer mehrmals gleichzeitig anmelden.';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Erlaube Verschieben von Domains unter Admins';
|
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Erlaube Verschieben von Domains unter Admins';
|
||||||
@@ -1434,22 +1421,22 @@ $lng['admin']['perlenabled'] = 'Perl verfügbar';
|
|||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.11-svn3
|
// ADDED IN FROXLOR 0.9.11-svn3
|
||||||
$lng['serversettings']['perl_path']['title'] = 'Pfad zu Perl';
|
$lng['serversettings']['perl_path']['title'] = 'Pfad zu Perl';
|
||||||
$lng['serversettings']['perl_path']['description'] = 'Nur nötig für lighttpd-Nutzer. Standard ist /usr/bin/perl';
|
$lng['serversettings']['perl_path']['description'] = 'Standard ist /usr/bin/perl';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.12-svn1
|
// ADDED IN FROXLOR 0.9.12-svn1
|
||||||
$lng['admin']['fcgid_settings'] = 'FCGID';
|
$lng['admin']['fcgid_settings'] = 'FCGID';
|
||||||
$lng['serversettings']['mod_fcgid_ownvhost']['title'] = 'Verwende FCGID im Froxlor Vhost';
|
$lng['serversettings']['mod_fcgid_ownvhost']['title'] = 'Verwende FCGID im Froxlor Vhost';
|
||||||
$lng['serversettings']['mod_fcgid_ownvhost']['description'] = 'Wenn verwendet, wird Froxlor selbst unter einem lokalem Benutzer ausgeführt<br /><strong>ACHTUNG:</strong>Hierzu müssen noch zusätzliche Konfigurationen vorgenommen werden, siehe <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a>';
|
$lng['serversettings']['mod_fcgid_ownvhost']['description'] = 'Wenn verwendet, wird Froxlor selbst unter einem lokalem Benutzer ausgeführt';
|
||||||
$lng['admin']['mod_fcgid_user'] = 'Lokaler Benutzer für FCGID (Froxlor Vhost)';
|
$lng['admin']['mod_fcgid_user'] = 'Lokaler Benutzer für FCGID (Froxlor Vhost)';
|
||||||
$lng['admin']['mod_fcgid_group'] = 'Lokale Gruppe für FCGID (Froxlor Vhost)';
|
$lng['admin']['mod_fcgid_group'] = 'Lokale Gruppe für FCGID (Froxlor Vhost)';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.12-svn2
|
// ADDED IN FROXLOR 0.9.12-svn2
|
||||||
$lng['admin']['perl_settings'] = 'Perl/CGI';
|
$lng['admin']['perl_settings'] = 'Perl/CGI';
|
||||||
$lng['serversettings']['perl']['suexecworkaround']['title'] = 'Aktiviere SuExec Workaround (nur für Apache)';
|
$lng['serversettings']['perl']['suexecworkaround']['title'] = 'Aktiviere SuExec Workaround';
|
||||||
$lng['serversettings']['perl']['suexecworkaround']['description'] = 'Aktivieren Sie den Workaround nur, wenn die Kunden-Heimatverzeichnise sich nicht unterhalb des suexec-Pfades liegen.<br />Wenn aktiviert erstellt Froxlor eine Verknüpfung des vom Kunden für Perl aktiviertem Pfad + /cgi-bin/ im angegebenen suexec-Pfad.<br />Bitte beachten Sie, dass Perl dann nur im Unterordner /cgi-bin/ des Kunden-Ordners funktioniert und nicht direkt in diesem Ordner (wie es ohne den Workaround wäre!)';
|
$lng['serversettings']['perl']['suexecworkaround']['description'] = 'Aktivieren Sie den Workaround nur, wenn die Kunden-Heimatverzeichnisse sich nicht unterhalb des suexec-Pfades liegen.<br />Wenn aktiviert erstellt Froxlor eine Verknüpfung des vom Kunden für Perl aktiviertem Pfad + /cgi-bin/ im angegebenen suexec-Pfad.<br />Bitte beachten Sie, dass Perl dann nur im Unterordner /cgi-bin/ des Kunden-Ordners funktioniert und nicht direkt in diesem Ordner (wie es ohne den Workaround wäre!)';
|
||||||
$lng['serversettings']['perl']['suexeccgipath']['title'] = 'Pfad für Verknüpfungen zu Kunden-Perl-Verzeichnis';
|
$lng['serversettings']['perl']['suexeccgipath']['title'] = 'Pfad für Verknüpfungen zu Kunden-Perl-Verzeichnis';
|
||||||
$lng['serversettings']['perl']['suexeccgipath']['description'] = 'Diese Einstellung wird nur benötigt, wenn der SuExec-Workaround aktiviert ist.<br />ACHTUNG: Stellen Sie sicher, dass sich der angegebene Pfad innerhalb des Suexec-Pfades befindet ansonsten ist der Workaround nutzlos';
|
$lng['serversettings']['perl']['suexeccgipath']['description'] = 'Diese Einstellung wird nur benötigt, wenn der SuExec-Workaround aktiviert ist.<br />ACHTUNG: Stellen Sie sicher, dass sich der angegebene Pfad innerhalb des Suexec-Pfades befindet ansonsten ist der Workaround nutzlos';
|
||||||
$lng['panel']['descriptionerrordocument'] = 'Mögliche Werte sind: URL, Pfad zu einer Datei oder ein Text umgeben von Anführungszeichen (" ")<br />Leer für Server-Standardwerd.';
|
$lng['panel']['descriptionerrordocument'] = 'Mögliche Werte sind: URL, Pfad zu einer Datei oder ein Text umgeben von Anführungszeichen (" ")<br />Leer für Server-Standardwert.';
|
||||||
$lng['error']['stringerrordocumentnotvalidforlighty'] = 'Ein Text als Fehlerdokument funktioniert leider in LigHTTPd nicht, bitte geben Sie einen Pfad zu einer Datei an';
|
$lng['error']['stringerrordocumentnotvalidforlighty'] = 'Ein Text als Fehlerdokument funktioniert leider in LigHTTPd nicht, bitte geben Sie einen Pfad zu einer Datei an';
|
||||||
$lng['error']['urlerrordocumentnotvalidforlighty'] = 'Eine URL als Fehlerdokument funktioniert leider in LigHTTPd nicht, bitte geben Sie einen Pfad zu einer Datei an';
|
$lng['error']['urlerrordocumentnotvalidforlighty'] = 'Eine URL als Fehlerdokument funktioniert leider in LigHTTPd nicht, bitte geben Sie einen Pfad zu einer Datei an';
|
||||||
|
|
||||||
@@ -1486,4 +1473,73 @@ $lng['admin']['store_defaultindex'] = 'Erstelle standard Index-Datei in Kunden-O
|
|||||||
// ADDED IN FROXLOR 0.9.13-svn1
|
// ADDED IN FROXLOR 0.9.13-svn1
|
||||||
$lng['customer']['autoresponder'] = 'Abwesenheitsnachrichten';
|
$lng['customer']['autoresponder'] = 'Abwesenheitsnachrichten';
|
||||||
|
|
||||||
?>
|
// ADDED IN FROXLOR 0.9.14-svn1
|
||||||
|
$lng['serversettings']['mod_fcgid']['defaultini_ownvhost'] = 'Voreingestellte PHP Konfiguration für den Froxlor-Vhost';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn3
|
||||||
|
$lng['serversettings']['awstats_icons']['title'] = 'Pfad zum AWstats icons Ordner';
|
||||||
|
$lng['serversettings']['awstats_icons']['description'] = 'z.B. /usr/share/awstats/htdocs/icon/';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn4
|
||||||
|
$lng['admin']['ipsandports']['ssl_cert_chainfile'] = 'Pfad zu dem SSL CertificateChainFile';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn5
|
||||||
|
$lng['admin']['ipsandports']['docroot']['title'] = 'Benutzerdefinierter Docroot (leer = zeige auf Froxlor)';
|
||||||
|
$lng['admin']['ipsandports']['docroot']['description'] = 'Hier kann ein benutzerdefinierter Document-Root (der Zielordner für einen Zugriff) für diese IP/Port Kombination gesetzt werden.<br /><strong>ACHTUNG:</strong> Bitte überlege vorher, welchen Pfad du hier angibst!';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn6
|
||||||
|
$lng['serversettings']['login_domain_login'] = 'Erlaube Anmeldung mit Domains';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14
|
||||||
|
$lng['panel']['unlock'] = 'entsperren';
|
||||||
|
$lng['question']['customer_reallyunlock'] = 'Wollen Sie den Kunden %s wirklich entsperren?';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.15-svn1
|
||||||
|
$lng['serversettings']['perl_server']['title'] = 'Perl Server Ort';
|
||||||
|
$lng['serversettings']['perl_server']['description'] = 'Der Standardwert ist diesem Guide entnommen: http://wiki.nginx.org/SimpleCGI';
|
||||||
|
$lng['serversettings']['nginx_php_backend']['title'] = 'Nginx PHP Backend';
|
||||||
|
$lng['serversettings']['nginx_php_backend']['description'] = 'Dies ist das Backend, auf dem PHP auf Anfragen von Nginx hört. Kann ein UNIX Socket oder eine IP:Port Kombination sein';
|
||||||
|
$lng['serversettings']['phpreload_command']['title'] = 'PHP Reload Befehl';
|
||||||
|
$lng['serversettings']['phpreload_command']['description'] = 'Dieser wird benötigt, um das PHP Backend bei Bedarf durch den Cronjob neu zu laden. (Standard: leer)';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.16
|
||||||
|
$lng['error']['intvaluetoolow'] = 'Die angegebene Zahl ist zu klein (Feld %s)';
|
||||||
|
$lng['error']['intvaluetoohigh'] = 'Die angegebene Zahl ist zu groß (Feld %s)';
|
||||||
|
$lng['admin']['phpfpm_settings'] = 'PHP-FPM';
|
||||||
|
$lng['serversettings']['phpfpm'] = 'Aktiviere php-fpm';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['configdir'] = 'Pfad zu php-fpm Konfigurationen';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['reload'] = 'Kommando zum Neustarten von php-fpm';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['pm'] = 'Prozess Manager Control (PM)';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_children']['title'] = 'Anzahl der Kind-Prozesse';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_children']['description'] = 'Die Anzahl der zu startenden Kind-Prozesse wenn PM auf \'static\' steht und die maximale Anzahl der Prozesse wenn PM auf \'dynamic\' steht.<br />Equivalent zu PHP_FCGI_CHILDREN';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['start_servers']['title'] = 'Anzahl der beim Starten zu erstellenden Kind-Prozesse';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['start_servers']['description'] = 'Hinweis: Nur wenn PM auf \'dynamic\' steht';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['min_spare_servers']['title'] = 'Mindestanzahl der Idle-Prozesse';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['min_spare_servers']['description'] = 'Hinweis: Nur wenn PM auf \'dynamic\' steht<br />Wichtig: Pflichtangabe wenn PM auf \'dynamic\' steht';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_spare_servers']['title'] = 'Maximale Anzahl der Idle-Prozesse';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_spare_servers']['description'] = 'Hinweis: Nur wenn PM auf \'dynamic\' steht<br />Wichtig: Pflichtangabe wenn PM auf \'dynamic\' steht';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_requests']['title'] = 'Requests pro Kindprozess bevor Neuerstellung (respawning)';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['max_requests']['description'] = 'Für keine Begrenzung \'0\' angeben. Equivalent zu PHP_FCGI_MAX_REQUESTS.';
|
||||||
|
$lng['error']['phpfpmstillenabled'] = 'PHP-FPM ist derzeit aktiviert. Bitte deaktiviere es, um FCGID zu aktivieren';
|
||||||
|
$lng['error']['fcgidstillenabled'] = 'FCGID ist derzeit aktiviert. Bitte deaktiviere es, um PHP-FPM zu aktivieren';
|
||||||
|
$lng['phpfpm']['vhost_httpuser'] = 'Lokaler Benutzer für PHP-FPM (Froxlor Vhost)';
|
||||||
|
$lng['phpfpm']['vhost_httpgroup'] = 'Lokale Gruppe für PHP-FPM (Froxlor Vhost)';
|
||||||
|
$lng['phpfpm']['ownvhost']['title'] = 'Verwende PHP-FPM im Froxlor Vhost';
|
||||||
|
$lng['phpfpm']['ownvhost']['description'] = 'Wenn verwendet, wird Froxlor selbst unter einem lokalem Benutzer ausgeführt';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.17
|
||||||
|
$lng['crondesc']['cron_usage_report'] = 'Sende Reports über Webspace- und Trafficverbrauch';
|
||||||
|
$lng['serversettings']['report']['report'] = 'Aktiviere das Senden von Reports über Webspace- und Trafficverbrauch';
|
||||||
|
$lng['serversettings']['report']['webmax'] = 'Warn-Level in Prozent für Webspace';
|
||||||
|
$lng['serversettings']['report']['trafficmax'] = 'Warn-Level in Prozent für Traffic';
|
||||||
|
$lng['mails']['trafficmaxpercent']['mailbody'] = 'Sehr geehrte(r) {NAME},\n\nSie haben bereits {TRAFFICUSED} MB von Ihren insgesamt {TRAFFIC} MB Traffic verbraucht.\nDies sind mehr als {MAX_PERCENT}%.\n\nVielen Dank,\ndas Froxlor-Team';
|
||||||
|
$lng['mails']['trafficmaxpercent']['subject'] = 'Sie erreichen bald Ihr Traffic-Limit';
|
||||||
|
$lng['admin']['templates']['trafficmaxpercent'] = 'Hinweismail für Kunden, wenn sie die angegebenen Prozent des Traffics verbraucht haben';
|
||||||
|
$lng['admin']['templates']['MAX_PERCENT'] = 'Wird mit dem Webspace/Traffic-Limit, welches dem Kunden zugewiesen wurde, ersetzt.';
|
||||||
|
$lng['admin']['templates']['USAGE_PERCENT'] = 'Wird mit dem Webspace/Traffic, welcher vom Kunden bereits verbraucht wurde, ersetzt.';
|
||||||
|
$lng['admin']['templates']['diskmaxpercent'] = 'Hinweismail für Kunden, wenn sie die angegebenen Prozent des Webspaces verbraucht haben';
|
||||||
|
$lng['admin']['templates']['DISKAVAILABLE'] = 'Wird mit dem Webspace, der dem Kunden zugewiesen wurde, ersetzt (in MB).';
|
||||||
|
$lng['admin']['templates']['DISKUSED'] = 'Wird mit dem Webspace, welcher vom Kunden bereits verbraucht wurde, ersetzt (in MB).';
|
||||||
|
$lng['serversettings']['dropdown'] = 'Auswahlliste';
|
||||||
|
$lng['serversettings']['manual'] = 'Manuelle Eingabe';
|
||||||
|
$lng['mysql']['database_edit'] = 'Datenbank bearbeiten';
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
* @copyright (c) the authors
|
* @copyright (c) the authors
|
||||||
* @author Luca Piona <info@havanastudio.ch>
|
* @author Luca Piona <info@havanastudio.ch>
|
||||||
* @author Luca Longinotti <chtekk@gentoo.org>
|
* @author Luca Longinotti <chtekk@gentoo.org>
|
||||||
* @author Emilien
|
* @author Emilien
|
||||||
* @author Froxlor Team <team@froxlor.org>
|
* @author Froxlor Team <team@froxlor.org>
|
||||||
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
* @package Language
|
* @package Language
|
||||||
@@ -877,13 +877,6 @@ $lng['pwdreminder']['success'] = 'La password
|
|||||||
$lng['serversettings']['allow_password_reset']['title'] = 'Consenti ai clienti di reimpostare la password';
|
$lng['serversettings']['allow_password_reset']['title'] = 'Consenti ai clienti di reimpostare la password';
|
||||||
$lng['pwdreminder']['notallowed'] = 'Il reimposta password <20> disabilitato';
|
$lng['pwdreminder']['notallowed'] = 'Il reimposta password <20> disabilitato';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn20
|
|
||||||
|
|
||||||
$lng['serversettings']['awstats_path']['title'] = 'Percorso della cartella cgi-bin di awstats';
|
|
||||||
$lng['serversettings']['awstats_path']['description'] = 'es. /usr/share/webapps/awstats/6.1/webroot/cgi-bin/';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['title'] = 'Percorso di "awstats_updateall.pl"';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['description'] = 'es. /usr/bin/awstats_updateall.pl';
|
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn21
|
// ADDED IN 1.2.19-svn21
|
||||||
|
|
||||||
$lng['customer']['title'] = 'Titolo';
|
$lng['customer']['title'] = 'Titolo';
|
||||||
@@ -1264,7 +1257,7 @@ $lng['update']['updateinprogress_onlyadmincanlogin'] = 'Una nuova versione di Fr
|
|||||||
$lng['update']['update'] = 'Aggiorna Froxlor';
|
$lng['update']['update'] = 'Aggiorna Froxlor';
|
||||||
$lng['update']['proceed'] = 'Procedi';
|
$lng['update']['proceed'] = 'Procedi';
|
||||||
$lng['update']['update_information']['part_a'] = 'I file di Froxlor sono stati aggiornati alla versione <strong>%newversion</strong>. La versione installata <20> <strong>%curversion</strong>.';
|
$lng['update']['update_information']['part_a'] = 'I file di Froxlor sono stati aggiornati alla versione <strong>%newversion</strong>. La versione installata <20> <strong>%curversion</strong>.';
|
||||||
$lng['update']['update_information']['part_b'] = '<br /><br />I clienti non potranno accedere fino a quando l\'aggiornamento non sar<61> completato.<br /><strong>Proceed?</strong>';
|
$lng['update']['update_information']['part_b'] = '<br /><br />I clienti non potranno accedere fino a quando l\'aggiornamento non sar<61> completato.<br /><strong>Procedere?</strong>';
|
||||||
$lng['update']['noupdatesavail'] = '<strong><3E> gi<67> presente l\'ultima versione di Froxlor.</strong>';
|
$lng['update']['noupdatesavail'] = '<strong><3E> gi<67> presente l\'ultima versione di Froxlor.</strong>';
|
||||||
$lng['admin']['specialsettingsforsubdomains'] = 'Applica le impostazioni speciali a tutti i sottodomini (*.esempio.com)';
|
$lng['admin']['specialsettingsforsubdomains'] = 'Applica le impostazioni speciali a tutti i sottodomini (*.esempio.com)';
|
||||||
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'Se si queste impostazioni personalizzate dei vhost saranno aggiunte a tutti sottodomini; se no le impostazioni speciali dei sottodomini verranno rimosse.';
|
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'Se si queste impostazioni personalizzate dei vhost saranno aggiunte a tutti sottodomini; se no le impostazioni speciali dei sottodomini verranno rimosse.';
|
||||||
@@ -1299,7 +1292,7 @@ $lng['serversettings']['panel_password_min_length']['title'] = 'Lunghezza minima
|
|||||||
$lng['serversettings']['panel_password_min_length']['description'] = 'Qui <20> possibile impostare una lunghezza minima per le password.\'0\' significa: nessuna lunghezza minima richiesta.';
|
$lng['serversettings']['panel_password_min_length']['description'] = 'Qui <20> possibile impostare una lunghezza minima per le password.\'0\' significa: nessuna lunghezza minima richiesta.';
|
||||||
$lng['error']['notrequiredpasswordlength'] = 'La password scritta <20> troppo corta. Si prega di scrivere una password lunga almeno %s caratteri.';
|
$lng['error']['notrequiredpasswordlength'] = 'La password scritta <20> troppo corta. Si prega di scrivere una password lunga almeno %s caratteri.';
|
||||||
$lng['serversettings']['system_store_index_file_subs']['title'] = 'Salva il file index predefinito anche nelle nuove sottocartelle';
|
$lng['serversettings']['system_store_index_file_subs']['title'] = 'Salva il file index predefinito anche nelle nuove sottocartelle';
|
||||||
$lng['serversettings']['system_store_index_file_subs']['description'] = 'Se abilitato, il file index predefinito viene memorizzato per ogni cartella sottodominio appena creata (non se la cartella esiste gi<67>!)';
|
$lng['serversettings']['system_store_index_file_subs']['description'] = 'Se abilitato, il file index predefinito viene memorizzato per ogni cartella sottodominio appena creata (non se la cartella esiste gi<67>!)';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.3-svn2
|
// ADDED IN FROXLOR 0.9.3-svn2
|
||||||
|
|
||||||
@@ -1424,7 +1417,7 @@ $lng['redirect_desc']['rc_movedperm'] = 'spostato in modo permanente';
|
|||||||
$lng['redirect_desc']['rc_found'] = 'trovato';
|
$lng['redirect_desc']['rc_found'] = 'trovato';
|
||||||
$lng['redirect_desc']['rc_seeother'] = 'vedi gli altri';
|
$lng['redirect_desc']['rc_seeother'] = 'vedi gli altri';
|
||||||
$lng['redirect_desc']['rc_tempred'] = 'reindirizzamento temporaneo';
|
$lng['redirect_desc']['rc_tempred'] = 'reindirizzamento temporaneo';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.8
|
// ADDED IN FROXLOR 0.9.8
|
||||||
$lng['error']['exception'] = '%s';
|
$lng['error']['exception'] = '%s';
|
||||||
|
|
||||||
@@ -1500,4 +1493,10 @@ $lng['extras']['directoryprotection_edit'] = 'modifica la protezione della direc
|
|||||||
$lng['admin']['templates']['forgotpwd'] = 'Mail di notifica per il reset della password';
|
$lng['admin']['templates']['forgotpwd'] = 'Mail di notifica per il reset della password';
|
||||||
$lng['admin']['templates']['password_reset'] = 'Notifica al cliente per il reset della password';
|
$lng['admin']['templates']['password_reset'] = 'Notifica al cliente per il reset della password';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.13-svn1
|
||||||
|
$lng['customer']['autoresponder'] = 'Risponditore Automatico';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.14-svn1
|
||||||
|
$lng['serversettings']['mod_fcgid']['defaultini_ownvhost'] = 'Configurazione di Default di PHP per Froxlor-vhost';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ $lng['customer']['unlimited'] = 'bez limitu';
|
|||||||
* Customermenue
|
* Customermenue
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['menue']['main']['main'] = 'Panel gł<EFBFBD>wny';
|
$lng['menue']['main']['main'] = 'Panel g<EFBFBD><EFBFBD>wny';
|
||||||
$lng['menue']['main']['changepassword'] = 'Zmień hasło';
|
$lng['menue']['main']['changepassword'] = 'Zmień hasło';
|
||||||
$lng['menue']['main']['changelanguage'] = 'Zmień język';
|
$lng['menue']['main']['changelanguage'] = 'Zmień język';
|
||||||
$lng['menue']['email']['email'] = 'E-mail';
|
$lng['menue']['email']['email'] = 'E-mail';
|
||||||
@@ -218,16 +218,16 @@ $lng['error']['errordocpathdupe'] = 'Option for path %s already exists';
|
|||||||
$lng['error']['adduserfirst'] = 'Proszę w pierwszej kolejności utworzyć klienta';
|
$lng['error']['adduserfirst'] = 'Proszę w pierwszej kolejności utworzyć klienta';
|
||||||
$lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer';
|
$lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer';
|
||||||
$lng['error']['nolanguageselect'] = 'Nie wybrano języka.';
|
$lng['error']['nolanguageselect'] = 'Nie wybrano języka.';
|
||||||
$lng['error']['nosubjectcreate'] = 'Musisz zdefiniować temat dla szablonu e-maila.';
|
$lng['error']['nosubjectcreate'] = 'Musisz zdefiniowa<EFBFBD> temat dla szablonu e-maila.';
|
||||||
$lng['error']['nomailbodycreate'] = 'Musisz zdefiniować treść dla szablonu e-maila.';
|
$lng['error']['nomailbodycreate'] = 'Musisz zdefiniowa<EFBFBD> tre<72><65> dla szablonu e-maila.';
|
||||||
$lng['error']['templatenotfound'] = 'Szablon nie został znaleziony.';
|
$lng['error']['templatenotfound'] = 'Szablon nie zosta<EFBFBD> znaleziony.';
|
||||||
$lng['error']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.';
|
$lng['error']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.';
|
||||||
$lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.';
|
$lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.';
|
||||||
$lng['error']['subdomainiswrong'] = 'The subdomain %s contains invalid characters.';
|
$lng['error']['subdomainiswrong'] = 'The subdomain %s contains invalid characters.';
|
||||||
$lng['error']['domaincantbeempty'] = 'Nazwa domeny nie może być pusta.';
|
$lng['error']['domaincantbeempty'] = 'Nazwa domeny nie mo<EFBFBD>e by<62> pusta.';
|
||||||
$lng['error']['domainexistalready'] = 'Domena %s już istnieje.';
|
$lng['error']['domainexistalready'] = 'Domena %s ju<EFBFBD> istnieje.';
|
||||||
$lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is either itself an alias domain or belongs to another customer.';
|
$lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is either itself an alias domain or belongs to another customer.';
|
||||||
$lng['error']['emailexistalready'] = 'Adres e-mail %s już istnieje.';
|
$lng['error']['emailexistalready'] = 'Adres e-mail %s ju<EFBFBD> istnieje.';
|
||||||
$lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.';
|
$lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.';
|
||||||
$lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.';
|
$lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.';
|
||||||
$lng['error']['destinationalreadyexistasmail'] = 'The forwarder to %s already exists as active EMail-Address.';
|
$lng['error']['destinationalreadyexistasmail'] = 'The forwarder to %s already exists as active EMail-Address.';
|
||||||
@@ -242,7 +242,7 @@ $lng['error']['domainname'] = $lng['domains']['domainname'];
|
|||||||
$lng['question']['question'] = 'Pytanie bezpieczeństwa';
|
$lng['question']['question'] = 'Pytanie bezpieczeństwa';
|
||||||
$lng['question']['admin_customer_reallydelete'] = 'Czy na pewno chcesz skasować klienta %s? Ta czynność jest niedwracalna!';
|
$lng['question']['admin_customer_reallydelete'] = 'Czy na pewno chcesz skasować klienta %s? Ta czynność jest niedwracalna!';
|
||||||
$lng['question']['admin_domain_reallydelete'] = 'Czy na pewno chcesz skasować domenę %s?';
|
$lng['question']['admin_domain_reallydelete'] = 'Czy na pewno chcesz skasować domenę %s?';
|
||||||
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Czy na pewno chcesz deaktywować ustawienia bezpieczeństwa (OpenBasedir i/lub SafeMode)?';
|
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Czy na pewno chcesz deaktywowa<EFBFBD> ustawienia bezpiecze<EFBFBD>stwa (OpenBasedir i/lub SafeMode)?';
|
||||||
$lng['question']['admin_admin_reallydelete'] = 'Czy na pewno chcesz skasować administratora %s? Wszystcy klienci i domeny zostaną przypisani do Twojego konta.';
|
$lng['question']['admin_admin_reallydelete'] = 'Czy na pewno chcesz skasować administratora %s? Wszystcy klienci i domeny zostaną przypisani do Twojego konta.';
|
||||||
$lng['question']['admin_template_reallydelete'] = 'Czy na pewno chcesz skasować szablon \'%s\'?';
|
$lng['question']['admin_template_reallydelete'] = 'Czy na pewno chcesz skasować szablon \'%s\'?';
|
||||||
$lng['question']['domains_reallydelete'] = 'Czy na pewno chcesz skasować domenę %s?';
|
$lng['question']['domains_reallydelete'] = 'Czy na pewno chcesz skasować domenę %s?';
|
||||||
@@ -254,7 +254,6 @@ $lng['question']['extras_reallydelete_pathoptions'] = 'Do you really want to del
|
|||||||
$lng['question']['ftp_reallydelete'] = 'Czy na pewno chcesz skasować konto FTP %s?';
|
$lng['question']['ftp_reallydelete'] = 'Czy na pewno chcesz skasować konto FTP %s?';
|
||||||
$lng['question']['mysql_reallydelete'] = 'Czy na pewno chcesz skasować bazę danych %s? Ta czynność jest niedwracalna!';
|
$lng['question']['mysql_reallydelete'] = 'Czy na pewno chcesz skasować bazę danych %s? Ta czynność jest niedwracalna!';
|
||||||
$lng['question']['admin_configs_reallyrebuild'] = 'Czy napewno chcesz przebudować pliki konfiguracyjne Apacha i Binda?';
|
$lng['question']['admin_configs_reallyrebuild'] = 'Czy napewno chcesz przebudować pliki konfiguracyjne Apacha i Binda?';
|
||||||
$lng['question']['admin_customer_alsoremovefiles'] = 'Remove user files too?';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mails
|
* Mails
|
||||||
@@ -329,27 +328,27 @@ $lng['admin']['webserver'] = 'Webserwer';
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['serversettings']['session_timeout']['title'] = 'Timeout Sesji';
|
$lng['serversettings']['session_timeout']['title'] = 'Timeout Sesji';
|
||||||
$lng['serversettings']['session_timeout']['description'] = 'jak długo użytkownik może być nieaktywny przed automatycznym wylogowaniem (sekund)?';
|
$lng['serversettings']['session_timeout']['description'] = 'jak d<EFBFBD>ugo u<>ytkownik mo<6D>e by<62> nieaktywny przed automatycznym wylogowaniem (sekund)?';
|
||||||
$lng['serversettings']['accountprefix']['title'] = 'Customer prefix';
|
$lng['serversettings']['accountprefix']['title'] = 'Customer prefix';
|
||||||
$lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?';
|
$lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?';
|
||||||
$lng['serversettings']['mysqlprefix']['title'] = 'SQL Prefix';
|
$lng['serversettings']['mysqlprefix']['title'] = 'SQL Prefix';
|
||||||
$lng['serversettings']['mysqlprefix']['description'] = 'Which prefix should mysql accounts have?';
|
$lng['serversettings']['mysqlprefix']['description'] = 'Which prefix should mysql accounts have?';
|
||||||
$lng['serversettings']['ftpprefix']['title'] = 'FTP Prefix';
|
$lng['serversettings']['ftpprefix']['title'] = 'FTP Prefix';
|
||||||
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?';
|
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?';
|
||||||
$lng['serversettings']['documentroot_prefix']['title'] = 'Katalog domowy';
|
$lng['serversettings']['documentroot_prefix']['title'] = 'Home directory';
|
||||||
$lng['serversettings']['documentroot_prefix']['description'] = 'Gdzie powinny być przechowywane wszystkie katalogi domowe?';
|
$lng['serversettings']['documentroot_prefix']['description'] = 'Where should all home directories be stored?';
|
||||||
$lng['serversettings']['logfiles_directory']['title'] = 'Katalog z logami';
|
$lng['serversettings']['logfiles_directory']['title'] = 'Logfiles directory';
|
||||||
$lng['serversettings']['logfiles_directory']['description'] = 'Gdzie powinny być przechowywane wszystkie logi?';
|
$lng['serversettings']['logfiles_directory']['description'] = 'Where should all log files be stored?';
|
||||||
$lng['serversettings']['ipaddress']['title'] = 'Adres IP';
|
$lng['serversettings']['ipaddress']['title'] = 'Adres IP';
|
||||||
$lng['serversettings']['ipaddress']['description'] = 'Jaki jest adres IP tego serwera?';
|
$lng['serversettings']['ipaddress']['description'] = 'Jaki jest adres IP tego serwera?';
|
||||||
$lng['serversettings']['hostname']['title'] = 'Hostname';
|
$lng['serversettings']['hostname']['title'] = 'Hostname';
|
||||||
$lng['serversettings']['hostname']['description'] = 'Jaki jest Hostname serwera?';
|
$lng['serversettings']['hostname']['description'] = 'Jaki jest Hostname serwera?';
|
||||||
$lng['serversettings']['apachereload_command']['title'] = 'Komenda prze<7A>adowania Apache';
|
$lng['serversettings']['apachereload_command']['title'] = 'Apache reload command';
|
||||||
$lng['serversettings']['apachereload_command']['description'] = 'Jaka jest komenda, do prze<7A>adowania plik<69>w konfiguracyjnych Apacha?';
|
$lng['serversettings']['apachereload_command']['description'] = 'What\'s the apache command to reload apache configfiles?';
|
||||||
$lng['serversettings']['bindconf_directory']['title'] = 'Katalog z konfiguracj<63> Bunda';
|
$lng['serversettings']['bindconf_directory']['title'] = 'Bind config directory';
|
||||||
$lng['serversettings']['bindconf_directory']['description'] = 'Gdzie maja by<62> zapisywane pliki konfiguracyjne dla Binda?';
|
$lng['serversettings']['bindconf_directory']['description'] = 'Where should bind configfiles be saved?';
|
||||||
$lng['serversettings']['bindreload_command']['title'] = 'Komenda prze<7A>adowania Binda';
|
$lng['serversettings']['bindreload_command']['title'] = 'Bind reload command';
|
||||||
$lng['serversettings']['bindreload_command']['description'] = 'Jaka jest komenda, do prze<7A>adowania plik<69>w konfiguracyjnych Binda?';
|
$lng['serversettings']['bindreload_command']['description'] = 'What\'s the bind command to reload bind configfiles?';
|
||||||
$lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone';
|
$lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone';
|
||||||
$lng['serversettings']['binddefaultzone']['description'] = 'What\'s the name of the default zone?';
|
$lng['serversettings']['binddefaultzone']['description'] = 'What\'s the name of the default zone?';
|
||||||
$lng['serversettings']['vmail_uid']['title'] = 'Mails-UID';
|
$lng['serversettings']['vmail_uid']['title'] = 'Mails-UID';
|
||||||
@@ -357,20 +356,20 @@ $lng['serversettings']['vmail_uid']['description'] = 'Which UserID should mails
|
|||||||
$lng['serversettings']['vmail_gid']['title'] = 'Mails-GID';
|
$lng['serversettings']['vmail_gid']['title'] = 'Mails-GID';
|
||||||
$lng['serversettings']['vmail_gid']['description'] = 'Which GroupID should mails have?';
|
$lng['serversettings']['vmail_gid']['description'] = 'Which GroupID should mails have?';
|
||||||
$lng['serversettings']['vmail_homedir']['title'] = 'Katalog domowy e-maili';
|
$lng['serversettings']['vmail_homedir']['title'] = 'Katalog domowy e-maili';
|
||||||
$lng['serversettings']['vmail_homedir']['description'] = 'Gdzie mają być składowane wiadomości e-mail?';
|
$lng['serversettings']['vmail_homedir']['description'] = 'Gdzie maj<EFBFBD> by<62> sk<73>adowane wiadomo<EFBFBD>ci e-mail?';
|
||||||
$lng['serversettings']['adminmail']['title'] = 'Nadawca';
|
$lng['serversettings']['adminmail']['title'] = 'Nadawca';
|
||||||
$lng['serversettings']['adminmail']['description'] = 'Jaki jest adres nadawcy dla wiadomości wysyłanych z panelu?';
|
$lng['serversettings']['adminmail']['description'] = 'Jaki jest adres nadawcy dla wiadomo<EFBFBD>ci wysy<EFBFBD>anych z panelu?';
|
||||||
$lng['serversettings']['phpmyadmin_url']['title'] = 'URL do phpMyAdmina';
|
$lng['serversettings']['phpmyadmin_url']['title'] = 'URL do phpMyAdmina';
|
||||||
$lng['serversettings']['phpmyadmin_url']['description'] = 'Jaki jest adres URL do phpMyAdmina? (Musi się rozpoczynać do http(s)://)';
|
$lng['serversettings']['phpmyadmin_url']['description'] = 'What\'s the URL to phpMyAdmin? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['webmail_url']['title'] = 'URL do WebMaila';
|
$lng['serversettings']['webmail_url']['title'] = 'WebMail URL';
|
||||||
$lng['serversettings']['webmail_url']['description'] = 'Jaki jest adres URL do WebMaila? (Musi się rozpoczynać do http(s)://)';
|
$lng['serversettings']['webmail_url']['description'] = 'What\'s the URL to WebMail? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['webftp_url']['title'] = 'URL do WebFTPa';
|
$lng['serversettings']['webftp_url']['title'] = 'WebFTP URL';
|
||||||
$lng['serversettings']['webftp_url']['description'] = 'Jaki jest adres URL do WebFTPa? (Musi się rozpoczynać do http(s)://)';
|
$lng['serversettings']['webftp_url']['description'] = 'What\'s the URL to WebFTP? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['language']['description'] = 'Jaki jest standardowy język serwera?';
|
$lng['serversettings']['language']['description'] = 'What\'s your standard server language?';
|
||||||
$lng['serversettings']['maxloginattempts']['title'] = 'Maksymalna ilo<6C><6F> pr<70>b logowania';
|
$lng['serversettings']['maxloginattempts']['title'] = 'Max Login Attempts';
|
||||||
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets deactivated.';
|
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets deactivated.';
|
||||||
$lng['serversettings']['deactivatetime']['title'] = 'Czas zablokowania';
|
$lng['serversettings']['deactivatetime']['title'] = 'Czas zablokowania';
|
||||||
$lng['serversettings']['deactivatetime']['description'] = 'Czas (sek.) zablokowania dostępu do konta po nieudanym logowaniu.';
|
$lng['serversettings']['deactivatetime']['description'] = 'Czas (sek.) zablokowania dost<EFBFBD>pu do konta po nieudanym logowaniu.';
|
||||||
$lng['serversettings']['pathedit']['title'] = 'Type of path input';
|
$lng['serversettings']['pathedit']['title'] = 'Type of path input';
|
||||||
$lng['serversettings']['pathedit']['description'] = 'Should a path be selected by a dropdown menu or by an input field?';
|
$lng['serversettings']['pathedit']['description'] = 'Should a path be selected by a dropdown menu or by an input field?';
|
||||||
$lng['serversettings']['nameservers']['title'] = 'Serwery Nazw (Nameserwery)';
|
$lng['serversettings']['nameservers']['title'] = 'Serwery Nazw (Nameserwery)';
|
||||||
@@ -382,7 +381,7 @@ $lng['serversettings']['mxservers']['description'] = 'A comma seperated list con
|
|||||||
* CHANGED BETWEEN 1.2.12 and 1.2.13
|
* CHANGED BETWEEN 1.2.12 and 1.2.13
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$lng['mysql']['description'] = 'W tym miejscu możesz tworzyć i zmieniać Twoje bazy MySQL.<br />The changes are made instantly and the database can be used immediately.<br />At the menu on the left side you find the tool phpMyAdmin with which you can easily administer your database.<br /><br />To use your databases in your own php-scripts use the following settings: (The data in <i>italics</i> have to be changed into the equivalents you typed in!)<br />Hostname: <b><SQL_HOST></b><br />Username: <b><i>Databasename</i></b><br />Password: <b><i>the password you\'ve chosen</i></b><br />Database: <b><i>Databasename</i></b>';
|
$lng['mysql']['description'] = 'W tym miejscu mo<EFBFBD>esz tworzy<EFBFBD> i zmienia<EFBFBD> Twoje bazy MySQL.<br />The changes are made instantly and the database can be used immediately.<br />At the menu on the left side you find the tool phpMyAdmin with which you can easily administer your database.<br /><br />To use your databases in your own php-scripts use the following settings: (The data in <i>italics</i> have to be changed into the equivalents you typed in!)<br />Hostname: <b><SQL_HOST></b><br />Username: <b><i>Databasename</i></b><br />Password: <b><i>the password you\'ve chosen</i></b><br />Database: <b><i>Databasename</i></b>';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ADDED BETWEEN 1.2.12 and 1.2.13
|
* ADDED BETWEEN 1.2.12 and 1.2.13
|
||||||
@@ -396,9 +395,9 @@ $lng['error']['cantdeletesystemip'] = 'You cannot delete the last system IP, eit
|
|||||||
$lng['error']['myipaddress'] = '\'IP\'';
|
$lng['error']['myipaddress'] = '\'IP\'';
|
||||||
$lng['error']['myport'] = '\'Port\'';
|
$lng['error']['myport'] = '\'Port\'';
|
||||||
$lng['error']['myipdefault'] = 'You need to select an IP/Port combination that should become default.';
|
$lng['error']['myipdefault'] = 'You need to select an IP/Port combination that should become default.';
|
||||||
$lng['error']['myipnotdouble'] = 'Kombinacja IP/Port już istnieje.';
|
$lng['error']['myipnotdouble'] = 'Kombinacja IP/Port ju<EFBFBD> istnieje.';
|
||||||
$lng['error']['admin_domain_emailsystemhostname'] = 'Sorry. You can not use the Server Hostname as email domain';
|
$lng['error']['admin_domain_emailsystemhostname'] = 'Sorry. You can not use the Server Hostname as email domain';
|
||||||
$lng['question']['admin_ip_reallydelete'] = 'Czy na pewno chcesz skasować adres IP %s?';
|
$lng['question']['admin_ip_reallydelete'] = 'Czy na pewno chcesz skasowa<EFBFBD> adres IP %s?';
|
||||||
$lng['admin']['ipsandports']['ipsandports'] = 'IP i Porty';
|
$lng['admin']['ipsandports']['ipsandports'] = 'IP i Porty';
|
||||||
$lng['admin']['ipsandports']['add'] = 'Dodaj IP/Port';
|
$lng['admin']['ipsandports']['add'] = 'Dodaj IP/Port';
|
||||||
$lng['admin']['ipsandports']['edit'] = 'Edytuj IP/Port';
|
$lng['admin']['ipsandports']['edit'] = 'Edytuj IP/Port';
|
||||||
@@ -534,7 +533,7 @@ $lng['admin']['configfiles']['choosedaemon'] = '-- Wybierz daemona --';
|
|||||||
// ADDED IN 1.2.16-svn10
|
// ADDED IN 1.2.16-svn10
|
||||||
|
|
||||||
$lng['serversettings']['ftpdomain']['title'] = 'konta FTP @domena';
|
$lng['serversettings']['ftpdomain']['title'] = 'konta FTP @domena';
|
||||||
$lng['serversettings']['ftpdomain']['description'] = 'Klienci mogą tworzyć konta FTP uzytkownik@domenaklienta?';
|
$lng['serversettings']['ftpdomain']['description'] = 'Klienci mog<EFBFBD> tworzy<EFBFBD> konta FTP uzytkownik@domenaklienta?';
|
||||||
$lng['panel']['back'] = 'Back';
|
$lng['panel']['back'] = 'Back';
|
||||||
|
|
||||||
// ADDED IN 1.2.16-svn12
|
// ADDED IN 1.2.16-svn12
|
||||||
@@ -582,9 +581,9 @@ $lng['admin']['ipsandports']['create_vhostcontainer_servername_statement'] = 'Cr
|
|||||||
$lng['admin']['webalizersettings'] = 'Usttawienia Webalizera';
|
$lng['admin']['webalizersettings'] = 'Usttawienia Webalizera';
|
||||||
$lng['admin']['webalizer']['normal'] = 'Normalny';
|
$lng['admin']['webalizer']['normal'] = 'Normalny';
|
||||||
$lng['admin']['webalizer']['quiet'] = 'Cichy';
|
$lng['admin']['webalizer']['quiet'] = 'Cichy';
|
||||||
$lng['admin']['webalizer']['veryquiet'] = 'Bez danych wyjścia';
|
$lng['admin']['webalizer']['veryquiet'] = 'Bez danych wyj<EFBFBD>cia';
|
||||||
$lng['serversettings']['webalizer_quiet']['title'] = 'Dane wyjścia Webalizera';
|
$lng['serversettings']['webalizer_quiet']['title'] = 'Dane wyj<EFBFBD>cia Webalizera';
|
||||||
$lng['serversettings']['webalizer_quiet']['description'] = 'Gadatliwość programu Webalizer';
|
$lng['serversettings']['webalizer_quiet']['description'] = 'Gadatliwo<EFBFBD><EFBFBD> programu Webalizer';
|
||||||
|
|
||||||
// ADDED IN 1.2.18-svn3
|
// ADDED IN 1.2.18-svn3
|
||||||
|
|
||||||
@@ -597,7 +596,7 @@ $lng['menue']['ticket']['archive'] = 'Archiwum zgłoszeń';
|
|||||||
$lng['ticket']['description'] = 'Here you can send help-requests to your responsible administrator.<br />Notifications will be sent via e-mail.';
|
$lng['ticket']['description'] = 'Here you can send help-requests to your responsible administrator.<br />Notifications will be sent via e-mail.';
|
||||||
$lng['ticket']['ticket_new'] = 'Utw<74>rz nowe zgłoszenie';
|
$lng['ticket']['ticket_new'] = 'Utw<74>rz nowe zgłoszenie';
|
||||||
$lng['ticket']['ticket_reply'] = 'Odpowiedź na zgłoszenie';
|
$lng['ticket']['ticket_reply'] = 'Odpowiedź na zgłoszenie';
|
||||||
$lng['ticket']['ticket_reopen'] = 'Ponownie otw<74>rz zgłoszenie';
|
$lng['ticket']['ticket_reopen'] = 'Ponownie otw<74>rz zg<EFBFBD>oszenie';
|
||||||
$lng['ticket']['ticket_newcateory'] = 'Utw<74>rz nową kategorię';
|
$lng['ticket']['ticket_newcateory'] = 'Utw<74>rz nową kategorię';
|
||||||
$lng['ticket']['ticket_editcateory'] = 'Edytuj kategorię';
|
$lng['ticket']['ticket_editcateory'] = 'Edytuj kategorię';
|
||||||
$lng['ticket']['ticket_view'] = 'View ticketcourse';
|
$lng['ticket']['ticket_view'] = 'View ticketcourse';
|
||||||
@@ -627,7 +626,7 @@ $lng['ticket']['reopen'] = 'Ponownie otw
|
|||||||
$lng['ticket']['archive'] = 'Zarchiwizuj';
|
$lng['ticket']['archive'] = 'Zarchiwizuj';
|
||||||
$lng['ticket']['ticket_delete'] = 'Kasuj zgłoszenie';
|
$lng['ticket']['ticket_delete'] = 'Kasuj zgłoszenie';
|
||||||
$lng['ticket']['lastarchived'] = 'Recently archived tickets';
|
$lng['ticket']['lastarchived'] = 'Recently archived tickets';
|
||||||
$lng['ticket']['archivedtime'] = 'Zarchiwizowano';
|
$lng['ticket']['archivedtime'] = 'Archived';
|
||||||
$lng['ticket']['open'] = 'Otwarte';
|
$lng['ticket']['open'] = 'Otwarte';
|
||||||
$lng['ticket']['wait_reply'] = 'czeka na odpowiedz';
|
$lng['ticket']['wait_reply'] = 'czeka na odpowiedz';
|
||||||
$lng['ticket']['replied'] = 'Replied';
|
$lng['ticket']['replied'] = 'Replied';
|
||||||
@@ -635,9 +634,9 @@ $lng['ticket']['closed'] = 'Zamknięte';
|
|||||||
$lng['ticket']['staff'] = 'Dział pomocy technicznej';
|
$lng['ticket']['staff'] = 'Dział pomocy technicznej';
|
||||||
$lng['ticket']['customer'] = 'Klient';
|
$lng['ticket']['customer'] = 'Klient';
|
||||||
$lng['ticket']['old_tickets'] = 'Ticket messages';
|
$lng['ticket']['old_tickets'] = 'Ticket messages';
|
||||||
$lng['ticket']['search'] = 'Przeszukaj archiwum';
|
$lng['ticket']['search'] = 'Search archive';
|
||||||
$lng['ticket']['nocustomer'] = 'Nie wybrano';
|
$lng['ticket']['nocustomer'] = 'Nie wybrano';
|
||||||
$lng['ticket']['archivesearch'] = 'Wynik przeszukiwania archiwum';
|
$lng['ticket']['archivesearch'] = 'Archive searchresults';
|
||||||
$lng['ticket']['noresults'] = 'Nie znaleziono zgłoszeń';
|
$lng['ticket']['noresults'] = 'Nie znaleziono zgłoszeń';
|
||||||
$lng['ticket']['notmorethanxopentickets'] = 'Due to spam-protection you cannot have more than %s open tickets';
|
$lng['ticket']['notmorethanxopentickets'] = 'Due to spam-protection you cannot have more than %s open tickets';
|
||||||
$lng['ticket']['supportstatus'] = 'Status wsparcia technicznego';
|
$lng['ticket']['supportstatus'] = 'Status wsparcia technicznego';
|
||||||
@@ -690,7 +689,7 @@ $lng['customer']['tickets'] = 'Zgłoszenia wsparcia technicznego';
|
|||||||
|
|
||||||
$lng['admin']['domain_nocustomeraddingavailable'] = 'Nie jest możliwe, by dodać teraz domenę. W pierwszej kolejności trzeba dodać klienta.';
|
$lng['admin']['domain_nocustomeraddingavailable'] = 'Nie jest możliwe, by dodać teraz domenę. W pierwszej kolejności trzeba dodać klienta.';
|
||||||
$lng['serversettings']['ticket']['enable'] = 'Wspracie techniczne włączone';
|
$lng['serversettings']['ticket']['enable'] = 'Wspracie techniczne włączone';
|
||||||
$lng['serversettings']['ticket']['concurrentlyopen'] = 'Ile zgłoszeń może być otwartych w jednym czasie?';
|
$lng['serversettings']['ticket']['concurrentlyopen'] = 'Ile zg<EFBFBD>osze<EFBFBD> mo<6D>e by<62> otwartych w jednym czasie?';
|
||||||
$lng['error']['norepymailiswrong'] = 'The "Noreply-address" is wrong. Only a valid email-address is allowed.';
|
$lng['error']['norepymailiswrong'] = 'The "Noreply-address" is wrong. Only a valid email-address is allowed.';
|
||||||
$lng['error']['tadminmailiswrong'] = 'The "Ticketadmin-address" is wrong. Only a valid email-address is allowed.';
|
$lng['error']['tadminmailiswrong'] = 'The "Ticketadmin-address" is wrong. Only a valid email-address is allowed.';
|
||||||
$lng['ticket']['awaitingticketreply'] = 'Masz %s zgłoszeń do pomocy technicznej';
|
$lng['ticket']['awaitingticketreply'] = 'Masz %s zgłoszeń do pomocy technicznej';
|
||||||
@@ -710,7 +709,7 @@ $lng['serversettings']['mod_fcgid']['tmpdir'] = 'Katalog plik
|
|||||||
$lng['serversettings']['ticket']['reset_cycle'] = 'Okresowe reset licznika użycia zgłoszeń pomocy technicznej';
|
$lng['serversettings']['ticket']['reset_cycle'] = 'Okresowe reset licznika użycia zgłoszeń pomocy technicznej';
|
||||||
$lng['serversettings']['ticket']['reset_cycle_desc'] = 'Resetowanie zgłoszeń pomocy technicznej powoduje ustawienie licznika na wartość 0 przy każdym cyklu';
|
$lng['serversettings']['ticket']['reset_cycle_desc'] = 'Resetowanie zgłoszeń pomocy technicznej powoduje ustawienie licznika na wartość 0 przy każdym cyklu';
|
||||||
$lng['admin']['tickets']['daily'] = 'Dziennie';
|
$lng['admin']['tickets']['daily'] = 'Dziennie';
|
||||||
$lng['admin']['tickets']['weekly'] = 'Tygodniowo';
|
$lng['admin']['tickets']['weekly'] = 'Wygodniowo';
|
||||||
$lng['admin']['tickets']['monthly'] = 'Miesięcznie';
|
$lng['admin']['tickets']['monthly'] = 'Miesięcznie';
|
||||||
$lng['admin']['tickets']['yearly'] = 'Rocznie';
|
$lng['admin']['tickets']['yearly'] = 'Rocznie';
|
||||||
$lng['error']['ticketresetcycleiswrong'] = 'The cycle for ticket-resets has to be "daily", "weekly", "monthly" or "yearly".';
|
$lng['error']['ticketresetcycleiswrong'] = 'The cycle for ticket-resets has to be "daily", "weekly", "monthly" or "yearly".';
|
||||||
@@ -766,7 +765,7 @@ $lng['logger']['truncate'] = 'Wyszyść logi';
|
|||||||
|
|
||||||
// ADDED IN 1.2.19-svn7
|
// ADDED IN 1.2.19-svn7
|
||||||
|
|
||||||
$lng['serversettings']['ssl']['use_ssl'] = 'Użyj SSL';
|
$lng['serversettings']['ssl']['use_ssl'] = 'U<EFBFBD>yj SSL';
|
||||||
$lng['serversettings']['ssl']['ssl_cert_file'] = 'Gdzie jest zlokalizowany Certyfikat';
|
$lng['serversettings']['ssl']['ssl_cert_file'] = 'Gdzie jest zlokalizowany Certyfikat';
|
||||||
$lng['serversettings']['ssl']['openssl_cnf'] = 'Standardowe dane do tworzenia pliku certyfikatu';
|
$lng['serversettings']['ssl']['openssl_cnf'] = 'Standardowe dane do tworzenia pliku certyfikatu';
|
||||||
$lng['panel']['reseller'] = 'reseller';
|
$lng['panel']['reseller'] = 'reseller';
|
||||||
@@ -776,7 +775,7 @@ $lng['error']['nomessagetosend'] = 'Nie wprowadzono wiadomości.';
|
|||||||
$lng['error']['noreceipientsgiven'] = 'Nie wprowadzono żadnego odbiorcy';
|
$lng['error']['noreceipientsgiven'] = 'Nie wprowadzono żadnego odbiorcy';
|
||||||
$lng['admin']['emaildomain'] = 'Emaildomain';
|
$lng['admin']['emaildomain'] = 'Emaildomain';
|
||||||
$lng['admin']['email_only'] = 'Only email?';
|
$lng['admin']['email_only'] = 'Only email?';
|
||||||
$lng['admin']['wwwserveralias'] = 'Dodać "www." ServerAlias';
|
$lng['admin']['wwwserveralias'] = 'Doda<EFBFBD> "www." ServerAlias';
|
||||||
$lng['admin']['ipsandports']['enable_ssl'] = 'Is this an SSL Port?';
|
$lng['admin']['ipsandports']['enable_ssl'] = 'Is this an SSL Port?';
|
||||||
$lng['admin']['ipsandports']['ssl_cert_file'] = 'Path to the SSL Certificate';
|
$lng['admin']['ipsandports']['ssl_cert_file'] = 'Path to the SSL Certificate';
|
||||||
$lng['panel']['send'] = 'send';
|
$lng['panel']['send'] = 'send';
|
||||||
@@ -825,6 +824,8 @@ $lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'You cannot enable Weba
|
|||||||
$lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics';
|
$lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics';
|
||||||
$lng['serversettings']['awstats_enabled'] = 'Enable awstats statistics';
|
$lng['serversettings']['awstats_enabled'] = 'Enable awstats statistics';
|
||||||
$lng['admin']['awstatssettings'] = 'Ustawienia Awstats';
|
$lng['admin']['awstatssettings'] = 'Ustawienia Awstats';
|
||||||
|
$lng['serversettings']['awstats_domain_file']['title'] = 'Awstats domainfiles directory';
|
||||||
|
$lng['serversettings']['awstats_model_file']['title'] = 'Awstats model file';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn16
|
// ADDED IN 1.2.19-svn16
|
||||||
|
|
||||||
@@ -868,8 +869,8 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
|
|||||||
|
|
||||||
// ADDED IN 1.2.19-svn18
|
// ADDED IN 1.2.19-svn18
|
||||||
|
|
||||||
$lng['serversettings']['allow_preset'] = 'Zezwalaj na resetowanie hasła przez klient<6E>w';
|
$lng['serversettings']['allow_preset'] = 'Allow password reset by customers';
|
||||||
$lng['pwdreminder']['notallowed'] = 'Resetowanie hasła jest nieaktywne';
|
$lng['pwdreminder']['notallowed'] = 'Password reset is deactivated';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn20
|
// ADDED IN 1.2.19-svn20
|
||||||
|
|
||||||
@@ -902,18 +903,18 @@ $lng['domains']['topleveldomain'] = 'Top-Level-Domain';
|
|||||||
|
|
||||||
// ADDED IN 1.2.19-svn22
|
// ADDED IN 1.2.19-svn22
|
||||||
|
|
||||||
$lng['serversettings']['allow_password_reset']['description'] = 'Klienci mogą zresetować hasło, a nowe hasło zostanie wysłane na ich adres e-mail';
|
$lng['serversettings']['allow_password_reset']['description'] = 'Customers can reset their password and a new password will be sent to their e-mail address';
|
||||||
$lng['serversettings']['allow_password_reset_admin']['title'] = 'Zezwalaj na resetowanie hasła przez administrator<6F>w';
|
$lng['serversettings']['allow_password_reset_admin']['title'] = 'Allow password reset by admins';
|
||||||
$lng['serversettings']['allow_password_reset_admin']['description'] = 'Administratorzy/Resellerzy mogą resetować hasło, a nowe hasło zostanie wysłane na ich adres e-mail';
|
$lng['serversettings']['allow_password_reset_admin']['description'] = 'Admins/reseller can reset their password and a new password will be sent to their e-mail address';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn25
|
// ADDED IN 1.2.19-svn25
|
||||||
|
|
||||||
$lng['emails']['quota'] = 'Quota';
|
$lng['emails']['quota'] = 'Quota';
|
||||||
$lng['emails']['noquota'] = 'Brak quoty';
|
$lng['emails']['noquota'] = 'No quota';
|
||||||
$lng['emails']['updatequota'] = 'Aktualizuj Quotę';
|
$lng['emails']['updatequota'] = 'Update Quota';
|
||||||
$lng['serversettings']['mail_quota']['title'] = 'Quota skrzynki pocztowej';
|
$lng['serversettings']['mail_quota']['title'] = 'Mailbox-quota';
|
||||||
$lng['serversettings']['mail_quota']['description'] = 'Standardowa quota dla nowoutworzonych skrzynek pocztowych (MegaBajty).';
|
$lng['serversettings']['mail_quota']['description'] = 'The default quota for a new created mailboxes (MegaByte).';
|
||||||
$lng['serversettings']['mail_quota_enabled']['title'] = 'Użyj Quoty skrzynek pocztowych dla klient<6E>w';
|
$lng['serversettings']['mail_quota_enabled']['title'] = 'Use mailbox-quota for customers';
|
||||||
$lng['serversettings']['mail_quota_enabled']['description'] = 'Activate to use quotas on mailboxes. Default is <b>No</b> since this requires a special setup.';
|
$lng['serversettings']['mail_quota_enabled']['description'] = 'Activate to use quotas on mailboxes. Default is <b>No</b> since this requires a special setup.';
|
||||||
$lng['serversettings']['mail_quota_enabled']['removelink'] = 'Click here to wipe all quotas for mail accounts.';
|
$lng['serversettings']['mail_quota_enabled']['removelink'] = 'Click here to wipe all quotas for mail accounts.';
|
||||||
$lng['serversettings']['mail_quota_enabled']['enforcelink'] = 'Click here to enforce default quota to all User mail accounts.';
|
$lng['serversettings']['mail_quota_enabled']['enforcelink'] = 'Click here to enforce default quota to all User mail accounts.';
|
||||||
@@ -948,7 +949,7 @@ $lng['error']['autoresponderalreadyexists'] = 'There is already an autoresponder
|
|||||||
$lng['error']['invalidautoresponder'] = 'The given account is invalid.';
|
$lng['error']['invalidautoresponder'] = 'The given account is invalid.';
|
||||||
$lng['serversettings']['autoresponder_active']['title'] = 'Użyj modułu autorespondera';
|
$lng['serversettings']['autoresponder_active']['title'] = 'Użyj modułu autorespondera';
|
||||||
$lng['serversettings']['autoresponder_active']['description'] = 'Do you want to use the autoresponder module?';
|
$lng['serversettings']['autoresponder_active']['description'] = 'Do you want to use the autoresponder module?';
|
||||||
$lng['admin']['security_settings'] = 'Opcje bezpieczeństwa';
|
$lng['admin']['security_settings'] = 'Security Options';
|
||||||
$lng['admin']['know_what_youre_doing'] = 'Zmień TYLKO jeśli wiesz co robisz!';
|
$lng['admin']['know_what_youre_doing'] = 'Zmień TYLKO jeśli wiesz co robisz!';
|
||||||
$lng['admin']['show_version_login']['title'] = 'Pokazuj wersję Froxlora przy logowaniu';
|
$lng['admin']['show_version_login']['title'] = 'Pokazuj wersję Froxlora przy logowaniu';
|
||||||
$lng['admin']['show_version_login']['description'] = 'Pokazuj wersję Froxlora w stopce struno logowania';
|
$lng['admin']['show_version_login']['description'] = 'Pokazuj wersję Froxlora w stopce struno logowania';
|
||||||
@@ -1143,29 +1144,29 @@ $lng['aps']['allpackages'] = 'All Packages';
|
|||||||
$lng['question']['reallyremovepackages'] = '<strong>Do you really want to delete these packages?</strong><br/><br/>Packages with dependencies can only be remove if the corresponding Instances have been removed!<br/><br/>';
|
$lng['question']['reallyremovepackages'] = '<strong>Do you really want to delete these packages?</strong><br/><br/>Packages with dependencies can only be remove if the corresponding Instances have been removed!<br/><br/>';
|
||||||
$lng['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.';
|
$lng['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.';
|
||||||
$lng['aps']['packagenameandstatus'] = 'Packagename & Status';
|
$lng['aps']['packagenameandstatus'] = 'Packagename & Status';
|
||||||
$lng['aps']['activate_aps']['title'] = 'Instalator aplikacji włączony';
|
$lng['aps']['activate_aps']['title'] = 'Enable APS Installer';
|
||||||
$lng['aps']['activate_aps']['description'] = 'Here the APS Installer can be enabled and disabled globaly.';
|
$lng['aps']['activate_aps']['description'] = 'Here the APS Installer can be enabled and disabled globaly.';
|
||||||
$lng['aps']['packages_per_page']['title'] = 'Paczek na stronie';
|
$lng['aps']['packages_per_page']['title'] = 'Packages per page';
|
||||||
$lng['aps']['packages_per_page']['description'] = 'How many packages should be displayed per page for customers?';
|
$lng['aps']['packages_per_page']['description'] = 'How many packages should be displayed per page for customers?';
|
||||||
$lng['aps']['upload_fields']['title'] = 'Ilość p<>l Uploadu na stronie';
|
$lng['aps']['upload_fields']['title'] = 'Upload fields per page';
|
||||||
$lng['aps']['upload_fields']['description'] = 'How many upload fields should be displayed on the page to install new packages in the system?';
|
$lng['aps']['upload_fields']['description'] = 'How many upload fields should be displayed on the page to install new packages in the system?';
|
||||||
$lng['aps']['exceptions']['title'] = 'Exceptions for Package validation';
|
$lng['aps']['exceptions']['title'] = 'Exceptions for Package validation';
|
||||||
$lng['aps']['exceptions']['description'] = 'Some packages need special configuration parameters or modules. The Installer cannot always determine if this options/extensions are available. For this reason you can now define exceptions that packages can be installed in the system. Do only select options which match your real configuration setup. For further information about this problem look into the handbook for this module.';
|
$lng['aps']['exceptions']['description'] = 'Some packages need special configuration parameters or modules. The Installer cannot always determine if this options/extensions are available. For this reason you can now define exceptions that packages can be installed in the system. Do only select options which match your real configuration setup. For further information about this problem look into the handbook for this module.';
|
||||||
$lng['aps']['settings_php_extensions'] = 'Rozszerzenia PHP';
|
$lng['aps']['settings_php_extensions'] = 'PHP-Extensions';
|
||||||
$lng['aps']['settings_php_configuration'] = 'Konfiguracja PHP';
|
$lng['aps']['settings_php_configuration'] = 'PHP-Configuration';
|
||||||
$lng['aps']['settings_webserver_modules'] = 'Moduły Webserwera';
|
$lng['aps']['settings_webserver_modules'] = 'Webserver modules';
|
||||||
$lng['aps']['settings_webserver_misc'] = 'Webserver miscellaneous';
|
$lng['aps']['settings_webserver_misc'] = 'Webserver miscellaneous';
|
||||||
$lng['aps']['specialoptions'] = 'Special options';
|
$lng['aps']['specialoptions'] = 'Special options';
|
||||||
$lng['aps']['removeunused'] = 'Usuń nieuzywane paczki';
|
$lng['aps']['removeunused'] = 'Remove unused packages';
|
||||||
$lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others';
|
$lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others';
|
||||||
$lng['aps']['installations'] = 'Instalacje';
|
$lng['aps']['installations'] = 'Installations';
|
||||||
$lng['aps']['statistics'] = 'Statystyki';
|
$lng['aps']['statistics'] = 'Statistics';
|
||||||
$lng['aps']['numerofpackagesinstalled'] = '%s Packages installed<br/>';
|
$lng['aps']['numerofpackagesinstalled'] = '%s Packages installed<br/>';
|
||||||
$lng['aps']['numerofpackagesenabled'] = '%s Packages enabled<br/>';
|
$lng['aps']['numerofpackagesenabled'] = '%s Packages enabled<br/>';
|
||||||
$lng['aps']['numerofpackageslocked'] = '%s Packages locked<br/>';
|
$lng['aps']['numerofpackageslocked'] = '%s Packages locked<br/>';
|
||||||
$lng['aps']['numerofinstances'] = '%s Instances installed<br/>';
|
$lng['aps']['numerofinstances'] = '%s Instances installed<br/>';
|
||||||
$lng['question']['reallydoaction'] = '<strong>Do you really want to execute the selected actions?</strong><br/><br/>Data which can be lost by continuing, cannot be restored later.<br/><br/>';
|
$lng['question']['reallydoaction'] = '<strong>Do you really want to execute the selected actions?</strong><br/><br/>Data which can be lost by continuing, cannot be restored later.<br/><br/>';
|
||||||
$lng['aps']['linktolicense'] = 'Link do licencji';
|
$lng['aps']['linktolicense'] = 'Link to license';
|
||||||
$lng['aps']['initerror_customer'] = 'There is currently a problem with this Froxlor extension. Contact your administrator for further information.';
|
$lng['aps']['initerror_customer'] = 'There is currently a problem with this Froxlor extension. Contact your administrator for further information.';
|
||||||
$lng['aps']['numerofinstances'] = '%s Installations at all<br/>';
|
$lng['aps']['numerofinstances'] = '%s Installations at all<br/>';
|
||||||
$lng['aps']['numerofinstancessuccess'] = '%s successful Installations<br/>';
|
$lng['aps']['numerofinstancessuccess'] = '%s successful Installations<br/>';
|
||||||
@@ -1190,11 +1191,11 @@ $lng['error']['admindoesntexist'] = 'The admin you have chosen doesn\'t exist.';
|
|||||||
|
|
||||||
$lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor';
|
$lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor';
|
||||||
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Zezwalaj na jednoczesne logowanie';
|
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Jeśli jest zaznaczone użytkownik może zalogować się jednoczeście, wiele razy.';
|
$lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Zezwalaj na przenoszenie domen pomiędzy administratorami';
|
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['description'] = 'If activated you can change the admin of a domain at domainsettings.<br /><b>Attention:</b> If a customer isn\'t assigned to the same admin as the domain, the admin can see every other domain of that customer!';
|
$lng['serversettings']['panel_allow_domain_change_admin']['description'] = 'If activated you can change the admin of a domain at domainsettings.<br /><b>Attention:</b> If a customer isn\'t assigned to the same admin as the domain, the admin can see every other domain of that customer!';
|
||||||
$lng['serversettings']['panel_allow_domain_change_customer']['title'] = 'Zezwalaj na przenoszenie domen pomiędzy klientami';
|
$lng['serversettings']['panel_allow_domain_change_customer']['title'] = 'Allow moving domains between customers';
|
||||||
$lng['serversettings']['panel_allow_domain_change_customer']['description'] = 'If activated you can change the customer of a domain at domainsettings.<br /><b>Attention:</b> Froxlor won\'t change any paths. This could render a domain unusable!';
|
$lng['serversettings']['panel_allow_domain_change_customer']['description'] = 'If activated you can change the customer of a domain at domainsettings.<br /><b>Attention:</b> Froxlor won\'t change any paths. This could render a domain unusable!';
|
||||||
$lng['domains']['associated_with_domain'] = 'Associated';
|
$lng['domains']['associated_with_domain'] = 'Associated';
|
||||||
$lng['domains']['aliasdomains'] = 'Alias domains';
|
$lng['domains']['aliasdomains'] = 'Alias domains';
|
||||||
@@ -1211,17 +1212,17 @@ $lng['serversettings']['mod_fcgid']['maxrequests']['title'] = 'Maximum Requests
|
|||||||
$lng['serversettings']['mod_fcgid']['maxrequests']['description'] = 'How many requests should be allowed per domain?';
|
$lng['serversettings']['mod_fcgid']['maxrequests']['description'] = 'How many requests should be allowed per domain?';
|
||||||
|
|
||||||
// fix bug #1124
|
// fix bug #1124
|
||||||
$lng['admin']['webserver'] = 'Webserwer';
|
$lng['admin']['webserver'] = 'Webserver';
|
||||||
$lng['error']['admin_domain_emailsystemhostname'] = 'The server-hostname cannot be used as email-domain.';
|
$lng['error']['admin_domain_emailsystemhostname'] = 'The server-hostname cannot be used as email-domain.';
|
||||||
$lng['aps']['license_link'] = 'Link do licencji';
|
$lng['aps']['license_link'] = 'Link to the license';
|
||||||
|
|
||||||
// ADDED IN 1.4.2.1-1
|
// ADDED IN 1.4.2.1-1
|
||||||
|
|
||||||
$lng['mysql']['mysql_server'] = 'Serwer MySQL';
|
$lng['mysql']['mysql_server'] = 'MySQL-Server';
|
||||||
|
|
||||||
// ADDED IN 1.4.2.1-2
|
// ADDED IN 1.4.2.1-2
|
||||||
|
|
||||||
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Domyślna Konfiguracja Webserwera';
|
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Webserver Default Config';
|
||||||
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver Domain Config';
|
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver Domain Config';
|
||||||
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL Config';
|
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL Config';
|
||||||
$lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile';
|
$lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile';
|
||||||
@@ -1257,137 +1258,49 @@ $lng['panel']['off'] = 'off';
|
|||||||
$lng['update']['updateinprogress_onlyadmincanlogin'] = 'A newer version of Froxlor has been installed but not yet set up.<br />Only the administrator can log in and finish the update.';
|
$lng['update']['updateinprogress_onlyadmincanlogin'] = 'A newer version of Froxlor has been installed but not yet set up.<br />Only the administrator can log in and finish the update.';
|
||||||
$lng['update']['update'] = 'Aktualizacja Froxlora';
|
$lng['update']['update'] = 'Aktualizacja Froxlora';
|
||||||
$lng['update']['proceed'] = 'Proceed';
|
$lng['update']['proceed'] = 'Proceed';
|
||||||
$lng['update']['update_information']['part_a'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.';
|
$lng['update']['update_information'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
|
||||||
$lng['update']['update_information']['part_b'] = '<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
|
|
||||||
$lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>';
|
$lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>';
|
||||||
$lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)';
|
$lng['admin']['cron']['cronsettings'] = 'ustawienia Cronjob';
|
||||||
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vhost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
|
|
||||||
$lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
|
|
||||||
$lng['tasks']['rebuild_webserverconfig'] = 'Przebudowanie konfiguracji webserwera';
|
|
||||||
$lng['tasks']['adding_customer'] = 'Dodanie nowego klienta %loginname%';
|
|
||||||
$lng['tasks']['rebuild_bindconfig'] = 'Przebudowanie konfiguracji binda';
|
|
||||||
$lng['tasks']['creating_ftpdir'] = 'Tworzenie katalogu dla nowych użytkownik<69>w FTP';
|
|
||||||
$lng['tasks']['deleting_customerfiles'] = 'Kasowanie plik<69>w klienta %loginname%';
|
|
||||||
$lng['tasks']['noneoutstanding'] = 'Obecnie nie ma zaplanowanych zadań dla Froxlora';
|
|
||||||
$lng['ticket']['nonexistingcustomer'] = '(usunięty klient)';
|
|
||||||
$lng['admin']['ticket_nocustomeraddingavailable'] = 'It\'s not possible to open a new support-ticket currently. You first need to add at least one customer.';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.1
|
|
||||||
|
|
||||||
$lng['admin']['accountdata'] = 'Dane konta';
|
|
||||||
$lng['admin']['contactdata'] = 'Dane kontaktowe';
|
|
||||||
$lng['admin']['servicedata'] = 'Dane usługi';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.2
|
|
||||||
|
|
||||||
$lng['admin']['newerversionavailable'] = 'Jest dostępna nowa wersja Froxlora';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.3
|
|
||||||
|
|
||||||
$lng['emails']['noemaildomainaddedyet'] = 'You do not have a (email-)domain in your account yet.';
|
|
||||||
$lng['error']['hiddenfieldvaluechanged'] = 'The value for the hidden field "%s" changed while editing the settings.<br /><br />This is usually not a big problem but the settings could not be saved because of this.';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.3-svn1
|
|
||||||
|
|
||||||
$lng['serversettings']['panel_password_min_length']['title'] = 'Minimalna długość hasła';
|
|
||||||
$lng['serversettings']['panel_password_min_length']['description'] = 'Here you can set a minimum length for passwords. \'0\' means: no minimum length required.';
|
|
||||||
$lng['error']['notrequiredpasswordlength'] = 'The given password is too short. Please enter at least %s characters.';
|
|
||||||
$lng['serversettings']['system_store_index_file_subs']['title'] = 'Store default index file also to new subfolders';
|
|
||||||
$lng['serversettings']['system_store_index_file_subs']['description'] = 'If enabled, the default index-file is being stored to every subdomain-path newly created (not if the folder already exists!)';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.3-svn2
|
|
||||||
|
|
||||||
$lng['serversettings']['adminmail_return']['title'] = 'Reply-To address';
|
|
||||||
$lng['serversettings']['adminmail_return']['description'] = 'Define an e-mail address as reply-to-address for mails sent by the panel.';
|
|
||||||
$lng['serversettings']['adminmail_defname'] = 'Panel e-mail sender name';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.3-svn3
|
|
||||||
$lng['dkim']['dkim_algorithm']['title'] = 'Allowed Hash Algorithms';
|
|
||||||
$lng['dkim']['dkim_algorithm']['description'] = 'Define allowed hash algorithms, chose "All" for all algorithms or one or more from the other available algorithms';
|
|
||||||
$lng['dkim']['dkim_servicetype'] = 'Service Types';
|
|
||||||
$lng['dkim']['dkim_keylength']['title'] = 'Key-length';
|
|
||||||
$lng['dkim']['dkim_keylength']['description'] = 'Attention: If you change this values, you need to delete all the private/public keys in "'.$settings['dkim']['dkim_prefix'].'"';
|
|
||||||
$lng['dkim']['dkim_notes']['title'] = 'DKIM Notes';
|
|
||||||
$lng['dkim']['dkim_notes']['description'] = 'Notes that might be of interest to a human, e.g. a URL like http://www.dnswatch.info. No interpretation is made by any program. This tag should be used sparingly due to space limitations in DNS. This is intended for use by administrators, not end users.';
|
|
||||||
$lng['dkim']['dkim_add_adsp']['title'] = 'Add DKIM ADSP entry';
|
|
||||||
$lng['dkim']['dkim_add_adsp']['description'] = 'If you don\'t know what this is, leave it "enabled"';
|
|
||||||
$lng['dkim']['dkim_add_adsppolicy']['title'] = 'ADSP policy';
|
|
||||||
$lng['dkim']['dkim_add_adsppolicy']['description'] = 'For more information about this setting see <a href="http://wiki.froxlor.org/contrib/dkim-adsp-policies">http://wiki.froxlor.org/contrib/dkim-adsp-policies</a>';
|
|
||||||
|
|
||||||
$lng['admin']['cron']['cronsettings'] = 'ustawienia zadań cyklicznych';
|
|
||||||
$lng['cron']['cronname'] = 'cronjob-name';
|
$lng['cron']['cronname'] = 'cronjob-name';
|
||||||
$lng['cron']['lastrun'] = 'ostatnio uruchomiony';
|
$lng['cron']['lastrun'] = 'last run';
|
||||||
$lng['cron']['interval'] = 'interwał';
|
$lng['cron']['interval'] = 'interval';
|
||||||
$lng['cron']['isactive'] = 'włączony';
|
$lng['cron']['isactive'] = 'enabled';
|
||||||
$lng['cron']['description'] = 'opis';
|
$lng['admin']['cron']['add'] = 'Add a new cronjob';
|
||||||
|
$lng['cron']['description'] = 'description';
|
||||||
$lng['crondesc']['cron_unknown_desc'] = 'no description given';
|
$lng['crondesc']['cron_unknown_desc'] = 'no description given';
|
||||||
$lng['admin']['cron']['add'] = 'Add cronjob';
|
|
||||||
$lng['crondesc']['cron_tasks'] = 'przebudowanie plik<69>w konfiguracyjnych';
|
$lng['crondesc']['cron_tasks'] = 'przebudowanie plik<69>w konfiguracyjnych';
|
||||||
$lng['crondesc']['cron_legacy'] = 'legacy (old) cronjob';
|
$lng['crondesc']['cron_legacy'] = 'legacy (old) cronjob';
|
||||||
$lng['crondesc']['cron_apsinstaller'] = 'Instalator aplikacji';
|
$lng['crondesc']['cron_apsinstaller'] = 'Instalator aplikacji';
|
||||||
$lng['crondesc']['cron_autoresponder'] = 'e-mail autoresponder';
|
$lng['crondesc']['cron_autoresponder'] = 'e-mail autoresponder';
|
||||||
$lng['crondesc']['cron_apsupdater'] = 'Aktualizacja pakiet<65>w instalatora aplikacji';
|
$lng['crondesc']['cron_apsupdater'] = 'Aktualizacja pakiet<65>w instalatora aplikacji';
|
||||||
$lng['crondesc']['cron_traffic'] = 'obliczanie ruchu';
|
$lng['crondesc']['cron_traffic'] = 'obliczanie ruchu';
|
||||||
$lng['crondesc']['cron_ticketsreset'] = 'resetowanie licznik<EFBFBD>w zgłoszeń';
|
$lng['crondesc']['cron_ticketsreset'] = 'resetowanie licznika zgłoszeń';
|
||||||
$lng['crondesc']['cron_ticketarchive'] = 'archiwizowanie starych zgłoszeń';
|
$lng['crondesc']['cron_ticketarchive'] = 'archiwizowanie starych zgłoszeń';
|
||||||
$lng['cronmgmt']['seconds'] = 'sekund';
|
$lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)';
|
||||||
$lng['cronmgmt']['minutes'] = 'minut';
|
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vhost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
|
||||||
$lng['cronmgmt']['hours'] = 'godzin';
|
$lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
|
||||||
$lng['cronmgmt']['days'] = 'dni';
|
$lng['tasks']['rebuild_webserverconfig'] = 'Rebuilding webserver-configuration';
|
||||||
$lng['cronmgmt']['weeks'] = 'tygodni';
|
$lng['tasks']['adding_customer'] = 'Adding new customer %loginname%';
|
||||||
$lng['cronmgmt']['months'] = 'miesięcy';
|
$lng['tasks']['rebuild_bindconfig'] = 'Rebuilding bind-configuration';
|
||||||
$lng['admin']['cronjob_edit'] = 'Edytuj zadania cykliczne';
|
$lng['tasks']['creating_ftpdir'] = 'Creating directory for new ftp-user';
|
||||||
$lng['cronjob']['cronjobsettings'] = 'Ustawienia zadania cykliczne';
|
$lng['tasks']['deleting_customerfiles'] = 'Deleting customer-files %loginname%';
|
||||||
$lng['cronjob']['cronjobinterval'] = 'Interwał uruchomienia';
|
$lng['tasks']['noneoutstanding'] = 'There are currently no outstanding tasks for Froxlor';
|
||||||
$lng['panel']['options'] = 'opcje';
|
$lng['ticket']['nonexistingcustomer'] = '(deleted customer)';
|
||||||
$lng['admin']['warning'] = 'WAŻNE - Przeczytaj to!';
|
$lng['admin']['ticket_nocustomeraddingavailable'] = 'It\'s not possible to open a new support-ticket currently. You first need to add at least one customer.';
|
||||||
$lng['cron']['changewarning'] = 'Changing these values can have a negative cause to the behavior of Froxlor and its automated tasks.<br /><br />Please, only change values here if you are *damn sure* you know what you are doing.';
|
|
||||||
|
|
||||||
$lng['serversettings']['stdsubdomainhost']['title'] = 'Customer standard subdomain';
|
// ADDED IN FROXLOR 0.9.1
|
||||||
$lng['serversettings']['stdsubdomainhost']['description'] = 'What hostname should be used to create standard subdomains for customer. If empty, the system-hostname is used.';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.4-svn1
|
$lng['admin']['accountdata'] = 'Account Data';
|
||||||
$lng['ftp']['account_edit'] = 'Edytuj konto ftp';
|
$lng['admin']['contactdata'] = 'Contact Data';
|
||||||
$lng['ftp']['editpassdescription'] = 'Ustal nowe hasło lub zostaw puste by nie zmieniać.';
|
$lng['admin']['servicedata'] = 'Service Data';
|
||||||
$lng['customer']['sendinfomail'] = 'Send data via email to me';
|
|
||||||
$lng['customer']['mysql_add']['infomail_subject'] = '[Froxlor] Nowa baza danych utworzona';
|
|
||||||
$lng['customer']['mysql_add']['infomail_body']['pma'] = "\nMasz dostęp do Twojej bazy danych uzywając phpMyAdmina pod adresem {URI}\n";
|
|
||||||
$lng['customer']['mysql_add']['infomail_body']['main'] = "Witaj {CUST_NAME},\n\nwłaśnie dodałeś nową bazę danych. Przesyłamy dane uruchomieniowe:\n\nBaza danych: {DB_NAME}\nHasło: {DB_PASS}\nOpis: {DB_DESC}\n{PMA_URI}\nZ poważaniem, Froxlor";
|
|
||||||
$lng['error']['domains_cantdeletedomainwithapsinstances'] = 'Nie możesz usunąć domeny, ponieważ jest na niej zainstalowana aplikacja z instalatora aplikacji. W pierwszej kolejności odinstaluj tą aplikację.';
|
|
||||||
$lng['serversettings']['awstats_path'] = '<27>cieżka do AWStats \'awstats_buildstaticpages.pl\'';
|
|
||||||
$lng['serversettings']['awstats_conf'] = 'AWStats configuration path';
|
|
||||||
$lng['error']['overviewsettingoptionisnotavalidfield'] = 'Woops, a field that should be displayed as an option in the settings-overview is not an excepted type. You can blame the developers for this. This should not happen!';
|
|
||||||
$lng['admin']['configfiles']['compactoverview'] = 'Compact-overview';
|
|
||||||
$lng['admin']['lastlogin_succ'] = 'Ostatnie logowanie';
|
|
||||||
$lng['panel']['neverloggedin'] = 'Brak logowania do tej pory';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.6-svn1
|
// ADDED IN FROXLOR 0.9.2
|
||||||
$lng['serversettings']['defaultttl'] = 'TTL domeny dla binda w sekundach (domyślnie \'604800\' = 1 tydzień)';
|
|
||||||
$lng['ticket']['logicalorder'] = 'Logical order';
|
|
||||||
$lng['ticket']['orderdesc'] = 'Here you can define your own logical order for the ticket-category. Use 1 - 999, lower numbers are displayed first.';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.6-svn3
|
$lng['admin']['newerversionavailable'] = 'There is a newer version of Froxlor available';
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_enabled'] = 'Włączone standardowe strony błęd<31>w dla wszystkich klient<6E>w';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err401']['title'] = 'Plik/URL dla błędu 401';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err401']['description'] = '<div style="color:red">'.$lng['panel']['not_supported'].'lighttpd</div>';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err403']['title'] = 'Plik/URL dla błędu 403';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err403']['description'] = '<div style="color:red">'.$lng['panel']['not_supported'].'lighttpd</div>';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err404'] = 'Plik/URL dla błędu 404';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err500']['title'] = 'Plik/URL dla błędu 500';
|
|
||||||
$lng['serversettings']['defaultwebsrverrhandler_err500']['description'] = '<div style="color:red">'.$lng['panel']['not_supported'].'lighttpd</div>';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.6-svn4
|
// ADDED IN FROXLOR 0.9.3
|
||||||
$lng['serversettings']['ticket']['default_priority'] = 'Standardowy priorytet dla zg<7A>osze<7A> pomocy technicznej';
|
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.6-svn5
|
$lng['emails']['noemaildomainaddedyet'] = 'You do not have a (email-)domain in your account yet.';
|
||||||
$lng['serversettings']['mod_fcgid']['defaultini'] = 'Default PHP configuration for new domains';
|
$lng['error']['hiddenfieldvaluechanged'] = 'The value for the hidden field "%s" changed while editing the settings.<br /><br />This is usually not a big problem but the settings could not be saved because of this.';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.6-svn6
|
?>
|
||||||
$lng['admin']['ftpserver'] = 'Serwer FTP';
|
|
||||||
$lng['admin']['ftpserversettings'] = 'Ustawienia Serwera FTP';
|
|
||||||
$lng['serversettings']['ftpserver']['desc'] = 'Je<4A>li pureftpd jest zaznaczone, plik .ftpquota z quotami u<>ytkownika b<>dzie tworzony i aktualizowany codziennie';
|
|
||||||
|
|
||||||
// CHANGED IN FROXLOR 0.9.6-svn6
|
|
||||||
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?<br/><b>If you change this you also have to change the Quota SQL Query in your FTP Server config file in case you use it!</b> ';
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -772,10 +772,6 @@ $lng['pwdreminder']['body'] = 'Oi %s,\n\nsua senha do Froxlor foi resetada!\nA n
|
|||||||
$lng['pwdreminder']['success'] = 'Redefinição de senha com sucesso. <br /> Você agora deve receber um e-mail com sua nova senha.';
|
$lng['pwdreminder']['success'] = 'Redefinição de senha com sucesso. <br /> Você agora deve receber um e-mail com sua nova senha.';
|
||||||
$lng['serversettings']['allow_password_reset']['title'] = 'Aceita reset de senha por clientes';
|
$lng['serversettings']['allow_password_reset']['title'] = 'Aceita reset de senha por clientes';
|
||||||
$lng['pwdreminder']['notallowed'] = 'Reset de senhas está desativado';
|
$lng['pwdreminder']['notallowed'] = 'Reset de senhas está desativado';
|
||||||
$lng['serversettings']['awstats_path']['title'] = 'Caminho para pasta awstats cgi-bin';
|
|
||||||
$lng['serversettings']['awstats_path']['description'] = 'Exemplo: /usr/share/webapps/awstats/6.1/webroot/cgi-bin/';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['title'] = 'Caminho para "awstats_updateall.pl"';
|
|
||||||
$lng['serversettings']['awstats_updateall_command']['description'] = 'Exemplo: /usr/bin/awstats_updateall.pl';
|
|
||||||
$lng['customer']['title'] = 'Título';
|
$lng['customer']['title'] = 'Título';
|
||||||
$lng['customer']['country'] = 'País';
|
$lng['customer']['country'] = 'País';
|
||||||
$lng['panel']['dateformat'] = 'AAAA-MM-DD';
|
$lng['panel']['dateformat'] = 'AAAA-MM-DD';
|
||||||
|
|||||||
@@ -19,6 +19,19 @@ include_once(dirname(__FILE__) . '/../lib/cron_init.php');
|
|||||||
|
|
||||||
$jobs_to_run = includeCronjobs($debugHandler, $pathtophpfiles);
|
$jobs_to_run = includeCronjobs($debugHandler, $pathtophpfiles);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* check for --force to include cron_tasks
|
||||||
|
* even if it's not its turn
|
||||||
|
*/
|
||||||
|
if(isset($argv[1]) && strtolower($argv[1]) == '--force')
|
||||||
|
{
|
||||||
|
$crontasks = makeCorrectFile($pathtophpfiles.'/scripts/jobs/cron_tasks.php');
|
||||||
|
if(!in_array($crontasks, $jobs_to_run))
|
||||||
|
{
|
||||||
|
array_unshift($jobs_to_run, $crontasks);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach($jobs_to_run as $cron)
|
foreach($jobs_to_run as $cron)
|
||||||
{
|
{
|
||||||
require_once($cron);
|
require_once($cron);
|
||||||
|
|||||||
@@ -132,24 +132,40 @@ if($db->num_rows($result) > 0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//fetching to field
|
//fetching to field
|
||||||
if(!strlen($to)
|
if((!strlen($to) || $to != $row['email'])
|
||||||
&& preg_match("/^To:(.+)<(.*)>$/", $line, $match)
|
&& preg_match("/^To:(.+)<(.*)>$/", $line, $match)
|
||||||
) {
|
) {
|
||||||
$to = $match[2];
|
$to = $match[2];
|
||||||
}
|
}
|
||||||
elseif(!strlen($to)
|
elseif((!strlen($to) || $to != $row['email'])
|
||||||
&& preg_match("/To:\s+(.*@.*)$/", $line, $match)
|
&& preg_match("/^To:\s+(.*@.*)$/", $line, $match)
|
||||||
|
) {
|
||||||
|
$to = $match[1];
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* if we still don't have a To:-address
|
||||||
|
* OR even worse, the $to is NOT the mail-address
|
||||||
|
* of the customer which autoresponder this is
|
||||||
|
* we have to check for CC too, #476
|
||||||
|
*/
|
||||||
|
elseif((!strlen($to) || $to != $row['email'])
|
||||||
|
&& preg_match("/^Cc:(.+)<(.*)>$/", $line, $match)
|
||||||
|
) {
|
||||||
|
$to = $match[2];
|
||||||
|
}
|
||||||
|
elseif((!strlen($to) || $to != $row['email'])
|
||||||
|
&& preg_match("/^Cc:\s+(.*@.*)$/", $line, $match)
|
||||||
) {
|
) {
|
||||||
$to = $match[1];
|
$to = $match[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
//fetching sender field
|
//fetching sender field
|
||||||
if(!strlen($to)
|
if(!strlen($sender)
|
||||||
&& preg_match("/^Sender:(.+)<(.*)>$/", $line, $match)
|
&& preg_match("/^Sender:(.+)<(.*)>$/", $line, $match)
|
||||||
) {
|
) {
|
||||||
$sender = $match[2];
|
$sender = $match[2];
|
||||||
}
|
}
|
||||||
elseif(!strlen($to)
|
elseif(!strlen($sender)
|
||||||
&& preg_match("/Sender:\s+(.*@.*)$/", $line, $match)
|
&& preg_match("/Sender:\s+(.*@.*)$/", $line, $match)
|
||||||
) {
|
) {
|
||||||
$sender = $match[1];
|
$sender = $match[1];
|
||||||
@@ -169,6 +185,13 @@ if($db->num_rows($result) > 0)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if the receiver is really the one
|
||||||
|
// with the autoresponder
|
||||||
|
if(!strlen($to) || $to != $row['email'])
|
||||||
|
{
|
||||||
|
$to = '';
|
||||||
|
}
|
||||||
|
|
||||||
//skip mail when marked as spam
|
//skip mail when marked as spam
|
||||||
if($spam == true)
|
if($spam == true)
|
||||||
{
|
{
|
||||||
@@ -178,7 +201,7 @@ if($db->num_rows($result) > 0)
|
|||||||
//error while parsing mail
|
//error while parsing mail
|
||||||
if($to == '' || $from == '')
|
if($to == '' || $from == '')
|
||||||
{
|
{
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_WARNING, "No valid headers found in mail to parse: " . $entry);
|
$cronlog->logAction(CRON_ACTION, LOG_WARNING, "No valid headers found in mail to parse");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*
|
|
||||||
* @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 Cron
|
|
||||||
* @version $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
openRootDB($debugHandler, $lockfile);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if table exists, otherwise create it
|
|
||||||
*/
|
|
||||||
|
|
||||||
$tables = getTables($db);
|
|
||||||
|
|
||||||
if(!isset($tables[TABLE_PANEL_CRONSCRIPT])
|
|
||||||
|| !is_array($tables[TABLE_PANEL_CRONSCRIPT]))
|
|
||||||
{
|
|
||||||
$db->query('CREATE TABLE `' . TABLE_PANEL_CRONSCRIPT . '` ( `id` int(11) unsigned NOT NULL auto_increment, `file` varchar(255) NOT NULL default \'\', PRIMARY KEY (`id`) ) TYPE=MyISAM ; ');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Backend Wrapper
|
|
||||||
*/
|
|
||||||
|
|
||||||
$query = 'SELECT * FROM `' . TABLE_PANEL_CRONSCRIPT . '` ';
|
|
||||||
$cronFileIncludeResult = $db->query($query);
|
|
||||||
|
|
||||||
while($cronFileIncludeRow = $db->fetch_array($cronFileIncludeResult))
|
|
||||||
{
|
|
||||||
$cronFileIncludeFullPath = makeSecurePath($pathtophpfiles . '/scripts/' . $cronFileIncludeRow['file']);
|
|
||||||
|
|
||||||
if(fileowner($cronFileIncludeFullPath) == fileowner($pathtophpfiles . '/scripts/' . $filename)
|
|
||||||
&& filegroup($cronFileIncludeFullPath) == filegroup($pathtophpfiles . '/scripts/' . $filename))
|
|
||||||
{
|
|
||||||
fwrite($debugHandler, 'Processing ...' . $cronFileIncludeFullPath . "\n");
|
|
||||||
include_once $cronFileIncludeFullPath;
|
|
||||||
fwrite($debugHandler, 'Processing done!' . "\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fwrite($debugHandler, 'WARNING! uid and/or gid of "' . $cronFileIncludeFullPath . '" and "' . $pathtophpfiles . '/scripts/' . $filename . '" don\'t match! Execution aborted!' . "\n");
|
|
||||||
$keepLockFile = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -57,6 +57,12 @@ class apache
|
|||||||
|
|
||||||
public function reload()
|
public function reload()
|
||||||
{
|
{
|
||||||
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' apache::reload: reloading php-fpm' . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading php-fpm');
|
||||||
|
safe_exec(escapeshellcmd($this->settings['phpfpm']['reload']));
|
||||||
|
}
|
||||||
fwrite($this->debugHandler, ' apache::reload: reloading apache' . "\n");
|
fwrite($this->debugHandler, ' apache::reload: reloading apache' . "\n");
|
||||||
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading apache');
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading apache');
|
||||||
safe_exec(escapeshellcmd($this->settings['system']['apachereload_command']));
|
safe_exec(escapeshellcmd($this->settings['system']['apachereload_command']));
|
||||||
@@ -76,9 +82,10 @@ class apache
|
|||||||
}
|
}
|
||||||
$vhosts_filename = makeCorrectFile($vhosts_folder . '/05_froxlor_dirfix_nofcgid.conf');
|
$vhosts_filename = makeCorrectFile($vhosts_folder . '/05_froxlor_dirfix_nofcgid.conf');
|
||||||
|
|
||||||
if($this->settings['system']['mod_fcgid'] == '1')
|
if($this->settings['system']['mod_fcgid'] == '1'
|
||||||
{
|
|| $this->settings['phpfpm']['enabled'] == '1'
|
||||||
// if we use fcgid we don't need this file
|
) {
|
||||||
|
// if we use fcgid or php-fpm we don't need this file
|
||||||
if(file_exists($vhosts_filename))
|
if(file_exists($vhosts_filename))
|
||||||
{
|
{
|
||||||
fwrite($this->debugHandler, ' apache::_createStandardDirectoryEntry: unlinking ' . basename($vhosts_filename) . "\n");
|
fwrite($this->debugHandler, ' apache::_createStandardDirectoryEntry: unlinking ' . basename($vhosts_filename) . "\n");
|
||||||
@@ -189,17 +196,26 @@ class apache
|
|||||||
{
|
{
|
||||||
$this->virtualhosts_data[$vhosts_filename].= '<VirtualHost ' . $ipport . '>' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= '<VirtualHost ' . $ipport . '>' . "\n";
|
||||||
|
|
||||||
/**
|
if($row_ipsandports['docroot'] == '')
|
||||||
* add 'real'-vhost content here, like doc-root :)
|
|
||||||
*/
|
|
||||||
if($this->settings['system']['froxlordirectlyviahostname'])
|
|
||||||
{
|
{
|
||||||
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__))));
|
/**
|
||||||
|
* add 'real'-vhost content here, like doc-root :)
|
||||||
|
*/
|
||||||
|
if($this->settings['system']['froxlordirectlyviahostname'])
|
||||||
|
{
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__))));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__)))));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$mypath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__)))));
|
// user-defined docroot, #417
|
||||||
|
$mypath = makeCorrectDir($row_ipsandports['docroot']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->virtualhosts_data[$vhosts_filename].= 'DocumentRoot "'.$mypath.'"'."\n";
|
$this->virtualhosts_data[$vhosts_filename].= 'DocumentRoot "'.$mypath.'"'."\n";
|
||||||
|
|
||||||
if($row_ipsandports['vhostcontainer_servername_statement'] == '1')
|
if($row_ipsandports['vhostcontainer_servername_statement'] == '1')
|
||||||
@@ -211,7 +227,7 @@ class apache
|
|||||||
if($this->settings['system']['mod_fcgid_ownvhost'] == '1')
|
if($this->settings['system']['mod_fcgid_ownvhost'] == '1')
|
||||||
{
|
{
|
||||||
|
|
||||||
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/froxlor.panel/');
|
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/froxlor.panel/' . $this->settings['system']['hostname']);
|
||||||
if((int)$this->settings['system']['mod_fcgid_wrapper'] == 0)
|
if((int)$this->settings['system']['mod_fcgid_wrapper'] == 0)
|
||||||
{
|
{
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
||||||
@@ -230,6 +246,35 @@ class apache
|
|||||||
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// create php-fpm <Directory>-Part (config is created in apache_fcgid)
|
||||||
|
elseif($this->settings['phpfpm']['enabled'] == '1')
|
||||||
|
{
|
||||||
|
$domain = array(
|
||||||
|
'id' => 'none',
|
||||||
|
'domain' => $this->settings['system']['hostname'],
|
||||||
|
'adminid' => 1, /* first admin-user (superadmin) */
|
||||||
|
'mod_fcgid_starter' => -1,
|
||||||
|
'mod_fcgid_maxrequests' => -1,
|
||||||
|
'guid' => $this->settings['phpfpm']['vhost_httpuser'],
|
||||||
|
'openbasedir' => 0,
|
||||||
|
'safemode' => '0',
|
||||||
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
|
'loginname' => 'froxlor.panel',
|
||||||
|
'documentroot' => $mypath
|
||||||
|
);
|
||||||
|
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' FastCgiExternalServer ' . $mypath . 'fpm.external -socket ' . $php->getInterface()->getSocketFile() . ' -user ' . $this->settings['system']['mod_fcgid_httpuser'] . ' -group ' . $this->settings['system']['mod_fcgid_httpuser'] . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' <Directory "' . $mypath . '">' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' AddHandler php5-fastcgi .php'. "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Action php5-fastcgi /fastcgiphp' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Options +ExecCGI' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Order allow,deny' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' allow from all' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Alias /fastcgiphp ' . $mypath . 'fpm.external' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dirprotection, see #72
|
* dirprotection, see #72
|
||||||
@@ -268,6 +313,12 @@ class apache
|
|||||||
$row_ipsandports['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
$row_ipsandports['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #418
|
||||||
|
if($row_ipsandports['ssl_cert_chainfile'] == '')
|
||||||
|
{
|
||||||
|
$row_ipsandports['ssl_cert_chainfile'] = $this->settings['system']['ssl_cert_chainfile'];
|
||||||
|
}
|
||||||
|
|
||||||
if($row_ipsandports['ssl_cert_file'] != '')
|
if($row_ipsandports['ssl_cert_file'] != '')
|
||||||
{
|
{
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' SSLEngine On' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' SSLEngine On' . "\n";
|
||||||
@@ -282,6 +333,12 @@ class apache
|
|||||||
{
|
{
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' SSLCACertificateFile ' . makeCorrectFile($row_ipsandports['ssl_ca_file']) . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' SSLCACertificateFile ' . makeCorrectFile($row_ipsandports['ssl_ca_file']) . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #418
|
||||||
|
if($row_ipsandports['ssl_cert_chainfile'] != '')
|
||||||
|
{
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' SSLCertificateChainFile ' . makeCorrectFile($row_ipsandports['ssl_cert_chainfile']) . "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -449,6 +506,7 @@ class apache
|
|||||||
if($this->settings['system']['awstats_enabled'] == '1')
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
||||||
|
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -460,6 +518,7 @@ class apache
|
|||||||
if($this->settings['system']['awstats_enabled'] == '1')
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . '"' . "\n";
|
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . '"' . "\n";
|
||||||
|
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -474,12 +533,22 @@ class apache
|
|||||||
if($this->settings['system']['awstats_enabled'] == '1')
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
||||||
|
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$stats_text.= ' Alias /webalizer "' . makeCorrectFile($domain['customerroot'] . '/webalizer') . '"' . "\n";
|
$stats_text.= ' Alias /webalizer "' . makeCorrectFile($domain['customerroot'] . '/webalizer') . '"' . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// if the docroots are equal, we still have to set an alias for awstats
|
||||||
|
// because the stats are in /awstats/[domain], not just /awstats/
|
||||||
|
// also, the awstats-icons are someplace else too!
|
||||||
|
// -> webalizer does not need this!
|
||||||
|
elseif($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['documentroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
||||||
|
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $stats_text;
|
return $stats_text;
|
||||||
@@ -587,7 +656,13 @@ class apache
|
|||||||
|
|
||||||
// After inserting the AWStats information,
|
// After inserting the AWStats information,
|
||||||
// be sure to build the awstats conf file as well
|
// be sure to build the awstats conf file as well
|
||||||
createAWStatsConf($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log', $domain['domain'], $alias . $server_alias, $domain['customerroot']);
|
// and chown it using $awstats_params, #258
|
||||||
|
$awstats_params = array(
|
||||||
|
'loginname' => $domain['loginname'],
|
||||||
|
'guid' => $domain['guid'],
|
||||||
|
'documentroot' => $domain['documentroot']
|
||||||
|
);
|
||||||
|
createAWStatsConf($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log', $domain['domain'], $alias . $server_alias, $domain['customerroot'], $awstats_params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -601,12 +676,14 @@ class apache
|
|||||||
protected function getVhostFilename($domain, $ssl_vhost = false)
|
protected function getVhostFilename($domain, $ssl_vhost = false)
|
||||||
{
|
{
|
||||||
if((int)$domain['parentdomainid'] == 0
|
if((int)$domain['parentdomainid'] == 0
|
||||||
|
&& isCustomerStdSubdomain((int)$domain['id']) == false
|
||||||
&& ((int)$domain['ismainbutsubto'] == 0
|
&& ((int)$domain['ismainbutsubto'] == 0
|
||||||
|| domainMainToSubExists($domain['ismainbutsubto']) == false)
|
|| domainMainToSubExists($domain['ismainbutsubto']) == false)
|
||||||
) {
|
) {
|
||||||
$vhost_no = '22';
|
$vhost_no = '22';
|
||||||
}
|
}
|
||||||
elseif((int)$domain['parentdomainid'] == 0
|
elseif((int)$domain['parentdomainid'] == 0
|
||||||
|
&& isCustomerStdSubdomain((int)$domain['id']) == false
|
||||||
&& (int)$domain['ismainbutsubto'] > 0
|
&& (int)$domain['ismainbutsubto'] > 0
|
||||||
) {
|
) {
|
||||||
$vhost_no = '21';
|
$vhost_no = '21';
|
||||||
@@ -656,6 +733,8 @@ class apache
|
|||||||
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
||||||
$domain['ssl_key_file'] = $ipandport['ssl_key_file'];
|
$domain['ssl_key_file'] = $ipandport['ssl_key_file'];
|
||||||
$domain['ssl_ca_file'] = $ipandport['ssl_ca_file'];
|
$domain['ssl_ca_file'] = $ipandport['ssl_ca_file'];
|
||||||
|
// #418
|
||||||
|
$domain['ssl_cert_chainfile'] = $ipandport['ssl_cert_chainfile'];
|
||||||
|
|
||||||
if(filter_var($domain['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
if(filter_var($domain['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
||||||
{
|
{
|
||||||
@@ -678,6 +757,14 @@ class apache
|
|||||||
|
|
||||||
if(preg_match('/^https?\:\/\//', $domain['documentroot']))
|
if(preg_match('/^https?\:\/\//', $domain['documentroot']))
|
||||||
{
|
{
|
||||||
|
// redirect everything, not only root-directory, #541
|
||||||
|
|
||||||
|
$vhost_content.= ' <IfModule mod_rewrite.c>'."\n";
|
||||||
|
$vhost_content.= ' RewriteEngine On' . "\n";
|
||||||
|
$vhost_content.= ' RewriteCond %{HTTPS} off' . "\n";
|
||||||
|
$vhost_content.= ' RewriteRule (.*) '. $this->idnaConvert->encode($domain['documentroot']).'%{REQUEST_URI}'. "\n";
|
||||||
|
$vhost_content.= ' </IfModule>' . "\n";
|
||||||
|
|
||||||
$code = getDomainRedirectCode($domain['id']);
|
$code = getDomainRedirectCode($domain['id']);
|
||||||
$vhost_content.= ' Redirect '.$code.' / ' . $this->idnaConvert->encode($domain['documentroot']) . "\n";
|
$vhost_content.= ' Redirect '.$code.' / ' . $this->idnaConvert->encode($domain['documentroot']) . "\n";
|
||||||
}
|
}
|
||||||
@@ -702,6 +789,12 @@ class apache
|
|||||||
$domain['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
$domain['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #418
|
||||||
|
if($domain['ssl_cert_chainfile'] == '')
|
||||||
|
{
|
||||||
|
$domain['ssl_cert_chainfile'] = $this->settings['system']['ssl_cert_chainfile'];
|
||||||
|
}
|
||||||
|
|
||||||
if($domain['ssl_cert_file'] != '')
|
if($domain['ssl_cert_file'] != '')
|
||||||
{
|
{
|
||||||
$vhost_content.= ' SSLEngine On' . "\n";
|
$vhost_content.= ' SSLEngine On' . "\n";
|
||||||
@@ -716,6 +809,12 @@ class apache
|
|||||||
{
|
{
|
||||||
$vhost_content.= ' SSLCACertificateFile ' . makeCorrectFile($domain['ssl_ca_file']) . "\n";
|
$vhost_content.= ' SSLCACertificateFile ' . makeCorrectFile($domain['ssl_ca_file']) . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #418
|
||||||
|
if($domain['ssl_cert_chainfile'] != '')
|
||||||
|
{
|
||||||
|
$vhost_content.= ' SSLCertificateChainFile ' . makeCorrectFile($domain['ssl_cert_chainfile']) . "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1034,6 +1133,11 @@ class apache
|
|||||||
$this->wipeOutOldDiroptionConfigs();
|
$this->wipeOutOldDiroptionConfigs();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// no more diroptions, but there might be some file-corpses which have to be removed
|
||||||
|
$this->wipeOutOldDiroptionConfigs();
|
||||||
|
}
|
||||||
|
|
||||||
// Write htpasswds
|
// Write htpasswds
|
||||||
|
|
||||||
@@ -1069,6 +1173,11 @@ class apache
|
|||||||
$this->logger->logAction(CRON_ACTION, LOG_WARNING, 'WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!');
|
$this->logger->logAction(CRON_ACTION, LOG_WARNING, 'WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// no more htpasswds, but there might be some file-corpses which have to be removed
|
||||||
|
$this->wipeOutOldHtpasswdConfigs();
|
||||||
|
}
|
||||||
|
|
||||||
// Write virtualhosts
|
// Write virtualhosts
|
||||||
|
|
||||||
@@ -1080,9 +1189,15 @@ class apache
|
|||||||
if(!isConfigDir($this->settings['system']['apacheconf_vhost']))
|
if(!isConfigDir($this->settings['system']['apacheconf_vhost']))
|
||||||
{
|
{
|
||||||
// Save one big file
|
// Save one big file
|
||||||
|
|
||||||
$vhosts_file = '';
|
$vhosts_file = '';
|
||||||
|
|
||||||
|
// sort by filename so the order is:
|
||||||
|
// 1. subdomains 20
|
||||||
|
// 2. subdomains as main-domains 21
|
||||||
|
// 3. main-domains 22
|
||||||
|
// #437
|
||||||
|
ksort($this->virtualhosts_data);
|
||||||
|
|
||||||
foreach($this->virtualhosts_data as $vhosts_filename => $vhost_content)
|
foreach($this->virtualhosts_data as $vhosts_filename => $vhost_content)
|
||||||
{
|
{
|
||||||
$vhosts_file.= $vhost_content . "\n\n";
|
$vhosts_file.= $vhost_content . "\n\n";
|
||||||
|
|||||||
@@ -26,219 +26,58 @@ if(@php_sapi_name() != 'cli'
|
|||||||
|
|
||||||
class apache_fcgid extends apache
|
class apache_fcgid extends apache
|
||||||
{
|
{
|
||||||
private $php_configs_cache = array();
|
|
||||||
private $admin_cache = array();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We put together the needed php options in the virtualhost entries
|
|
||||||
*/
|
|
||||||
|
|
||||||
protected function composePhpOptions($domain)
|
protected function composePhpOptions($domain)
|
||||||
{
|
{
|
||||||
$php_options_text = '';
|
$php_options_text = '';
|
||||||
|
|
||||||
if($domain['phpenabled'] == '1')
|
if($domain['phpenabled'] == '1')
|
||||||
{
|
{
|
||||||
// This vHost has PHP enabled and we are using mod_fcgid
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
//create basic variables for config
|
$phpconfig = $php->getPhpConfig((int)$domain['phpsettingid']);
|
||||||
|
|
||||||
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/' . $domain['loginname'] . '/' . $domain['domain'] . '/');
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
$starter_filename = makeCorrectFile($configdir . '/php-fcgi-starter');
|
|
||||||
$phpini_filename = makeCorrectFile($configdir . '/php.ini');
|
|
||||||
$tmpdir = makeCorrectDir($this->settings['system']['mod_fcgid_tmpdir'] . '/' . $domain['loginname'] . '/');
|
|
||||||
|
|
||||||
// create config dir if necessary
|
|
||||||
|
|
||||||
if(!is_dir($configdir))
|
|
||||||
{
|
|
||||||
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
|
||||||
safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($configdir));
|
|
||||||
}
|
|
||||||
|
|
||||||
// create tmp dir if necessary
|
|
||||||
|
|
||||||
if(!is_dir($tmpdir))
|
|
||||||
{
|
|
||||||
safe_exec('mkdir -p ' . escapeshellarg($tmpdir));
|
|
||||||
safe_exec('chown -R ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($tmpdir));
|
|
||||||
safe_exec('chmod 0750 ' . escapeshellarg($tmpdir));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load php config
|
|
||||||
|
|
||||||
$phpconfig = $this->getPhpConfig((int)$domain['phpsettingid']);
|
|
||||||
|
|
||||||
if((int)$this->settings['system']['mod_fcgid_wrapper'] == 0)
|
|
||||||
{
|
{
|
||||||
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
||||||
$php_options_text.= ' ScriptAlias /php/ ' . $configdir . "\n";
|
$php_options_text.= ' FastCgiExternalServer ' . makeCorrectDir($domain['documentroot']) . 'fpm.external -socket ' . $php->getInterface()->getSocketFile() . ' -user ' . $domain['loginname'] . ' -group ' . $domain['loginname'] . "\n";
|
||||||
}
|
$php_options_text.= ' <Directory "' . makeCorrectDir($domain['documentroot']) . '">' . "\n";
|
||||||
else
|
$php_options_text.= ' AddHandler php5-fastcgi .php'. "\n";
|
||||||
{
|
$php_options_text.= ' Action php5-fastcgi /fastcgiphp' . "\n";
|
||||||
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
|
||||||
$php_options_text.= ' <Directory "' . $domain['documentroot'] . '">' . "\n";
|
|
||||||
$file_extensions = explode(' ', $phpconfig['file_extensions']);
|
|
||||||
$php_options_text.= ' AddHandler fcgid-script .' . implode(' .', $file_extensions) . "\n";
|
|
||||||
foreach($file_extensions as $file_extension)
|
|
||||||
{
|
|
||||||
$php_options_text.= ' FCGIWrapper ' . $starter_filename . ' .' . $file_extension . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$php_options_text.= ' Options +ExecCGI' . "\n";
|
$php_options_text.= ' Options +ExecCGI' . "\n";
|
||||||
$php_options_text.= ' Order allow,deny' . "\n";
|
$php_options_text.= ' Order allow,deny' . "\n";
|
||||||
$php_options_text.= ' allow from all' . "\n";
|
$php_options_text.= ' allow from all' . "\n";
|
||||||
$php_options_text.= ' </Directory>' . "\n";
|
$php_options_text.= ' </Directory>' . "\n";
|
||||||
}
|
$php_options_text.= ' Alias /fastcgiphp ' . makeCorrectDir($domain['documentroot']) . 'fpm.external' . "\n";
|
||||||
|
|
||||||
// create starter
|
|
||||||
|
|
||||||
$starter_file = "#!/bin/sh\n\n";
|
|
||||||
$starter_file.= "#\n";
|
|
||||||
$starter_file.= "# starter created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $domain['domain'] . "' with id #" . $domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n";
|
|
||||||
$starter_file.= "# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
|
||||||
$starter_file.= "#\n\n";
|
|
||||||
$starter_file.= "umask 022\n";
|
|
||||||
$starter_file.= "PHPRC=" . escapeshellarg($configdir) . "\n";
|
|
||||||
$starter_file.= "export PHPRC\n";
|
|
||||||
|
|
||||||
// set number of processes for one domain
|
|
||||||
|
|
||||||
if((int)$domain['mod_fcgid_starter'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$domain['mod_fcgid_starter'] . "\n";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
if((int)$this->settings['system']['mod_fcgid_wrapper'] == 0)
|
||||||
{
|
{
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$phpconfig['mod_fcgid_starter'] . "\n";
|
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
||||||
|
$php_options_text.= ' ScriptAlias /php/ ' . $php->getInterface()->getConfigDir() . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$this->settings['system']['mod_fcgid_starter'] . "\n";
|
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
||||||
}
|
$php_options_text.= ' <Directory "' . $domain['documentroot'] . '">' . "\n";
|
||||||
}
|
$file_extensions = explode(' ', $phpconfig['file_extensions']);
|
||||||
|
$php_options_text.= ' AddHandler fcgid-script .' . implode(' .', $file_extensions) . "\n";
|
||||||
$starter_file.= "export PHP_FCGI_CHILDREN\n";
|
foreach($file_extensions as $file_extension)
|
||||||
|
|
||||||
// set number of maximum requests for one domain
|
|
||||||
|
|
||||||
if((int)$domain['mod_fcgid_maxrequests'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$domain['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$phpconfig['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$this->settings['system']['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$starter_file.= "export PHP_FCGI_MAX_REQUESTS\n";
|
|
||||||
|
|
||||||
// Set Binary
|
|
||||||
|
|
||||||
$starter_file.= "exec " . $phpconfig['binary'] . " -c " . escapeshellarg($configdir) . "\n";
|
|
||||||
|
|
||||||
//remove +i attibute, so starter can be overwritten
|
|
||||||
|
|
||||||
if(file_exists($starter_filename))
|
|
||||||
{
|
|
||||||
removeImmutable($starter_filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
$starter_file_handler = fopen($starter_filename, 'w');
|
|
||||||
fwrite($starter_file_handler, $starter_file);
|
|
||||||
fclose($starter_file_handler);
|
|
||||||
safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
|
|
||||||
safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($starter_filename));
|
|
||||||
setImmutable($starter_filename);
|
|
||||||
|
|
||||||
// define the php.ini
|
|
||||||
|
|
||||||
$openbasedir = '';
|
|
||||||
$openbasedirc = ';';
|
|
||||||
|
|
||||||
if($domain['openbasedir'] == '1')
|
|
||||||
{
|
|
||||||
$openbasedirc = '';
|
|
||||||
$_phpappendopenbasedir = '';
|
|
||||||
|
|
||||||
$_custom_openbasedir = explode(':', $this->settings['system']['mod_fcgid_peardir']);
|
|
||||||
foreach($_custom_openbasedir as $cobd)
|
|
||||||
{
|
|
||||||
$_phpappendopenbasedir .= appendOpenBasedirPath($cobd);
|
|
||||||
}
|
|
||||||
|
|
||||||
$_custom_openbasedir = explode(':', $this->settings['system']['phpappendopenbasedir']);
|
|
||||||
foreach($_custom_openbasedir as $cobd)
|
|
||||||
{
|
|
||||||
$_phpappendopenbasedir .= appendOpenBasedirPath($cobd);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($domain['openbasedir_path'] == '0' && strstr($domain['documentroot'], ":") === false)
|
|
||||||
{
|
|
||||||
$openbasedir = appendOpenBasedirPath($domain['documentroot'], true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$openbasedir = appendOpenBasedirPath($domain['customerroot'], true);
|
|
||||||
}
|
|
||||||
|
|
||||||
$openbasedir .= appendOpenBasedirPath($tmpdir);
|
|
||||||
$openbasedir .= $_phpappendopenbasedir;
|
|
||||||
|
|
||||||
$openbasedir = explode(':', $openbasedir);
|
|
||||||
$clean_openbasedir = array();
|
|
||||||
foreach($openbasedir as $number => $path)
|
|
||||||
{
|
|
||||||
if(trim($path) != '/')
|
|
||||||
{
|
{
|
||||||
$clean_openbasedir[] = makeCorrectDir($path);
|
$php_options_text.= ' FCGIWrapper ' . $php->getInterface()->getStarterFile() . ' .' . $file_extension . "\n";
|
||||||
}
|
}
|
||||||
|
$php_options_text.= ' Options +ExecCGI' . "\n";
|
||||||
|
$php_options_text.= ' Order allow,deny' . "\n";
|
||||||
|
$php_options_text.= ' allow from all' . "\n";
|
||||||
|
$php_options_text.= ' </Directory>' . "\n";
|
||||||
}
|
}
|
||||||
$openbasedir = implode(':', $clean_openbasedir);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$openbasedir = 'none';
|
|
||||||
$openbasedirc = ';';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$admin = $this->getAdminData($domain['adminid']);
|
// create starter-file | config-file
|
||||||
$php_ini_variables = array(
|
$php->getInterface()->createConfig($phpconfig);
|
||||||
'SAFE_MODE' => ($domain['safemode'] == '0' ? 'Off' : 'On'),
|
|
||||||
'PEAR_DIR' => $this->settings['system']['mod_fcgid_peardir'],
|
// create php.ini
|
||||||
'OPEN_BASEDIR' => $openbasedir,
|
// @TODO make php-fpm support this
|
||||||
'OPEN_BASEDIR_C' => $openbasedirc,
|
$php->getInterface()->createIniFile($phpconfig);
|
||||||
'OPEN_BASEDIR_GLOBAL' => $this->settings['system']['phpappendopenbasedir'],
|
|
||||||
'TMP_DIR' => $tmpdir,
|
|
||||||
'CUSTOMER_EMAIL' => $domain['email'],
|
|
||||||
'ADMIN_EMAIL' => $admin['email'],
|
|
||||||
'DOMAIN' => $domain['domain'],
|
|
||||||
'CUSTOMER' => $domain['loginname'],
|
|
||||||
'ADMIN' => $admin['loginname']
|
|
||||||
);
|
|
||||||
|
|
||||||
//insert a small header for the file
|
|
||||||
|
|
||||||
$phpini_file = ";\n";
|
|
||||||
$phpini_file.= "; php.ini created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $domain['domain'] . "' with id #" . $domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n";
|
|
||||||
$phpini_file.= "; Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
|
||||||
$phpini_file.= ";\n\n";
|
|
||||||
$phpini_file.= replace_variables($phpconfig['phpsettings'], $php_ini_variables);
|
|
||||||
$phpini_file = str_replace('"none"', 'none', $phpini_file);
|
|
||||||
$phpini_file = preg_replace('/\"+/', '"', $phpini_file);
|
|
||||||
$phpini_file_handler = fopen($phpini_filename, 'w');
|
|
||||||
fwrite($phpini_file_handler, $phpini_file);
|
|
||||||
fclose($phpini_file_handler);
|
|
||||||
safe_exec('chown root:0 ' . escapeshellarg($phpini_filename));
|
|
||||||
safe_exec('chmod 0644 ' . escapeshellarg($phpini_filename));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -248,119 +87,56 @@ class apache_fcgid extends apache
|
|||||||
return $php_options_text;
|
return $php_options_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPhpConfig($php_config_id)
|
|
||||||
{
|
|
||||||
$php_config_id = intval($php_config_id);
|
|
||||||
|
|
||||||
// If domain has no config, we will use the default one.
|
|
||||||
|
|
||||||
if($php_config_id == 0)
|
|
||||||
{
|
|
||||||
$php_config_id = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!isset($this->php_configs_cache[$php_config_id]))
|
|
||||||
{
|
|
||||||
$this->php_configs_cache[$php_config_id] = $this->getDB()->query_first("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "` WHERE `id` = " . (int)$php_config_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->php_configs_cache[$php_config_id];
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getAdminData($adminid)
|
|
||||||
{
|
|
||||||
$adminid = intval($adminid);
|
|
||||||
|
|
||||||
if(!isset($this->admin_cache[$adminid]))
|
|
||||||
{
|
|
||||||
$this->admin_cache[$adminid] = $this->getDB()->query_first("SELECT `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "` WHERE `adminid` = " . (int)$adminid);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->admin_cache[$adminid];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function createOwnVhostStarter()
|
public function createOwnVhostStarter()
|
||||||
{
|
{
|
||||||
if ($this->settings['system']['mod_fcgid_ownvhost'] == '1')
|
if ($this->settings['system']['mod_fcgid_ownvhost'] == '1'
|
||||||
{
|
|| ($this->settings['phpfpm']['enabled'] == '1'
|
||||||
|
&& $this->settings['phpfpm']['enabled_ownvhost'] == '1')
|
||||||
|
) {
|
||||||
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); // /var/www/froxlor, needed for chown
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); // /var/www/froxlor, needed for chown
|
||||||
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/froxlor.panel/');
|
|
||||||
$starter_filename = makeCorrectFile($configdir . '/php-fcgi-starter');
|
if ($this->settings['system']['mod_fcgid_ownvhost'] == '1')
|
||||||
$tmpdir = makeCorrectDir($this->settings['system']['mod_fcgid_tmpdir'] . '/froxlor.panel/');
|
{
|
||||||
|
$user = $this->settings['system']['mod_fcgid_httpuser'];
|
||||||
$user = $this->settings['system']['mod_fcgid_httpuser'];
|
$group = $this->settings['system']['mod_fcgid_httpgroup'];
|
||||||
$group = $this->settings['system']['mod_fcgid_httpgroup'];
|
}
|
||||||
|
elseif($this->settings['phpfpm']['enabled'] == '1'
|
||||||
|
&& $this->settings['phpfpm']['enabled_ownvhost'] == '1'
|
||||||
|
) {
|
||||||
|
$user = $this->settings['phpfpm']['vhost_httpuser'];
|
||||||
|
$group = $this->settings['phpfpm']['vhost_httpgroup'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$domain = array(
|
||||||
|
'id' => 'none',
|
||||||
|
'domain' => $this->settings['system']['hostname'],
|
||||||
|
'adminid' => 1, /* first admin-user (superadmin) */
|
||||||
|
'mod_fcgid_starter' => -1,
|
||||||
|
'mod_fcgid_maxrequests' => -1,
|
||||||
|
'guid' => $user,
|
||||||
|
'openbasedir' => 0,
|
||||||
|
'safemode' => '0',
|
||||||
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
|
'loginname' => 'froxlor.panel',
|
||||||
|
'documentroot' => $mypath
|
||||||
|
);
|
||||||
|
|
||||||
// all the files and folders have to belong to the local user
|
// all the files and folders have to belong to the local user
|
||||||
// now because we also use fcgid for our own vhost
|
// now because we also use fcgid for our own vhost
|
||||||
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
||||||
|
|
||||||
|
// get php.ini for our own vhost
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
|
||||||
|
// @FIXME don't use fcgid settings if not fcgid in use, but we don't have anything else atm
|
||||||
|
$phpconfig = $php->getPhpConfig($this->settings['system']['mod_fcgid_defaultini_ownvhost']);
|
||||||
|
|
||||||
|
// create starter-file | config-file
|
||||||
|
$php->getInterface()->createConfig($phpconfig);
|
||||||
|
|
||||||
// create config dir if necessary
|
// create php.ini
|
||||||
if(!is_dir($configdir))
|
// @TODO make php-fpm support this
|
||||||
{
|
$php->getInterface()->createIniFile($phpconfig);
|
||||||
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
|
||||||
safe_exec('chown ' . $user . ':' . $group . ' ' . escapeshellarg($configdir));
|
|
||||||
}
|
|
||||||
|
|
||||||
// create tmp dir if necessary
|
|
||||||
if(!is_dir($tmpdir))
|
|
||||||
{
|
|
||||||
safe_exec('mkdir -p ' . escapeshellarg($tmpdir));
|
|
||||||
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($tmpdir));
|
|
||||||
safe_exec('chmod 0750 ' . escapeshellarg($tmpdir));
|
|
||||||
}
|
|
||||||
|
|
||||||
// we only need this for some basic, no special parameters that
|
|
||||||
// would require to maybe allow selecting a specific php.ini
|
|
||||||
// because we only need the binary and spawning parameters
|
|
||||||
$phpconfig = $this->getPhpConfig(0);
|
|
||||||
|
|
||||||
// create starter
|
|
||||||
$starter_file = "#!/bin/sh\n\n";
|
|
||||||
$starter_file.= "#\n";
|
|
||||||
$starter_file.= "# starter created/changed on " . date("Y.m.d H:i:s") . " for the Froxlor vhost\n";
|
|
||||||
$starter_file.= "# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
|
||||||
$starter_file.= "#\n\n";
|
|
||||||
$starter_file.= "umask 022\n";
|
|
||||||
$starter_file.= "PHPRC=" . escapeshellarg($configdir) . "\n";
|
|
||||||
$starter_file.= "export PHPRC\n";
|
|
||||||
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$phpconfig['mod_fcgid_starter'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$this->settings['system']['mod_fcgid_starter'] . "\n";
|
|
||||||
}
|
|
||||||
$starter_file.= "export PHP_FCGI_CHILDREN\n";
|
|
||||||
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$phpconfig['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$this->settings['system']['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
$starter_file.= "export PHP_FCGI_MAX_REQUESTS\n";
|
|
||||||
|
|
||||||
// Set Binary
|
|
||||||
$starter_file.= "exec " . $phpconfig['binary'] . " -c " . escapeshellarg($configdir) . "\n";
|
|
||||||
|
|
||||||
//remove +i attibute, so starter can be overwritten
|
|
||||||
if(file_exists($starter_filename))
|
|
||||||
{
|
|
||||||
removeImmutable($starter_filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
$starter_file_handler = fopen($starter_filename, 'w');
|
|
||||||
fwrite($starter_file_handler, $starter_file);
|
|
||||||
fclose($starter_file_handler);
|
|
||||||
safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
|
|
||||||
safe_exec('chown ' . $user . ':' . $group . ' ' . escapeshellarg($starter_filename));
|
|
||||||
setImmutable($starter_filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -61,6 +61,12 @@ class lighttpd
|
|||||||
|
|
||||||
public function reload()
|
public function reload()
|
||||||
{
|
{
|
||||||
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' lighttpd::reload: reloading php-fpm' . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading php-fpm');
|
||||||
|
safe_exec(escapeshellcmd($this->settings['phpfpm']['reload']));
|
||||||
|
}
|
||||||
fwrite($this->debugHandler, ' lighttpd::reload: reloading lighttpd' . "\n");
|
fwrite($this->debugHandler, ' lighttpd::reload: reloading lighttpd' . "\n");
|
||||||
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading lighttpd');
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading lighttpd');
|
||||||
safe_exec(escapeshellcmd($this->settings['system']['apachereload_command']));
|
safe_exec(escapeshellcmd($this->settings['system']['apachereload_command']));
|
||||||
@@ -77,11 +83,13 @@ class lighttpd
|
|||||||
{
|
{
|
||||||
$ip = '[' . $row_ipsandports['ip'] . ']';
|
$ip = '[' . $row_ipsandports['ip'] . ']';
|
||||||
$port = $row_ipsandports['port'];
|
$port = $row_ipsandports['port'];
|
||||||
|
$ipv6 = 'server.use-ipv6 = "enable"'."\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$ip = $row_ipsandports['ip'];
|
$ip = $row_ipsandports['ip'];
|
||||||
$port = $row_ipsandports['port'];
|
$port = $row_ipsandports['port'];
|
||||||
|
$ipv6 = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
fwrite($this->debugHandler, ' lighttpd::createIpPort: creating ip/port settings for ' . $ip . ":" . $port . "\n");
|
fwrite($this->debugHandler, ' lighttpd::createIpPort: creating ip/port settings for ' . $ip . ":" . $port . "\n");
|
||||||
@@ -99,6 +107,7 @@ class lighttpd
|
|||||||
{
|
{
|
||||||
$this->lighttpd_data[$vhost_filename].= 'server.port = ' . $port . "\n";
|
$this->lighttpd_data[$vhost_filename].= 'server.port = ' . $port . "\n";
|
||||||
$this->lighttpd_data[$vhost_filename].= 'server.bind = "' . $ip . '"' . "\n";
|
$this->lighttpd_data[$vhost_filename].= 'server.bind = "' . $ip . '"' . "\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= $ipv6;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($row_ipsandports['vhostcontainer'] == '1')
|
if($row_ipsandports['vhostcontainer'] == '1')
|
||||||
@@ -107,14 +116,23 @@ class lighttpd
|
|||||||
$this->lighttpd_data[$vhost_filename].= '# Froxlor default vhost' . "\n";
|
$this->lighttpd_data[$vhost_filename].= '# Froxlor default vhost' . "\n";
|
||||||
$this->lighttpd_data[$vhost_filename].= '$HTTP["host"] =~ "^(?:www\.|)' . $myhost . '$" {' . "\n";
|
$this->lighttpd_data[$vhost_filename].= '$HTTP["host"] =~ "^(?:www\.|)' . $myhost . '$" {' . "\n";
|
||||||
|
|
||||||
if($this->settings['system']['froxlordirectlyviahostname'])
|
if($row_ipsandports['docroot'] == '')
|
||||||
{
|
{
|
||||||
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__))));
|
if($this->settings['system']['froxlordirectlyviahostname'])
|
||||||
|
{
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__))));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__)))));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$mypath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__)))));
|
// user-defined docroot, #417
|
||||||
|
$mypath = makeCorrectDir($row_ipsandports['docroot']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->lighttpd_data[$vhost_filename].= ' server.document-root = "'.$mypath.'"'."\n";
|
$this->lighttpd_data[$vhost_filename].= ' server.document-root = "'.$mypath.'"'."\n";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -126,6 +144,38 @@ class lighttpd
|
|||||||
$this->lighttpd_data[$vhost_filename].= ' }' . "\n";
|
$this->lighttpd_data[$vhost_filename].= ' }' . "\n";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* own php-fpm vhost
|
||||||
|
*/
|
||||||
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
$domain = array(
|
||||||
|
'id' => 'none',
|
||||||
|
'domain' => $this->settings['system']['hostname'],
|
||||||
|
'adminid' => 1, /* first admin-user (superadmin) */
|
||||||
|
'mod_fcgid_starter' => -1,
|
||||||
|
'mod_fcgid_maxrequests' => -1,
|
||||||
|
'guid' => $this->settings['phpfpm']['vhost_httpuser'],
|
||||||
|
'openbasedir' => 0,
|
||||||
|
'safemode' => '0',
|
||||||
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
|
'loginname' => 'froxlor.panel',
|
||||||
|
'documentroot' => $mypath
|
||||||
|
);
|
||||||
|
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
|
||||||
|
$this->lighttpd_data[$vhost_filename].= ' fastcgi.server = ( '."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t".'".php" => ('."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t\t".'"localhost" => ('."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t\t".'"socket" => "'.$php->getInterface()->getSocketFile().'",'."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t\t".'"check-local" => "enable",'."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t\t".'"disable-time" => 1'."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t".')'."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= "\t".')'."\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= ' )'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
if($row_ipsandports['specialsettings'] != '')
|
if($row_ipsandports['specialsettings'] != '')
|
||||||
{
|
{
|
||||||
$this->lighttpd_data[$vhost_filename].= $row_ipsandports['specialsettings'] . "\n";
|
$this->lighttpd_data[$vhost_filename].= $row_ipsandports['specialsettings'] . "\n";
|
||||||
@@ -136,8 +186,26 @@ class lighttpd
|
|||||||
|
|
||||||
if($row_ipsandports['ssl'] == '1')
|
if($row_ipsandports['ssl'] == '1')
|
||||||
{
|
{
|
||||||
$this->lighttpd_data[$vhost_filename].= 'ssl.engine = "enable"' . "\n";
|
if($row_ipsandports['ssl_cert_file'] == '')
|
||||||
$this->lighttpd_data[$vhost_filename].= 'ssl.pemfile = "' . $row_ipsandports['ssl_cert_file'] . '"' . "\n";
|
{
|
||||||
|
$row_ipsandports['ssl_cert_file'] = $this->settings['system']['ssl_cert_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_ca_file'] == '')
|
||||||
|
{
|
||||||
|
$row_ipsandports['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_cert_file'] != '')
|
||||||
|
{
|
||||||
|
$this->lighttpd_data[$vhost_filename].= 'ssl.engine = "enable"' . "\n";
|
||||||
|
$this->lighttpd_data[$vhost_filename].= 'ssl.pemfile = "' . makeCorrectFile($row_ipsandports['ssl_cert_file']) . '"' . "\n";
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_ca_file'] != '')
|
||||||
|
{
|
||||||
|
$this->lighttpd_data[$vhost_filename].= 'ssl.ca-file = "' . makeCorrectFile($row_ipsandports['ssl_ca_file']) . '"' . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -279,6 +347,7 @@ class lighttpd
|
|||||||
$_inc_path = substr($_tmp_path, $_pos+1);
|
$_inc_path = substr($_tmp_path, $_pos+1);
|
||||||
|
|
||||||
if((int)$domain['parentdomainid'] == 0
|
if((int)$domain['parentdomainid'] == 0
|
||||||
|
&& isCustomerStdSubdomain((int)$domain['id']) == false
|
||||||
&& ((int)$domain['ismainbutsubto'] == 0
|
&& ((int)$domain['ismainbutsubto'] == 0
|
||||||
|| domainMainToSubExists($domain['ismainbutsubto']) == false)
|
|| domainMainToSubExists($domain['ismainbutsubto']) == false)
|
||||||
) {
|
) {
|
||||||
@@ -289,6 +358,7 @@ class lighttpd
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif((int)$domain['parentdomainid'] == 0
|
elseif((int)$domain['parentdomainid'] == 0
|
||||||
|
&& isCustomerStdSubdomain((int)$domain['id']) == false
|
||||||
&& (int)$domain['ismainbutsubto'] > 0
|
&& (int)$domain['ismainbutsubto'] > 0
|
||||||
) {
|
) {
|
||||||
$vhost_no = '51';
|
$vhost_no = '51';
|
||||||
@@ -313,12 +383,6 @@ class lighttpd
|
|||||||
{
|
{
|
||||||
$this->lighttpd_data[$vhost_filename] = '';
|
$this->lighttpd_data[$vhost_filename] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ipandport'] . "'";
|
|
||||||
$ipandport = $this->db->query_first($query);
|
|
||||||
$domain['ip'] = $ipandport['ip'];
|
|
||||||
$domain['port'] = $ipandport['port'];
|
|
||||||
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
|
||||||
|
|
||||||
if((!empty($this->lighttpd_data[$vhost_filename])
|
if((!empty($this->lighttpd_data[$vhost_filename])
|
||||||
&& !is_dir($this->settings['system']['apacheconf_vhost']))
|
&& !is_dir($this->settings['system']['apacheconf_vhost']))
|
||||||
@@ -364,6 +428,7 @@ class lighttpd
|
|||||||
$domain['ip'] = $ipandport['ip'];
|
$domain['ip'] = $ipandport['ip'];
|
||||||
$domain['port'] = $ipandport['port'];
|
$domain['port'] = $ipandport['port'];
|
||||||
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
||||||
|
$domain['ssl_ca_file'] = $ipandport['ssl_ca_file'];
|
||||||
|
|
||||||
if(filter_var($domain['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
if(filter_var($domain['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
||||||
{
|
{
|
||||||
@@ -376,7 +441,15 @@ class lighttpd
|
|||||||
|
|
||||||
$vhost_content = '';
|
$vhost_content = '';
|
||||||
$vhost_content.= $this->getServerNames($domain) . " {\n";
|
$vhost_content.= $this->getServerNames($domain) . " {\n";
|
||||||
|
|
||||||
|
// respect ssl_redirect settings, #542
|
||||||
|
if($ssl_vhost == false
|
||||||
|
&& $domain['ssl'] == '1'
|
||||||
|
&& $domain['ssl_redirect'] == '1'
|
||||||
|
) {
|
||||||
|
$domain['documentroot'] = 'https://' . $domain['domain'] . '/';
|
||||||
|
}
|
||||||
|
|
||||||
if(preg_match('/^https?\:\/\//', $domain['documentroot']))
|
if(preg_match('/^https?\:\/\//', $domain['documentroot']))
|
||||||
{
|
{
|
||||||
$vhost_content.= ' url.redirect = (' . "\n";
|
$vhost_content.= ' url.redirect = (' . "\n";
|
||||||
@@ -400,6 +473,7 @@ class lighttpd
|
|||||||
$vhost_content.= $this->composePhpOptions($domain);
|
$vhost_content.= $this->composePhpOptions($domain);
|
||||||
$vhost_content.= $this->getStats($domain);
|
$vhost_content.= $this->getStats($domain);
|
||||||
$vhost_content.= $this->getLogFiles($domain);
|
$vhost_content.= $this->getLogFiles($domain);
|
||||||
|
$vhost_content.= $this->getSslSettings($domain, $ssl_vhost);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -411,6 +485,38 @@ class lighttpd
|
|||||||
return $vhost_content;
|
return $vhost_content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getSslSettings($domain, $ssl_vhost)
|
||||||
|
{
|
||||||
|
$ssl_settings = '';
|
||||||
|
|
||||||
|
if($ssl_vhost === true
|
||||||
|
&& $domain['ssl'] == '1'
|
||||||
|
&& (int)$this->settings['system']['use_ssl'] == 1
|
||||||
|
) {
|
||||||
|
if($domain['ssl_cert_file'] == '')
|
||||||
|
{
|
||||||
|
$domain['ssl_cert_file'] = $this->settings['system']['ssl_cert_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($domain['ssl_ca_file'] == '')
|
||||||
|
{
|
||||||
|
$domain['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($domain['ssl_cert_file'] != '')
|
||||||
|
{
|
||||||
|
$ssl_settings.= 'ssl.engine = "enable"' . "\n";
|
||||||
|
$ssl_settings.= 'ssl.pemfile = "' . makeCorrectFile($domain['ssl_cert_file']) . '"' . "\n";
|
||||||
|
|
||||||
|
if($domain['ssl_ca_file'] != '')
|
||||||
|
{
|
||||||
|
$ssl_settings.= 'ssl.ca-file = "' . makeCorrectFile($domain['ssl_ca_file']) . '"' . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $ssl_settings;
|
||||||
|
}
|
||||||
|
|
||||||
protected function getLogFiles($domain)
|
protected function getLogFiles($domain)
|
||||||
{
|
{
|
||||||
$logfiles_text = '';
|
$logfiles_text = '';
|
||||||
@@ -502,7 +608,13 @@ class lighttpd
|
|||||||
|
|
||||||
// After inserting the AWStats information,
|
// After inserting the AWStats information,
|
||||||
// be sure to build the awstats conf file as well
|
// be sure to build the awstats conf file as well
|
||||||
createAWStatsConf($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log', $domain['domain'], $alias . $server_alias, $domain['customerroot']);
|
// and chown it using $awstats_params, #258
|
||||||
|
$awstats_params = array(
|
||||||
|
'loginname' => $domain['loginname'],
|
||||||
|
'guid' => $domain['guid'],
|
||||||
|
'documentroot' => $domain['documentroot']
|
||||||
|
);
|
||||||
|
createAWStatsConf($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log', $domain['domain'], $alias . $server_alias, $domain['customerroot'], $awstats_params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -759,8 +871,8 @@ class lighttpd
|
|||||||
{
|
{
|
||||||
if($this->settings['system']['awstats_enabled'] == '1')
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
// @TODO see if this is correct for awstats
|
|
||||||
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']).'" )' . "\n";
|
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']).'" )' . "\n";
|
||||||
|
$stats_text.= ' alias.url = ( "/awstats-icon" => "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '" )' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -771,8 +883,8 @@ class lighttpd
|
|||||||
{
|
{
|
||||||
if($this->settings['system']['awstats_enabled'] == '1')
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
// @TODO see if this is correct for awstats
|
|
||||||
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']).'" )' . "\n";
|
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']).'" )' . "\n";
|
||||||
|
$stats_text.= ' alias.url = ( "/awstats-icon" => "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '" )' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -787,12 +899,22 @@ class lighttpd
|
|||||||
if($this->settings['system']['awstats_enabled'] == '1')
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']).'" )' . "\n";
|
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']).'" )' . "\n";
|
||||||
|
$stats_text.= ' alias.url = ( "/awstats-icon" => "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '" )' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$stats_text.= ' alias.url = ( "/webalizer/" => "'.makeCorrectFile($domain['customerroot'] . '/webalizer').'" )' . "\n";
|
$stats_text.= ' alias.url = ( "/webalizer/" => "'.makeCorrectFile($domain['customerroot'] . '/webalizer').'" )' . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// if the docroots are equal, we still have to set an alias for awstats
|
||||||
|
// because the stats are in /awstats/[domain], not just /awstats/
|
||||||
|
// also, the awstats-icons are someplace else too!
|
||||||
|
// -> webalizer does not need this!
|
||||||
|
elseif($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$stats_text.= ' alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['documentroot'] . '/awstats/' . $domain['domain']).'" )' . "\n";
|
||||||
|
$stats_text.= ' alias.url = ( "/awstats-icon" => "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '" )' . "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $stats_text;
|
return $stats_text;
|
||||||
@@ -808,6 +930,13 @@ class lighttpd
|
|||||||
// Save one big file
|
// Save one big file
|
||||||
$vhosts_file = '';
|
$vhosts_file = '';
|
||||||
|
|
||||||
|
// sort by filename so the order is:
|
||||||
|
// 1. subdomains
|
||||||
|
// 2. subdomains as main-domains
|
||||||
|
// 3. main-domains
|
||||||
|
// #437
|
||||||
|
ksort($this->lighttpd_data);
|
||||||
|
|
||||||
foreach($this->lighttpd_data as $vhosts_filename => $vhost_content)
|
foreach($this->lighttpd_data as $vhosts_filename => $vhost_content)
|
||||||
{
|
{
|
||||||
$vhosts_file.= $vhost_content . "\n\n";
|
$vhosts_file.= $vhost_content . "\n\n";
|
||||||
|
|||||||
@@ -28,241 +28,86 @@ if(@php_sapi_name() != 'cli'
|
|||||||
|
|
||||||
class lighttpd_fcgid extends lighttpd
|
class lighttpd_fcgid extends lighttpd
|
||||||
{
|
{
|
||||||
private $php_configs_cache = array();
|
|
||||||
private $admin_cache = array();
|
|
||||||
|
|
||||||
protected function composePhpOptions($domain)
|
protected function composePhpOptions($domain)
|
||||||
{
|
{
|
||||||
$php_options_text = '';
|
$php_options_text = '';
|
||||||
|
|
||||||
if($domain['phpenabled'] == '1')
|
if($domain['phpenabled'] == '1')
|
||||||
{
|
{
|
||||||
// This vHost has PHP enabled and we are using mod_fcgid
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
//create basic variables for config
|
$phpconfig = $php->getPhpConfig((int)$domain['phpsettingid']);
|
||||||
|
|
||||||
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/' . $domain['loginname'] . '/' . $domain['domain'] . '/');
|
// vhost data for php-fpm
|
||||||
$starter_filename = makeCorrectFile($configdir . '/php-fcgi-starter');
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
$phpini_filename = makeCorrectFile($configdir . '/php.ini');
|
|
||||||
$tmpdir = makeCorrectDir($this->settings['system']['mod_fcgid_tmpdir'] . '/' . $domain['loginname'] . '/');
|
|
||||||
|
|
||||||
// create config dir if necessary
|
|
||||||
|
|
||||||
if(!is_dir($configdir))
|
|
||||||
{
|
{
|
||||||
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
$php_options_text = ' fastcgi.server = ( '."\n";
|
||||||
safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($configdir));
|
$php_options_text.= "\t".'".php" => ('."\n";
|
||||||
}
|
|
||||||
|
|
||||||
// create tmp dir if necessary
|
|
||||||
|
|
||||||
if(!is_dir($tmpdir))
|
|
||||||
{
|
|
||||||
safe_exec('mkdir -p ' . escapeshellarg($tmpdir));
|
|
||||||
safe_exec('chown -R ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($tmpdir));
|
|
||||||
safe_exec('chmod 0750 ' . escapeshellarg($tmpdir));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load php config
|
|
||||||
|
|
||||||
$phpconfig = $this->getPhpConfig((int)$domain['phpsettingid']);
|
|
||||||
|
|
||||||
$php_options_text = ' fastcgi.server = ( '."\n";
|
|
||||||
$file_extensions = explode(' ', $phpconfig['file_extensions']);
|
|
||||||
foreach($file_extensions as $f_extension)
|
|
||||||
{
|
|
||||||
$php_options_text.= "\t".'".'.$f_extension.'" => ('."\n";
|
|
||||||
$php_options_text.= "\t\t".'"localhost" => ('."\n";
|
$php_options_text.= "\t\t".'"localhost" => ('."\n";
|
||||||
$php_options_text.= "\t\t".'"socket" => "/var/run/lighttpd/'.$domain['loginname'].'-'.$domain['domain'].'-php.socket",'."\n";
|
$php_options_text.= "\t\t".'"socket" => "'.$php->getInterface()->getSocketFile().'",'."\n";
|
||||||
$php_options_text.= "\t\t".'"bin-path" => "'.$phpconfig['binary'].' -c '.$phpini_filename.'",'."\n";
|
$php_options_text.= "\t\t".'"check-local" => "enable",'."\n";
|
||||||
$php_options_text.= "\t\t".'"bin-environment" => ('."\n";
|
$php_options_text.= "\t\t".'"disable-time" => 1'."\n";
|
||||||
if((int)$domain['mod_fcgid_starter'] != - 1)
|
$php_options_text.= "\t".')'."\n";
|
||||||
|
$php_options_text.= "\t".')'."\n";
|
||||||
|
$php_options_text.= ' )'."\n";
|
||||||
|
}
|
||||||
|
// vhost data for fcgid
|
||||||
|
elseif((int)$this->settings['system']['mod_fcgid'] == 1)
|
||||||
|
{
|
||||||
|
$php_options_text = ' fastcgi.server = ( '."\n";
|
||||||
|
$file_extensions = explode(' ', $phpconfig['file_extensions']);
|
||||||
|
foreach($file_extensions as $f_extension)
|
||||||
{
|
{
|
||||||
$php_options_text.= "\t\t\t".'"PHP_FCGI_CHILDREN" => "' . (int)$domain['mod_fcgid_starter'] . '",'."\n";
|
$php_options_text.= "\t".'".'.$f_extension.'" => ('."\n";
|
||||||
}
|
$php_options_text.= "\t\t".'"localhost" => ('."\n";
|
||||||
else
|
$php_options_text.= "\t\t".'"socket" => "/var/run/lighttpd/'.$domain['loginname'].'-'.$domain['domain'].'-php.socket",'."\n";
|
||||||
{
|
$php_options_text.= "\t\t".'"bin-path" => "'.$phpconfig['binary'].' -c '.$php->getInterface()->getIniFile().'",'."\n";
|
||||||
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
$php_options_text.= "\t\t".'"bin-environment" => ('."\n";
|
||||||
|
if((int)$domain['mod_fcgid_starter'] != - 1)
|
||||||
{
|
{
|
||||||
$php_options_text.= "\t\t\t".'"PHP_FCGI_CHILDREN" => "' . (int)$phpconfig['mod_fcgid_starter'] . '",'."\n";
|
$php_options_text.= "\t\t\t".'"PHP_FCGI_CHILDREN" => "' . (int)$domain['mod_fcgid_starter'] . '",'."\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$php_options_text.= "\t\t\t".'"PHP_FCGI_CHILDREN" => "' . (int)$this->settings['system']['mod_fcgid_starter'] . '",'."\n";
|
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
||||||
|
{
|
||||||
|
$php_options_text.= "\t\t\t".'"PHP_FCGI_CHILDREN" => "' . (int)$phpconfig['mod_fcgid_starter'] . '",'."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$php_options_text.= "\t\t\t".'"PHP_FCGI_CHILDREN" => "' . (int)$this->settings['system']['mod_fcgid_starter'] . '",'."\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
if((int)$domain['mod_fcgid_maxrequests'] != - 1)
|
||||||
if((int)$domain['mod_fcgid_maxrequests'] != - 1)
|
|
||||||
{
|
|
||||||
$php_options_text.= "\t\t\t".'"PHP_FCGI_MAX_REQUESTS" => "' . (int)$domain['mod_fcgid_maxrequests'] . '"'."\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
|
||||||
{
|
{
|
||||||
$php_options_text.= "\t\t\t".'"PHP_FCGI_MAX_REQUESTS" => "' . (int)$phpconfig['mod_fcgid_maxrequests'] . '"'."\n";
|
$php_options_text.= "\t\t\t".'"PHP_FCGI_MAX_REQUESTS" => "' . (int)$domain['mod_fcgid_maxrequests'] . '"'."\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$php_options_text.= "\t\t\t".'"PHP_FCGI_MAX_REQUESTS" => "' . (int)$this->settings['system']['mod_fcgid_maxrequests'] . '"'."\n";
|
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
||||||
|
{
|
||||||
|
$php_options_text.= "\t\t\t".'"PHP_FCGI_MAX_REQUESTS" => "' . (int)$phpconfig['mod_fcgid_maxrequests'] . '"'."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$php_options_text.= "\t\t\t".'"PHP_FCGI_MAX_REQUESTS" => "' . (int)$this->settings['system']['mod_fcgid_maxrequests'] . '"'."\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
$php_options_text.= "\t\t".')'."\n";
|
||||||
$php_options_text.= "\t\t".')'."\n";
|
$php_options_text.= "\t".')'."\n";
|
||||||
$php_options_text.= "\t".')'."\n";
|
$php_options_text.= "\t".')'."\n";
|
||||||
$php_options_text.= "\t".')'."\n";
|
|
||||||
|
} // foreach extension
|
||||||
} // foreach extension
|
$php_options_text.= ' )'."\n";
|
||||||
$php_options_text.= ' )'."\n";
|
|
||||||
|
|
||||||
// create starter
|
|
||||||
|
|
||||||
$starter_file = "#!/bin/sh\n\n";
|
|
||||||
$starter_file.= "#\n";
|
|
||||||
$starter_file.= "# starter created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $domain['domain'] . "' with id #" . $domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n";
|
|
||||||
$starter_file.= "# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
|
||||||
$starter_file.= "#\n\n";
|
|
||||||
$starter_file.= "umask 022\n";
|
|
||||||
$starter_file.= "PHPRC=" . escapeshellarg($configdir) . "\n";
|
|
||||||
$starter_file.= "export PHPRC\n";
|
|
||||||
|
|
||||||
// set number of processes for one domain
|
|
||||||
|
|
||||||
if((int)$domain['mod_fcgid_starter'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$domain['mod_fcgid_starter'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$phpconfig['mod_fcgid_starter'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$this->settings['system']['mod_fcgid_starter'] . "\n";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$starter_file.= "export PHP_FCGI_CHILDREN\n";
|
// create starter-file | config-file
|
||||||
|
$php->getInterface()->createConfig($phpconfig);
|
||||||
// set number of maximum requests for one domain
|
|
||||||
|
// create php.ini
|
||||||
if((int)$domain['mod_fcgid_maxrequests'] != - 1)
|
// @TODO make php-fpm support this
|
||||||
{
|
$php->getInterface()->createIniFile($phpconfig);
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$domain['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$phpconfig['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$this->settings['system']['mod_fcgid_maxrequests'] . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$starter_file.= "export PHP_FCGI_MAX_REQUESTS\n";
|
|
||||||
|
|
||||||
// Set Binary
|
|
||||||
|
|
||||||
$starter_file.= "exec " . $phpconfig['binary'] . " -c " . escapeshellarg($configdir) . "\n";
|
|
||||||
|
|
||||||
//remove +i attibute, so starter can be overwritten
|
|
||||||
|
|
||||||
if(file_exists($starter_filename))
|
|
||||||
{
|
|
||||||
removeImmutable($starter_filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
$starter_file_handler = fopen($starter_filename, 'w');
|
|
||||||
fwrite($starter_file_handler, $starter_file);
|
|
||||||
fclose($starter_file_handler);
|
|
||||||
safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
|
|
||||||
safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($starter_filename));
|
|
||||||
setImmutable($starter_filename);
|
|
||||||
|
|
||||||
// define the php.ini
|
|
||||||
|
|
||||||
$openbasedir = '';
|
|
||||||
$openbasedirc = ';';
|
|
||||||
|
|
||||||
if($domain['openbasedir'] == '1')
|
|
||||||
{
|
|
||||||
$openbasedirc = '';
|
|
||||||
$_phpappendopenbasedir = '';
|
|
||||||
|
|
||||||
$_custom_openbasedir = explode(':', $this->settings['system']['mod_fcgid_peardir']);
|
|
||||||
foreach($_custom_openbasedir as $cobd)
|
|
||||||
{
|
|
||||||
$_phpappendopenbasedir .= appendOpenBasedirPath($cobd);
|
|
||||||
}
|
|
||||||
|
|
||||||
$_custom_openbasedir = explode(':', $this->settings['system']['phpappendopenbasedir']);
|
|
||||||
foreach($_custom_openbasedir as $cobd)
|
|
||||||
{
|
|
||||||
$_phpappendopenbasedir .= appendOpenBasedirPath($cobd);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($domain['openbasedir_path'] == '0' && strstr($domain['documentroot'], ":") === false)
|
|
||||||
{
|
|
||||||
$openbasedir = appendOpenBasedirPath($domain['documentroot'], true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$openbasedir = appendOpenBasedirPath($domain['customerroot'], true);
|
|
||||||
}
|
|
||||||
|
|
||||||
$openbasedir .= appendOpenBasedirPath($tmpdir);
|
|
||||||
$openbasedir .= $_phpappendopenbasedir;
|
|
||||||
|
|
||||||
$openbasedir = explode(':', $openbasedir);
|
|
||||||
$clean_openbasedir = array();
|
|
||||||
foreach($openbasedir as $number => $path)
|
|
||||||
{
|
|
||||||
if(trim($path) != '/')
|
|
||||||
{
|
|
||||||
$clean_openbasedir[] = makeCorrectDir($path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$openbasedir = implode(':', $clean_openbasedir);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$openbasedir = 'none';
|
|
||||||
$openbasedirc = ';';
|
|
||||||
}
|
|
||||||
|
|
||||||
$admin = $this->getAdminData($domain['adminid']);
|
|
||||||
$php_ini_variables = array(
|
|
||||||
'SAFE_MODE' => ($domain['safemode'] == '0' ? 'Off' : 'On'),
|
|
||||||
'PEAR_DIR' => $this->settings['system']['mod_fcgid_peardir'],
|
|
||||||
'OPEN_BASEDIR' => $openbasedir,
|
|
||||||
'OPEN_BASEDIR_C' => $openbasedirc,
|
|
||||||
'OPEN_BASEDIR_GLOBAL' => $this->settings['system']['phpappendopenbasedir'],
|
|
||||||
'TMP_DIR' => $tmpdir,
|
|
||||||
'CUSTOMER_EMAIL' => $domain['email'],
|
|
||||||
'ADMIN_EMAIL' => $admin['email'],
|
|
||||||
'DOMAIN' => $domain['domain'],
|
|
||||||
'CUSTOMER' => $domain['loginname'],
|
|
||||||
'ADMIN' => $admin['loginname']
|
|
||||||
);
|
|
||||||
|
|
||||||
//insert a small header for the file
|
|
||||||
|
|
||||||
$phpini_file = ";\n";
|
|
||||||
$phpini_file.= "; php.ini created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $domain['domain'] . "' with id #" . $domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n";
|
|
||||||
$phpini_file.= "; Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
|
||||||
$phpini_file.= ";\n\n";
|
|
||||||
$phpini_file.= replace_variables($phpconfig['phpsettings'], $php_ini_variables);
|
|
||||||
$phpini_file = str_replace('"none"', 'none', $phpini_file);
|
|
||||||
$phpini_file = preg_replace('/\"+/', '"', $phpini_file);
|
|
||||||
$phpini_file_handler = fopen($phpini_filename, 'w');
|
|
||||||
fwrite($phpini_file_handler, $phpini_file);
|
|
||||||
fclose($phpini_file_handler);
|
|
||||||
safe_exec('chown root:0 ' . escapeshellarg($phpini_filename));
|
|
||||||
safe_exec('chmod 0644 ' . escapeshellarg($phpini_filename));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -272,36 +117,46 @@ class lighttpd_fcgid extends lighttpd
|
|||||||
return $php_options_text;
|
return $php_options_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPhpConfig($php_config_id)
|
public function createOwnVhostStarter()
|
||||||
{
|
{
|
||||||
$php_config_id = intval($php_config_id);
|
if ($this->settings['phpfpm']['enabled'] == '1'
|
||||||
|
&& $this->settings['phpfpm']['enabled_ownvhost'] == '1'
|
||||||
|
) {
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); // /var/www/froxlor, needed for chown
|
||||||
|
|
||||||
// If domain has no config, we will use the default one.
|
$user = $this->settings['phpfpm']['vhost_httpuser'];
|
||||||
|
$group = $this->settings['phpfpm']['vhost_httpgroup'];
|
||||||
|
|
||||||
if($php_config_id == 0)
|
$domain = array(
|
||||||
{
|
'id' => 'none',
|
||||||
$php_config_id = 1;
|
'domain' => $this->settings['system']['hostname'],
|
||||||
|
'adminid' => 1, /* first admin-user (superadmin) */
|
||||||
|
'mod_fcgid_starter' => -1,
|
||||||
|
'mod_fcgid_maxrequests' => -1,
|
||||||
|
'guid' => $user,
|
||||||
|
'openbasedir' => 0,
|
||||||
|
'safemode' => '0',
|
||||||
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
|
'loginname' => 'froxlor.panel',
|
||||||
|
'documentroot' => $mypath
|
||||||
|
);
|
||||||
|
|
||||||
|
// all the files and folders have to belong to the local user
|
||||||
|
// now because we also use fcgid for our own vhost
|
||||||
|
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
||||||
|
|
||||||
|
// get php.ini for our own vhost
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
|
||||||
|
// @FIXME don't use fcgid settings, but we don't have anything else atm
|
||||||
|
$phpconfig = $php->getPhpConfig($this->settings['system']['mod_fcgid_defaultini_ownvhost']);
|
||||||
|
|
||||||
|
// create starter-file | config-file
|
||||||
|
$php->getInterface()->createConfig($phpconfig);
|
||||||
|
|
||||||
|
// create php.ini
|
||||||
|
// @TODO make php-fpm support this
|
||||||
|
$php->getInterface()->createIniFile($phpconfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isset($this->php_configs_cache[$php_config_id]))
|
|
||||||
{
|
|
||||||
$this->php_configs_cache[$php_config_id] = $this->getDB()->query_first("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "` WHERE `id` = " . (int)$php_config_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->php_configs_cache[$php_config_id];
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getAdminData($adminid)
|
|
||||||
{
|
|
||||||
$adminid = intval($adminid);
|
|
||||||
|
|
||||||
if(!isset($this->admin_cache[$adminid]))
|
|
||||||
{
|
|
||||||
$this->admin_cache[$adminid] = $this->getDB()->query_first("SELECT `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "` WHERE `adminid` = " . (int)$adminid);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->admin_cache[$adminid];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
998
scripts/jobs/cron_tasks.inc.http.30.nginx.php
Normal file
998
scripts/jobs/cron_tasks.inc.http.30.nginx.php
Normal file
@@ -0,0 +1,998 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Cron
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
if(@php_sapi_name() != 'cli'
|
||||||
|
&& @php_sapi_name() != 'cgi'
|
||||||
|
&& @php_sapi_name() != 'cgi-fcgi')
|
||||||
|
{
|
||||||
|
die('This script only works in the shell.');
|
||||||
|
}
|
||||||
|
|
||||||
|
class nginx
|
||||||
|
{
|
||||||
|
private $db = false;
|
||||||
|
private $logger = false;
|
||||||
|
private $debugHandler = false;
|
||||||
|
private $idnaConvert = false;
|
||||||
|
|
||||||
|
// protected
|
||||||
|
|
||||||
|
protected $settings = array();
|
||||||
|
protected $nginx_data = array();
|
||||||
|
protected $needed_htpasswds = array();
|
||||||
|
protected $auth_backend_loaded = false;
|
||||||
|
protected $htpasswds_data = array();
|
||||||
|
protected $known_htpasswdsfilenames = array();
|
||||||
|
protected $mod_accesslog_loaded = "0";
|
||||||
|
protected $vhost_root_autoindex = false;
|
||||||
|
protected $known_vhostfilenames = array();
|
||||||
|
|
||||||
|
public function __construct($db, $logger, $debugHandler, $idnaConvert, $settings)
|
||||||
|
{
|
||||||
|
$this->db = $db;
|
||||||
|
$this->logger = $logger;
|
||||||
|
$this->debugHandler = $debugHandler;
|
||||||
|
$this->idnaConvert = $idnaConvert;
|
||||||
|
$this->settings = $settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getDB()
|
||||||
|
{
|
||||||
|
return $this->db;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function reload()
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::reload: reloading nginx' . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading nginx');
|
||||||
|
safe_exec($this->settings['system']['apachereload_command']);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nginx does not auto-spawn fcgi-processes
|
||||||
|
*/
|
||||||
|
if ($this->settings['system']['phpreload_command'] != ''
|
||||||
|
&& (int)$this->settings['phpfpm']['enabled'] == 0
|
||||||
|
) {
|
||||||
|
fwrite($this->debugHandler, ' nginx::reload: restarting php processes' . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'restarting php processes');
|
||||||
|
safe_exec($this->settings['system']['phpreload_command']);
|
||||||
|
}
|
||||||
|
elseif((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::reload: reloading php-fpm' . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading php-fpm');
|
||||||
|
safe_exec(escapeshellcmd($this->settings['phpfpm']['reload']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createVirtualHosts()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createFileDirOptions()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* define a default ErrorDocument-statement, bug #unknown-yet
|
||||||
|
*/
|
||||||
|
private function _createStandardErrorHandler()
|
||||||
|
{
|
||||||
|
if($this->settings['defaultwebsrverrhandler']['enabled'] == '1'
|
||||||
|
&& ($this->settings['defaultwebsrverrhandler']['err401'] != ''
|
||||||
|
|| $this->settings['defaultwebsrverrhandler']['err403'] != ''
|
||||||
|
|| $this->settings['defaultwebsrverrhandler']['err404'] != ''
|
||||||
|
|| $this->settings['defaultwebsrverrhandler']['err500'] != '')
|
||||||
|
) {
|
||||||
|
$vhosts_folder = '';
|
||||||
|
if(is_dir($this->settings['system']['apacheconf_vhost']))
|
||||||
|
{
|
||||||
|
$vhosts_folder = makeCorrectDir($this->settings['system']['apacheconf_vhost']);
|
||||||
|
} else {
|
||||||
|
$vhosts_folder = makeCorrectDir(dirname($this->settings['system']['apacheconf_vhost']));
|
||||||
|
}
|
||||||
|
|
||||||
|
$vhosts_filename = makeCorrectFile($vhosts_folder . '/05_froxlor_default_errorhandler.conf');
|
||||||
|
|
||||||
|
if(!isset($this->nginx_data[$vhosts_filename]))
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhosts_filename] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->settings['defaultwebsrverrhandler']['err401'] != '')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhosts_filename].= 'error_page 401 ' . $this->settings['defaultwebsrverrhandler']['err401'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->settings['defaultwebsrverrhandler']['err403'] != '')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhosts_filename].= 'error_page 403 ' . $this->settings['defaultwebsrverrhandler']['err403'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->settings['defaultwebsrverrhandler']['err404'] != '')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhosts_filename].= 'error_page 404 ' . $this->settings['defaultwebsrverrhandler']['err404'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->settings['defaultwebsrverrhandler']['err500'] != '')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhosts_filename].= 'error_page 500 ' . $this->settings['defaultwebsrverrhandler']['err500'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createIpPort()
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM `" . TABLE_PANEL_IPSANDPORTS . "` ORDER BY `ip` ASC, `port` ASC";
|
||||||
|
$result_ipsandports = $this->db->query($query);
|
||||||
|
|
||||||
|
while($row_ipsandports = $this->db->fetch_array($result_ipsandports))
|
||||||
|
{
|
||||||
|
if(filter_var($row_ipsandports['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
||||||
|
{
|
||||||
|
$ip = '[' . $row_ipsandports['ip'] . ']';
|
||||||
|
$port = $row_ipsandports['port'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$ip = $row_ipsandports['ip'];
|
||||||
|
$port = $row_ipsandports['port'];
|
||||||
|
}
|
||||||
|
|
||||||
|
fwrite($this->debugHandler, ' nginx::createIpPort: creating ip/port settings for ' . $ip . ":" . $port . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'creating ip/port settings for ' . $ip . ":" . $port);
|
||||||
|
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/10_froxlor_ipandport_' . trim(str_replace(':', '.', $row_ipsandports['ip']), '.') . '.' . $row_ipsandports['port'] . '.conf');
|
||||||
|
|
||||||
|
if(!isset($this->nginx_data[$vhost_filename]))
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhost_filename] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->nginx_data[$vhost_filename].= 'server { ' . "\n";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this HAS to be set for the default host in nginx or else no vhost will work
|
||||||
|
*/
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t". 'listen ' . $ip . ':' . $port . ' default;' . "\n";
|
||||||
|
|
||||||
|
if($row_ipsandports['vhostcontainer'] == '1')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'# Froxlor default vhost' . "\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'server_name ' . $this->settings['system']['hostname'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'access_log /var/log/nginx/access.log;' . "\n";
|
||||||
|
|
||||||
|
if($row_ipsandports['vhostcontainer'] == '1')
|
||||||
|
{
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__))));
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'root '.$mypath.';'."\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'location / {'."\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t\t".'index index.php index.html index.htm;'."\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'}'."\n";
|
||||||
|
|
||||||
|
if($row_ipsandports['specialsettings'] != '')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhost_filename].= $row_ipsandports['specialsettings'] . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SSL config options
|
||||||
|
*/
|
||||||
|
if($row_ipsandports['ssl'] == '1')
|
||||||
|
{
|
||||||
|
if($row_ipsandports['ssl_cert_file'] == '')
|
||||||
|
{
|
||||||
|
$row_ipsandports['ssl_cert_file'] = $this->settings['system']['ssl_cert_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_key_file'] == '')
|
||||||
|
{
|
||||||
|
$row_ipsandports['ssl_key_file'] = $this->settings['system']['ssl_key_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_ca_file'] == '')
|
||||||
|
{
|
||||||
|
$row_ipsandports['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_cert_file'] != '')
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t" . 'ssl on;' . "\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t" . 'ssl_certificate ' . makeCorrectFile($row_ipsandports['ssl_cert_file']) . ';' . "\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t" . 'ssl_certificate_key ' .makeCorrectFile($row_ipsandports['ssl_key_file']) . ';' . "\n";
|
||||||
|
|
||||||
|
if($row_ipsandports['ssl_ca_file'] != '')
|
||||||
|
{
|
||||||
|
$this->lighttpd_data[$vhost_filename].= 'ssl_client_certificate ' . makeCorrectFile($row_ipsandports['ssl_ca_file']) . ';' . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'location ~ \.php$ {'."\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_index index.php;'."\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;'."\n";
|
||||||
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
$domain = array(
|
||||||
|
'id' => 'none',
|
||||||
|
'domain' => $this->settings['system']['hostname'],
|
||||||
|
'adminid' => 1, /* first admin-user (superadmin) */
|
||||||
|
'mod_fcgid_starter' => -1,
|
||||||
|
'mod_fcgid_maxrequests' => -1,
|
||||||
|
'guid' => $this->settings['phpfpm']['vhost_httpuser'],
|
||||||
|
'openbasedir' => 0,
|
||||||
|
'safemode' => '0',
|
||||||
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
|
'loginname' => 'froxlor.panel',
|
||||||
|
'documentroot' => $mypath
|
||||||
|
);
|
||||||
|
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_pass unix:' . $php->getInterface()->getSocketFile() . ';' . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_pass ' . $this->settings['system']['nginx_php_backend'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
$this->nginx_data[$vhost_filename].= "\t".'}'."\n";
|
||||||
|
|
||||||
|
$this->nginx_data[$vhost_filename].= '}' . "\n\n";
|
||||||
|
// End of Froxlor server{}-part
|
||||||
|
|
||||||
|
$this->createNginxHosts($row_ipsandports['ip'], $row_ipsandports['port'], $row_ipsandports['ssl'], $vhost_filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* standard error pages
|
||||||
|
*/
|
||||||
|
$this->_createStandardErrorHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function createNginxHosts($ip, $port, $ssl, $vhost_filename)
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `ip`='" . $ip . "' AND `port`='" . $port . "'";
|
||||||
|
$ipandport = $this->db->query_first($query);
|
||||||
|
|
||||||
|
if($ssl == '0')
|
||||||
|
{
|
||||||
|
$query2 = "SELECT `d`.*, `pd`.`domain` AS `parentdomain`, `c`.`loginname`, `c`.`guid`, `c`.`email`, `c`.`documentroot` AS `customerroot`, `c`.`deactivated`, `c`.`phpenabled` AS `phpenabled` FROM `" . TABLE_PANEL_DOMAINS . "` `d` LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`) LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `pd` ON (`pd`.`id` = `d`.`parentdomainid`) WHERE `d`.`ipandport`='" . $ipandport['id'] . "' AND `d`.`aliasdomain` IS NULL ORDER BY `d`.`iswildcarddomain`, `d`.`domain` ASC";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$query2 = "SELECT `d`.*, `pd`.`domain` AS `parentdomain`, `c`.`loginname`, `c`.`guid`, `c`.`email`, `c`.`documentroot` AS `customerroot`, `c`.`deactivated`, `c`.`phpenabled` AS `phpenabled` FROM `" . TABLE_PANEL_DOMAINS . "` `d` LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`) LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `pd` ON (`pd`.`id` = `d`.`parentdomainid`) WHERE `d`.`ssl_ipandport`='" . $ipandport['id'] . "' AND `d`.`aliasdomain` IS NULL ORDER BY `d`.`iswildcarddomain`, `d`.`domain` ASC";
|
||||||
|
}
|
||||||
|
|
||||||
|
$included_vhosts = array();
|
||||||
|
$result_domains = $this->db->query($query2);
|
||||||
|
while($domain = $this->db->fetch_array($result_domains))
|
||||||
|
{
|
||||||
|
if (is_dir($this->settings['system']['apacheconf_vhost']))
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p '.escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])));
|
||||||
|
$vhost_filename = $this->getVhostFilename($domain);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isset($this->nginx_data[$vhost_filename]))
|
||||||
|
{
|
||||||
|
$this->nginx_data[$vhost_filename] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ipandport'] . "'";
|
||||||
|
$ipandport = $this->db->query_first($query);
|
||||||
|
$domain['ip'] = $ipandport['ip'];
|
||||||
|
$domain['port'] = $ipandport['port'];
|
||||||
|
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
||||||
|
|
||||||
|
if( (!empty($this->nginx_data[$vhost_filename]) && !is_dir($this->settings['system']['apacheconf_vhost']))
|
||||||
|
|| is_dir($this->settings['system']['apacheconf_vhost']))
|
||||||
|
{
|
||||||
|
if($ssl == '1')
|
||||||
|
{
|
||||||
|
$ssl_vhost = true;
|
||||||
|
$ips_and_ports_index = 'ssl_ipandport';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$ssl_vhost = false;
|
||||||
|
$ips_and_ports_index = 'ipandport';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->nginx_data[$vhost_filename].= $this->getVhostContent($domain, $ssl_vhost);
|
||||||
|
$this->nginx_data[$vhost_filename].= isset($this->needed_htpasswds[$domain[$ips_and_ports_index]]) ? $this->needed_htpasswds[$domain[$ips_and_ports_index]] . "\n" : '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getVhostFilename($domain, $ssl_vhost = false)
|
||||||
|
{
|
||||||
|
if((int)$domain['parentdomainid'] == 0
|
||||||
|
&& isCustomerStdSubdomain((int)$domain['id']) == false
|
||||||
|
&& ((int)$domain['ismainbutsubto'] == 0
|
||||||
|
|| domainMainToSubExists($domain['ismainbutsubto']) == false)
|
||||||
|
) {
|
||||||
|
$vhost_no = '22';
|
||||||
|
}
|
||||||
|
elseif((int)$domain['parentdomainid'] == 0
|
||||||
|
&& isCustomerStdSubdomain((int)$domain['id']) == false
|
||||||
|
&& (int)$domain['ismainbutsubto'] > 0
|
||||||
|
) {
|
||||||
|
$vhost_no = '21';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$vhost_no = '20';
|
||||||
|
}
|
||||||
|
|
||||||
|
if($ssl_vhost === true)
|
||||||
|
{
|
||||||
|
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/'.$vhost_no.'_froxlor_ssl_vhost_' . $domain['domain'] . '.conf');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/'.$vhost_no.'_froxlor_normal_vhost_' . $domain['domain'] . '.conf');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $vhost_filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getVhostContent($domain, $ssl_vhost = false)
|
||||||
|
{
|
||||||
|
if($ssl_vhost === true
|
||||||
|
&& $domain['ssl'] != '1')
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if($ssl_vhost === true
|
||||||
|
&& $domain['ssl'] == '1')
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ssl_ipandport'] . "'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ipandport'] . "'";
|
||||||
|
}
|
||||||
|
|
||||||
|
$ipandport = $this->db->query_first($query);
|
||||||
|
$domain['ip'] = $ipandport['ip'];
|
||||||
|
$domain['port'] = $ipandport['port'];
|
||||||
|
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
||||||
|
|
||||||
|
if(filter_var($domain['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
|
||||||
|
{
|
||||||
|
$ipport = '[' . $domain['ip'] . ']:' . $domain['port'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$ipport = $domain['ip'] . ':' . $domain['port'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$vhost_content = '';
|
||||||
|
$vhost_content.= 'server { ' . "\n";
|
||||||
|
$vhost_content.= "\t" . 'listen ' . $ipport . ';' . "\n";
|
||||||
|
|
||||||
|
$vhost_content.= $this->getServerNames($domain);
|
||||||
|
|
||||||
|
// respect ssl_redirect settings, #542
|
||||||
|
if($ssl_vhost == false
|
||||||
|
&& $domain['ssl'] == '1'
|
||||||
|
&& $domain['ssl_redirect'] == '1'
|
||||||
|
) {
|
||||||
|
$domain['documentroot'] = 'https://' . $domain['domain'] . '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
if(preg_match('/^https?\:\/\//', $domain['documentroot']))
|
||||||
|
{
|
||||||
|
$vhost_content.= "\t".'rewrite ^(.*) '.$this->idnaConvert->encode($domain['documentroot']).'$1 permanent;'."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mkDirWithCorrectOwnership($domain['customerroot'], $domain['documentroot'], $domain['guid'], $domain['guid'], true);
|
||||||
|
|
||||||
|
$vhost_content.= $this->getLogFiles($domain);
|
||||||
|
$vhost_content.= $this->getWebroot($domain, $ssl_vhost);
|
||||||
|
$vhost_content.= $this->create_pathOptions($domain);
|
||||||
|
//$vhost_content.= $this->create_htaccess($domain);
|
||||||
|
$vhost_content.= $this->composePhpOptions($domain);
|
||||||
|
$vhost_content.= $this->getStats($domain);
|
||||||
|
|
||||||
|
if ($domain['specialsettings'] != "") {
|
||||||
|
$vhost_content.= $domain['specialsettings'] . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$vhost_content.= '}' . "\n\n";
|
||||||
|
|
||||||
|
return $vhost_content;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function create_pathOptions($domain)
|
||||||
|
{
|
||||||
|
$has_location = false;
|
||||||
|
|
||||||
|
$query = "SELECT * FROM " . TABLE_PANEL_HTACCESS . " WHERE `path` LIKE '" . $domain['documentroot'] . "%'";
|
||||||
|
$result = $this->db->query($query);
|
||||||
|
|
||||||
|
$path_options = '';
|
||||||
|
|
||||||
|
$htpasswds = $this->getHtpasswds($domain);
|
||||||
|
|
||||||
|
while($row = $this->db->fetch_array($result))
|
||||||
|
{
|
||||||
|
if(!empty($row['error404path']))
|
||||||
|
{
|
||||||
|
$path_options.= "\t".'error_page 404 ' . $row['error404path'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($row['error403path']))
|
||||||
|
{
|
||||||
|
$path_options.= "\t".'error_page 403 ' . $row['error403path'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($row['error500path']))
|
||||||
|
{
|
||||||
|
$path_options.= "\t".'error_page 502 503 504 ' . $row['error500path'] . ';' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row['options_indexes'] != '0')
|
||||||
|
{
|
||||||
|
$path = makeCorrectDir(substr($row['path'], strlen($domain['documentroot']) - 1));
|
||||||
|
|
||||||
|
mkDirWithCorrectOwnership($domain['documentroot'], $row['path'], $domain['guid'], $domain['guid']);
|
||||||
|
|
||||||
|
if (trim($path) == '/') {
|
||||||
|
$this->vhost_root_autoindex = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$path_options.= "\t".'location ' . $path . ' {' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'autoindex on;' . "\n";
|
||||||
|
// check if we have a htpasswd for this path
|
||||||
|
// (damn nginx does not like more than one
|
||||||
|
// 'location'-part with the same path)
|
||||||
|
if(count($htpasswds) > 0)
|
||||||
|
{
|
||||||
|
foreach($htpasswds as $idx => $single)
|
||||||
|
{
|
||||||
|
if($path == $single['path'])
|
||||||
|
{
|
||||||
|
$path_options.= "\t\t" . 'auth_basic "Restricted Area";' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'auth_basic_user_file ' . $single['usrf'] . ';'."\n";
|
||||||
|
// remove already used entries so we do not have doubles
|
||||||
|
unset($htpasswds[$idx]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$path_options.= "\t".'}' . "\n";
|
||||||
|
|
||||||
|
$this->vhost_root_autoindex = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perl suport
|
||||||
|
* required the fastCGI wrapper to be running to receive the CGI requests.
|
||||||
|
*/
|
||||||
|
if(customerHasPerlEnabled($domain['customerid'])
|
||||||
|
&& $row['options_cgi'] != '0')
|
||||||
|
{
|
||||||
|
$path = makeCorrectDir(substr($row['path'], strlen($domain['documentroot']) - 1));
|
||||||
|
mkDirWithCorrectOwnership($domain['documentroot'], $row['path'], $domain['guid'], $domain['guid']);
|
||||||
|
|
||||||
|
// We need to remove the last slash, otherwise the regex wouldn't work
|
||||||
|
if($row['path'] != $domain['documentroot']) {
|
||||||
|
$path = substr($path, 0, -1);
|
||||||
|
}
|
||||||
|
$path_options.= "\t" . 'location ~ \(.pl|.cgi)$ {' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'fastcgi_pass '. $this->settings['system']['perl_server'] . ';' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'fastcgi_index index.cgi;' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'include /etc/nginx/fastcgi_params;'."\n";
|
||||||
|
$path_options.= "\t" . '}' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* now the rest of the htpasswds
|
||||||
|
*/
|
||||||
|
if(count($htpasswds) > 0)
|
||||||
|
{
|
||||||
|
foreach($htpasswds as $idx => $single)
|
||||||
|
{
|
||||||
|
$path_options.= "\t" . 'location ' . $single['path'] . ' {' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'auth_basic "Restricted Area";' . "\n";
|
||||||
|
$path_options.= "\t\t" . 'auth_basic_user_file ' . $single['usrf'] . ';'."\n";
|
||||||
|
$path_options.= "\t".'}' . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $path_options;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getHtpasswds($domain)
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM " . TABLE_PANEL_HTPASSWDS . " WHERE `customerid`='" . $domain['customerid'] . "'";
|
||||||
|
$result = $this->db->query($query);
|
||||||
|
|
||||||
|
$returnval = array();
|
||||||
|
$x = 0;
|
||||||
|
while($row_htpasswds = $this->db->fetch_array($result))
|
||||||
|
{
|
||||||
|
if(count($row_htpasswds['htpasswds']) > 0)
|
||||||
|
{
|
||||||
|
$htpasswd_filename = makeCorrectFile($this->settings['system']['apacheconf_htpasswddir'] . '/' . $row_htpasswds['customerid'] . '-' . md5($row_htpasswds['path']) . '.htpasswd');
|
||||||
|
|
||||||
|
if(!isset($this->htpasswds_data[$htpasswd_filename]))
|
||||||
|
{
|
||||||
|
$this->htpasswds_data[$htpasswd_filename] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($row['htpasswds'] as $row_htpasswd)
|
||||||
|
{
|
||||||
|
$this->htpasswds_data[$htpasswd_filename].= $row_htpasswd['username'] . ':' . $row_htpasswd['password'] . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$path = makeCorrectDir(substr($row['path'], strlen($domain['documentroot']) - 1));
|
||||||
|
|
||||||
|
$returnval[$x]['path'] = $path;
|
||||||
|
$returnval[$x]['root'] = makeCorrectDir($domain['documentroot']);
|
||||||
|
$returnval[$x]['usrf'] = $htpasswd_filename;
|
||||||
|
$x++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $returnval;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function composePhpOptions($domain)
|
||||||
|
{
|
||||||
|
$phpopts = '';
|
||||||
|
if($domain['phpenabled'] == '1')
|
||||||
|
{
|
||||||
|
$phpopts = "\t".'location ~ \.php$ {'."\n";
|
||||||
|
$phpopts.= "\t\t".'fastcgi_index index.php;'."\n";
|
||||||
|
$phpopts.= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
|
||||||
|
$phpopts.= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;'."\n";
|
||||||
|
$phpopts.= "\t\t".'fastcgi_pass ' . $this->settings['system']['nginx_php_backend'] . ';' . "\n";
|
||||||
|
$phpopts.= "\t".'}'."\n";
|
||||||
|
}
|
||||||
|
return $phpopts;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getWebroot($domain, $ssl)
|
||||||
|
{
|
||||||
|
$webroot_text = '';
|
||||||
|
|
||||||
|
if($domain['deactivated'] == '1'
|
||||||
|
&& $this->settings['system']['deactivateddocroot'] != '')
|
||||||
|
{
|
||||||
|
$webroot_text.= "\t".'# Using docroot for deactivated users...' . "\n";
|
||||||
|
$webroot_text.= "\t".'root '.$this->settings['system']['deactivateddocroot'].';'."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$webroot_text.= "\t".'root '.makeCorrectDir($domain['documentroot']).';'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$webroot_text.= "\t".'location / {'."\n";
|
||||||
|
$webroot_text.= "\t\t".'index index.php index.html index.htm;'."\n";
|
||||||
|
|
||||||
|
if($this->vhost_root_autoindex) {
|
||||||
|
$webroot_text.= "\t\t".'autoindex on;'."\n";
|
||||||
|
$this->vhost_root_autoindex = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$webroot_text.= "\t".'}'."\n";
|
||||||
|
|
||||||
|
return $webroot_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getStats($domain)
|
||||||
|
{
|
||||||
|
$stats_text = '';
|
||||||
|
|
||||||
|
if($domain['speciallogfile'] == '1'
|
||||||
|
&& $this->settings['system']['mod_log_sql'] != '1')
|
||||||
|
{
|
||||||
|
if($domain['parentdomainid'] == '0')
|
||||||
|
{
|
||||||
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /awstats {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t\t" . '}' . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /webalizer {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['domain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /awstats {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t\t" . '}' . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /webalizer {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['parentdomain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($domain['customerroot'] != $domain['documentroot'])
|
||||||
|
{
|
||||||
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /awstats {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t\t" . '}' . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /webalizer {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['domain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if the docroots are equal, we still have to set an alias for awstats
|
||||||
|
// because the stats are in /awstats/[domain], not just /awstats/
|
||||||
|
// also, the awstats-icons are someplace else too!
|
||||||
|
// -> webalizer does not need this!
|
||||||
|
elseif($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
$stats_text.= "\t" . 'location /awstats {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['documentroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t" . '}' . "\n";
|
||||||
|
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
|
||||||
|
$stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
|
||||||
|
$stats_text.= "\t\t" . '}' . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return $stats_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @TODO mod_log_sql
|
||||||
|
*/
|
||||||
|
protected function getLogFiles($domain)
|
||||||
|
{
|
||||||
|
$logfiles_text = '';
|
||||||
|
|
||||||
|
if($domain['speciallogfile'] == '1'
|
||||||
|
&& $this->settings['system']['mod_log_sql'] != '1')
|
||||||
|
{
|
||||||
|
if($domain['parentdomainid'] == '0')
|
||||||
|
{
|
||||||
|
$speciallogfile = '-' . $domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$speciallogfile = '-' . $domain['parentdomain'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$speciallogfile = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// The normal access/error - logging is enabled
|
||||||
|
$error_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-error.log');
|
||||||
|
// Create the logfile if it does not exist (fixes #46)
|
||||||
|
touch($error_log);
|
||||||
|
chown($error_log, $this->settings['system']['httpuser']);
|
||||||
|
chgrp($error_log, $this->settings['system']['httpgroup']);
|
||||||
|
|
||||||
|
$access_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log');
|
||||||
|
// Create the logfile if it does not exist (fixes #46)
|
||||||
|
touch($access_log);
|
||||||
|
chown($access_log, $this->settings['system']['httpuser']);
|
||||||
|
chgrp($access_log, $this->settings['system']['httpgroup']);
|
||||||
|
|
||||||
|
$logfiles_text.= "\t".'access_log ' . $access_log . ' combined;' . "\n";
|
||||||
|
$logfiles_text.= "\t".'error_log ' . $error_log . ' error;' . "\n";
|
||||||
|
|
||||||
|
if($this->settings['system']['awstats_enabled'] == '1')
|
||||||
|
{
|
||||||
|
if((int)$domain['parentdomainid'] == 0)
|
||||||
|
{
|
||||||
|
// prepare the aliases and subdomains for stats config files
|
||||||
|
|
||||||
|
$server_alias = '';
|
||||||
|
$alias_domains = $this->db->query('SELECT `domain`, `iswildcarddomain`, `wwwserveralias` FROM `' . TABLE_PANEL_DOMAINS . '`
|
||||||
|
WHERE `aliasdomain`=\'' . $domain['id'] . '\'
|
||||||
|
OR `parentdomainid` =\''. $domain['id']. '\'');
|
||||||
|
|
||||||
|
while(($alias_domain = $this->db->fetch_array($alias_domains)) !== false)
|
||||||
|
{
|
||||||
|
$server_alias.= ' ' . $alias_domain['domain'] . ' ';
|
||||||
|
|
||||||
|
if($alias_domain['iswildcarddomain'] == '1')
|
||||||
|
{
|
||||||
|
$server_alias.= '*.' . $domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($alias_domain['wwwserveralias'] == '1')
|
||||||
|
{
|
||||||
|
$server_alias.= 'www.' . $alias_domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$server_alias.= '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($domain['iswildcarddomain'] == '1')
|
||||||
|
{
|
||||||
|
$alias = '*.' . $domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($domain['wwwserveralias'] == '1')
|
||||||
|
{
|
||||||
|
$alias = 'www.' . $domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$alias = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// After inserting the AWStats information,
|
||||||
|
// be sure to build the awstats conf file as well
|
||||||
|
// and chown it using $awstats_params, #258
|
||||||
|
$awstats_params = array(
|
||||||
|
'loginname' => $domain['loginname'],
|
||||||
|
'guid' => $domain['guid'],
|
||||||
|
'documentroot' => $domain['documentroot']
|
||||||
|
);
|
||||||
|
createAWStatsConf($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log', $domain['domain'], $alias . $server_alias, $domain['customerroot'], $awstats_params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $logfiles_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createOwnVhostStarter()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getServerNames($domain)
|
||||||
|
{
|
||||||
|
$server_alias = '';
|
||||||
|
|
||||||
|
if($domain['iswildcarddomain'] == '1')
|
||||||
|
{
|
||||||
|
$server_alias = '*.' . $domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($domain['wwwserveralias'] == '1')
|
||||||
|
{
|
||||||
|
$server_alias = 'www.' . $domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$server_alias = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$alias_domains = $this->db->query('SELECT `domain`, `iswildcarddomain`, `wwwserveralias` FROM `' . TABLE_PANEL_DOMAINS . '` WHERE `aliasdomain`=\'' . $domain['id'] . '\'');
|
||||||
|
|
||||||
|
while(($alias_domain = $this->db->fetch_array($alias_domains)) !== false)
|
||||||
|
{
|
||||||
|
$server_alias.= ' ' . $alias_domain['domain'];
|
||||||
|
|
||||||
|
if($alias_domain['iswildcarddomain'] == '1')
|
||||||
|
{
|
||||||
|
$server_alias.= ' *.' . $alias_domain['domain'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($alias_domain['wwwserveralias'] == '1')
|
||||||
|
{
|
||||||
|
$server_alias.= ' www.' . $alias_domain['domain'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$servernames_text = "\t".'server_name '.$domain['domain'];
|
||||||
|
if(trim($server_alias) != '')
|
||||||
|
{
|
||||||
|
$servernames_text.= ' '.$server_alias;
|
||||||
|
}
|
||||||
|
$servernames_text.= ';' . "\n";
|
||||||
|
|
||||||
|
return $servernames_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeConfigs()
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::writeConfigs: rebuilding ' . $this->settings['system']['apacheconf_vhost'] . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, "rebuilding " . $this->settings['system']['apacheconf_vhost']);
|
||||||
|
|
||||||
|
if(!isConfigDir($this->settings['system']['apacheconf_vhost']))
|
||||||
|
{
|
||||||
|
// Save one big file
|
||||||
|
$vhosts_file = '';
|
||||||
|
|
||||||
|
// sort by filename so the order is:
|
||||||
|
// 1. subdomains
|
||||||
|
// 2. subdomains as main-domains
|
||||||
|
// 3. main-domains
|
||||||
|
ksort($this->nginx_data);
|
||||||
|
|
||||||
|
foreach($this->nginx_data as $vhosts_filename => $vhost_content)
|
||||||
|
{
|
||||||
|
$vhosts_file.= $vhost_content . "\n\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$vhosts_filename = $this->settings['system']['apacheconf_vhost'];
|
||||||
|
|
||||||
|
// Apply header
|
||||||
|
|
||||||
|
$vhosts_file = '# ' . basename($vhosts_filename) . "\n" . '# Created ' . date('d.m.Y H:i') . "\n" . '# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.' . "\n" . "\n" . $vhosts_file;
|
||||||
|
$vhosts_file_handler = fopen($vhosts_filename, 'w');
|
||||||
|
fwrite($vhosts_file_handler, $vhosts_file);
|
||||||
|
fclose($vhosts_file_handler);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(!file_exists($this->settings['system']['apacheconf_vhost']))
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::writeConfigs: mkdir ' . escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])) . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_NOTICE, 'mkdir ' . escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])));
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write a single file for every vhost
|
||||||
|
|
||||||
|
foreach($this->nginx_data as $vhosts_filename => $vhosts_file)
|
||||||
|
{
|
||||||
|
$this->known_filenames[] = basename($vhosts_filename);
|
||||||
|
|
||||||
|
// Apply header
|
||||||
|
|
||||||
|
$vhosts_file = '# ' . basename($vhosts_filename) . "\n" . '# Created ' . date('d.m.Y H:i') . "\n" . '# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.' . "\n" . "\n" . $vhosts_file;
|
||||||
|
|
||||||
|
if(!empty($vhosts_filename))
|
||||||
|
{
|
||||||
|
$vhosts_file_handler = fopen($vhosts_filename, 'w');
|
||||||
|
fwrite($vhosts_file_handler, $vhosts_file);
|
||||||
|
fclose($vhosts_file_handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->wipeOutOldVhostConfigs();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* htaccess stuff
|
||||||
|
*/
|
||||||
|
if(count($this->htpasswds_data) > 0)
|
||||||
|
{
|
||||||
|
if(!file_exists($this->settings['system']['apacheconf_htpasswddir']))
|
||||||
|
{
|
||||||
|
$umask = umask();
|
||||||
|
umask(0000);
|
||||||
|
mkdir($this->settings['system']['apacheconf_htpasswddir'], 0751);
|
||||||
|
umask($umask);
|
||||||
|
}
|
||||||
|
elseif(!is_dir($this->settings['system']['apacheconf_htpasswddir']))
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' cron_tasks: WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!' . "\n");
|
||||||
|
echo 'WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!';
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_WARNING, 'WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_dir($this->settings['system']['apacheconf_htpasswddir']))
|
||||||
|
{
|
||||||
|
foreach($this->htpasswds_data as $htpasswd_filename => $htpasswd_file)
|
||||||
|
{
|
||||||
|
$this->known_htpasswdsfilenames[] = basename($htpasswd_filename);
|
||||||
|
$htpasswd_file_handler = fopen($htpasswd_filename, 'w');
|
||||||
|
fwrite($htpasswd_file_handler, $htpasswd_file);
|
||||||
|
fclose($htpasswd_file_handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->wipeOutOldHtpasswdConfigs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function wipeOutOldVhostConfigs()
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::wipeOutOldVhostConfigs: cleaning ' . $this->settings['system']['apacheconf_vhost'] . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, "cleaning " . $this->settings['system']['apacheconf_vhost']);
|
||||||
|
|
||||||
|
if(isConfigDir($this->settings['system']['apacheconf_vhost'], true))
|
||||||
|
{
|
||||||
|
$vhost_file_dirhandle = opendir($this->settings['system']['apacheconf_vhost']);
|
||||||
|
|
||||||
|
while(false !== ($vhost_filename = readdir($vhost_file_dirhandle)))
|
||||||
|
{
|
||||||
|
if($vhost_filename != '.'
|
||||||
|
&& $vhost_filename != '..'
|
||||||
|
&& !in_array($vhost_filename, $this->known_filenames)
|
||||||
|
&& preg_match('/^(05|10|20|21|22|30|50|51)_(froxlor|syscp)_(dirfix|ipandport|normal_vhost|wildcard_vhost|ssl_vhost)_(.+)\.conf$/', $vhost_filename)
|
||||||
|
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::wipeOutOldVhostConfigs: unlinking ' . $vhost_filename . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_NOTICE, 'unlinking ' . $vhost_filename);
|
||||||
|
unlink(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We remove old htpasswd config files
|
||||||
|
*/
|
||||||
|
protected function wipeOutOldHtpasswdConfigs()
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::wipeOutOldHtpasswdConfigs: cleaning ' . $this->settings['system']['apacheconf_htpasswddir'] . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, "cleaning " . $this->settings['system']['apacheconf_htpasswddir']);
|
||||||
|
|
||||||
|
if(isConfigDir($this->settings['system']['apacheconf_htpasswddir'])
|
||||||
|
&& file_exists($this->settings['system']['apacheconf_htpasswddir'])
|
||||||
|
&& is_dir($this->settings['system']['apacheconf_htpasswddir']))
|
||||||
|
{
|
||||||
|
$htpasswds_file_dirhandle = opendir($this->settings['system']['apacheconf_htpasswddir']);
|
||||||
|
|
||||||
|
while(false !== ($htpasswd_filename = readdir($htpasswds_file_dirhandle)))
|
||||||
|
{
|
||||||
|
if($htpasswd_filename != '.'
|
||||||
|
&& $htpasswd_filename != '..'
|
||||||
|
&& !in_array($htpasswd_filename, $this->known_htpasswdsfilenames)
|
||||||
|
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_htpasswddir'] . '/' . $htpasswd_filename)))
|
||||||
|
{
|
||||||
|
fwrite($this->debugHandler, ' nginx::wipeOutOldHtpasswdConfigs: unlinking ' . $htpasswd_filename . "\n");
|
||||||
|
$this->logger->logAction(CRON_ACTION, LOG_NOTICE, 'unlinking ' . $htpasswd_filename);
|
||||||
|
unlink(makeCorrectFile($this->settings['system']['apacheconf_htpasswddir'] . '/' . $htpasswd_filename));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
104
scripts/jobs/cron_tasks.inc.http.35.nginx_phpfpm.php
Normal file
104
scripts/jobs/cron_tasks.inc.http.35.nginx_phpfpm.php
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Cron
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This script creates the php.ini's used by mod_suPHP+php-cgi
|
||||||
|
*/
|
||||||
|
|
||||||
|
if(@php_sapi_name() != 'cli'
|
||||||
|
&& @php_sapi_name() != 'cgi'
|
||||||
|
&& @php_sapi_name() != 'cgi-fcgi')
|
||||||
|
{
|
||||||
|
die('This script only works in the shell.');
|
||||||
|
}
|
||||||
|
|
||||||
|
class nginx_phpfpm extends nginx
|
||||||
|
{
|
||||||
|
protected function composePhpOptions($domain)
|
||||||
|
{
|
||||||
|
$php_options_text = '';
|
||||||
|
|
||||||
|
if($domain['phpenabled'] == '1')
|
||||||
|
{
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
$phpconfig = $php->getPhpConfig((int)$domain['phpsettingid']);
|
||||||
|
|
||||||
|
$php_options_text = "\t".'location ~ \.php$ {'."\n";
|
||||||
|
$php_options_text.= "\t\t".'fastcgi_index index.php;'."\n";
|
||||||
|
$php_options_text.= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
|
||||||
|
$php_options_text.= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;'."\n";
|
||||||
|
$php_options_text.= "\t\t".'fastcgi_pass unix:' . $php->getInterface()->getSocketFile() . ';' . "\n";
|
||||||
|
$php_options_text.= "\t".'}'."\n";
|
||||||
|
|
||||||
|
// create starter-file | config-file
|
||||||
|
$php->getInterface()->createConfig($phpconfig);
|
||||||
|
|
||||||
|
// create php.ini
|
||||||
|
// @TODO make php-fpm support this
|
||||||
|
$php->getInterface()->createIniFile($phpconfig);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$php_options_text.= ' # PHP is disabled for this vHost' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $php_options_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createOwnVhostStarter()
|
||||||
|
{
|
||||||
|
if ($this->settings['phpfpm']['enabled'] == '1'
|
||||||
|
&& $this->settings['phpfpm']['enabled_ownvhost'] == '1'
|
||||||
|
) {
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); // /var/www/froxlor, needed for chown
|
||||||
|
|
||||||
|
$user = $this->settings['phpfpm']['vhost_httpuser'];
|
||||||
|
$group = $this->settings['phpfpm']['vhost_httpgroup'];
|
||||||
|
|
||||||
|
$domain = array(
|
||||||
|
'id' => 'none',
|
||||||
|
'domain' => $this->settings['system']['hostname'],
|
||||||
|
'adminid' => 1, /* first admin-user (superadmin) */
|
||||||
|
'mod_fcgid_starter' => -1,
|
||||||
|
'mod_fcgid_maxrequests' => -1,
|
||||||
|
'guid' => $user,
|
||||||
|
'openbasedir' => 0,
|
||||||
|
'safemode' => '0',
|
||||||
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
|
'loginname' => 'froxlor.panel',
|
||||||
|
'documentroot' => $mypath
|
||||||
|
);
|
||||||
|
|
||||||
|
// all the files and folders have to belong to the local user
|
||||||
|
// now because we also use fcgid for our own vhost
|
||||||
|
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
||||||
|
|
||||||
|
// get php.ini for our own vhost
|
||||||
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
|
|
||||||
|
// @FIXME don't use fcgid settings, but we don't have anything else atm
|
||||||
|
$phpconfig = $php->getPhpConfig($this->settings['system']['mod_fcgid_defaultini_ownvhost']);
|
||||||
|
|
||||||
|
// create starter-file | config-file
|
||||||
|
$php->getInterface()->createConfig($phpconfig);
|
||||||
|
|
||||||
|
// create php.ini
|
||||||
|
// @TODO make php-fpm support this
|
||||||
|
$php->getInterface()->createIniFile($phpconfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,6 +25,8 @@ require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.10.apache
|
|||||||
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.15.apache_fcgid.php'));
|
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.15.apache_fcgid.php'));
|
||||||
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.20.lighttpd.php'));
|
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.20.lighttpd.php'));
|
||||||
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.25.lighttpd_fcgid.php'));
|
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.25.lighttpd_fcgid.php'));
|
||||||
|
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.30.nginx.php'));
|
||||||
|
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.35.nginx_phpfpm.php'));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LOOK INTO TASKS TABLE TO SEE IF THERE ARE ANY UNDONE JOBS
|
* LOOK INTO TASKS TABLE TO SEE IF THERE ARE ANY UNDONE JOBS
|
||||||
@@ -55,7 +57,7 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
{
|
{
|
||||||
$awstatsclean['header'] = "## GENERATED BY FROXLOR\n";
|
$awstatsclean['header'] = "## GENERATED BY FROXLOR\n";
|
||||||
$awstatsclean['headerold'] = "## GENERATED BY SYSCP\n";
|
$awstatsclean['headerold'] = "## GENERATED BY SYSCP\n";
|
||||||
$awstatsclean['path'] = '/etc/awstats';
|
$awstatsclean['path'] = $settings['system']['awstats_conf'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dont do anyting if the directory not exists
|
* dont do anyting if the directory not exists
|
||||||
@@ -66,7 +68,7 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
{
|
{
|
||||||
$awstatsclean['dir'] = dir($awstatsclean['path']);
|
$awstatsclean['dir'] = dir($awstatsclean['path']);
|
||||||
while($awstatsclean['entry'] = $awstatsclean['dir']->read()) {
|
while($awstatsclean['entry'] = $awstatsclean['dir']->read()) {
|
||||||
$awstatsclean['fullentry'] = $awstatsclean['path'].'/'.$awstatsclean['entry'];
|
$awstatsclean['fullentry'] = makeCorrectFile($awstatsclean['path'].'/'.$awstatsclean['entry']);
|
||||||
/**
|
/**
|
||||||
* dont do anything if the file does not exist
|
* dont do anything if the file does not exist
|
||||||
*/
|
*/
|
||||||
@@ -76,8 +78,9 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
$awstatsclean['headerRead'] = fgets($awstatsclean['fh'], strlen($awstatsclean['header'])+1);
|
$awstatsclean['headerRead'] = fgets($awstatsclean['fh'], strlen($awstatsclean['header'])+1);
|
||||||
fclose($awstatsclean['fh']);
|
fclose($awstatsclean['fh']);
|
||||||
if($awstatsclean['headerRead'] == $awstatsclean['header'] || $awstatsclean['headerRead'] == $awstatsclean['headerold']) {
|
if($awstatsclean['headerRead'] == $awstatsclean['header'] || $awstatsclean['headerRead'] == $awstatsclean['headerold']) {
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_INFO, "Removing awstats configuration ".$awstatsclean['fullentry']." for re-creation");
|
$awstats_conf_file = makeCorrectFile($awstatsclean['fullentry']);
|
||||||
@unlink($awstatsclean['fullentry']);
|
$cronlog->logAction(CRON_ACTION, LOG_INFO, "Removing awstats configuration ".$awstats_conf_file." for re-creation");
|
||||||
|
@unlink($awstats_conf_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -119,11 +122,25 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clear php-fpm-configurations prior to re-creation to keep it clean
|
||||||
|
if ($settings['phpfpm']['enabled'] == '1')
|
||||||
|
{
|
||||||
|
$configdir = makeCorrectDir($settings['phpfpm']['configdir']);
|
||||||
|
|
||||||
|
if (is_dir($configdir))
|
||||||
|
{
|
||||||
|
// now get rid of old stuff
|
||||||
|
//(but append /* so we don't delete the directory)
|
||||||
|
$configdir.='/*';
|
||||||
|
safe_exec('rm -rf '. makeCorrectFile($configdir));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(!isset($webserver))
|
if(!isset($webserver))
|
||||||
{
|
{
|
||||||
if($settings['system']['webserver'] == "apache2")
|
if($settings['system']['webserver'] == "apache2")
|
||||||
{
|
{
|
||||||
if($settings['system']['mod_fcgid'] == 1)
|
if($settings['system']['mod_fcgid'] == 1 || $settings['phpfpm']['enabled'] == 1)
|
||||||
{
|
{
|
||||||
$webserver = new apache_fcgid($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
$webserver = new apache_fcgid($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
||||||
}
|
}
|
||||||
@@ -134,7 +151,7 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
}
|
}
|
||||||
elseif($settings['system']['webserver'] == "lighttpd")
|
elseif($settings['system']['webserver'] == "lighttpd")
|
||||||
{
|
{
|
||||||
if($settings['system']['mod_fcgid'] == 1)
|
if($settings['system']['mod_fcgid'] == 1 || $settings['phpfpm']['enabled'] == 1)
|
||||||
{
|
{
|
||||||
$webserver = new lighttpd_fcgid($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
$webserver = new lighttpd_fcgid($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
||||||
}
|
}
|
||||||
@@ -143,6 +160,17 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
$webserver = new lighttpd($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
$webserver = new lighttpd($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif($settings['system']['webserver'] == "nginx")
|
||||||
|
{
|
||||||
|
if($settings['phpfpm']['enabled'] == 1)
|
||||||
|
{
|
||||||
|
$webserver = new nginx_phpfpm($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$webserver = new nginx($db, $cronlog, $debugHandler, $idna_convert, $settings);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($webserver))
|
if(isset($webserver))
|
||||||
|
|||||||
@@ -17,48 +17,6 @@
|
|||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* chowns either awstats or webalizer folder,
|
|
||||||
* either with webserver-user or - if fcgid
|
|
||||||
* is used - the customers name, #258
|
|
||||||
*
|
|
||||||
* @param array $row array if panel_customers
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function makeChownWithNewStats($row)
|
|
||||||
{
|
|
||||||
global $settings;
|
|
||||||
|
|
||||||
// get correct user
|
|
||||||
if($settings['system']['mod_fcgid'] == 1)
|
|
||||||
{
|
|
||||||
$user = $row['loginname'];
|
|
||||||
$group = $row['loginname'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$user = $row['guid'];
|
|
||||||
$group = $row['guid'];
|
|
||||||
}
|
|
||||||
|
|
||||||
// get correct directory
|
|
||||||
$dir = $row['documentroot'];
|
|
||||||
if($settings['system']['awstats_enabled'] == '1')
|
|
||||||
{
|
|
||||||
$dir .= '/awstats/';
|
|
||||||
} else {
|
|
||||||
$dir .= '/webalizer/';
|
|
||||||
}
|
|
||||||
|
|
||||||
// only run chown if directory exists
|
|
||||||
if (file_exists($dir))
|
|
||||||
{
|
|
||||||
// run chown
|
|
||||||
safe_exec('chown -R '.escapeshellarg($user).':'.escapeshellarg($group).' '.escapeshellarg(makeCorrectDir($dir)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function awstatsDoSingleDomain($domain, $outputdir)
|
function awstatsDoSingleDomain($domain, $outputdir)
|
||||||
{
|
{
|
||||||
global $cronlog, $settings;
|
global $cronlog, $settings;
|
||||||
@@ -144,7 +102,7 @@ function awstatsDoSingleDomain($domain, $outputdir)
|
|||||||
return $returnval;
|
return $returnval;
|
||||||
}
|
}
|
||||||
|
|
||||||
function callAwstatsGetTraffic($domain, $outputdir, $caption, $usersdomainlist)
|
function callAwstatsGetTraffic($customerid, $outputdir, $usersdomainlist)
|
||||||
{
|
{
|
||||||
global $settings, $db, $cronlog;
|
global $settings, $db, $cronlog;
|
||||||
$returnval = 0;
|
$returnval = 0;
|
||||||
@@ -169,7 +127,6 @@ function callAwstatsGetTraffic($domain, $outputdir, $caption, $usersdomainlist)
|
|||||||
* a sane value for our panel_traffic and to remain the whole stats
|
* a sane value for our panel_traffic and to remain the whole stats
|
||||||
* (awstats overwrites the customers .html stats-files)
|
* (awstats overwrites the customers .html stats-files)
|
||||||
*/
|
*/
|
||||||
$customerid = getCustomerIdByDomain($domain);
|
|
||||||
|
|
||||||
if($customerid !== false)
|
if($customerid !== false)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -165,15 +165,11 @@ while($row = $db->fetch_array($result))
|
|||||||
unset($domainlist[$row['customerid']][$domainid]);
|
unset($domainlist[$row['customerid']][$domainid]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($settings['system']['awstats_enabled'] == '1')
|
if($settings['system']['awstats_enabled'] == '0')
|
||||||
{
|
|
||||||
$httptraffic+= floatval(callAwstatsGetTraffic($domain, $row['documentroot'] . '/awstats/', $domain, $domainlist[$row['customerid']]));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
$httptraffic+= floatval(callWebalizerGetTraffic($row['loginname'] . '-' . $domain, $row['documentroot'] . '/webalizer/' . $domain . '/', $domain, $domainlist[$row['customerid']]));
|
$httptraffic+= floatval(callWebalizerGetTraffic($row['loginname'] . '-' . $domain, $row['documentroot'] . '/webalizer/' . $domain . '/', $domain, $domainlist[$row['customerid']]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reset($domainlist[$row['customerid']]);
|
reset($domainlist[$row['customerid']]);
|
||||||
@@ -183,9 +179,13 @@ while($row = $db->fetch_array($result))
|
|||||||
safeSQLLogfile($domainlist[$row['customerid']], $row['loginname']);
|
safeSQLLogfile($domainlist[$row['customerid']], $row['loginname']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// callAwstatsGetTraffic is called ONLY HERE and
|
||||||
|
// *not* also in the special-logfiles-loop, because the function
|
||||||
|
// will iterate through all customer-domains and the awstats-configs
|
||||||
|
// know the logfile-name, #246
|
||||||
if($settings['system']['awstats_enabled'] == '1')
|
if($settings['system']['awstats_enabled'] == '1')
|
||||||
{
|
{
|
||||||
$httptraffic+= floatval(callAwstatsGetTraffic($caption, $row['documentroot'] . '/awstats/', $caption, $domainlist[$row['customerid']]));
|
$httptraffic+= floatval(callAwstatsGetTraffic($row['customerid'], $row['documentroot'] . '/awstats/', $domainlist[$row['customerid']]));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -339,7 +339,7 @@ while($row = $db->fetch_array($result))
|
|||||||
{
|
{
|
||||||
$mysqlusage = floatval($mysqlusage_all[$row['customerid']] / 1024);
|
$mysqlusage = floatval($mysqlusage_all[$row['customerid']] / 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
$current_diskspace = array();
|
$current_diskspace = array();
|
||||||
$current_diskspace['webspace'] = floatval($webspaceusage);
|
$current_diskspace['webspace'] = floatval($webspaceusage);
|
||||||
$current_diskspace['mail'] = floatval($emailusage);
|
$current_diskspace['mail'] = floatval($emailusage);
|
||||||
|
|||||||
181
scripts/jobs/cron_usage.inc.diskspace.php
Normal file
181
scripts/jobs/cron_usage.inc.diskspace.php
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Cron
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* report about diskusage for customers
|
||||||
|
*/
|
||||||
|
$result = $db->query("SELECT
|
||||||
|
`c`.`customerid`, `c`.`adminid`, `c`.`name`, `c`.`firstname`, `c`.`diskspace`,
|
||||||
|
`c`.`diskspace_used`, `c`.`email`, `c`.`def_language`,
|
||||||
|
`a`.`name` AS `adminname`, `a`.`email` AS `adminmail`
|
||||||
|
FROM `" . TABLE_PANEL_CUSTOMERS . "` AS `c`
|
||||||
|
LEFT JOIN `" . TABLE_PANEL_ADMINS . "` AS `a`
|
||||||
|
ON `a`.`adminid` = `c`.`adminid`
|
||||||
|
WHERE `c`.`diskspace` > '0' AND `c`.`reportsent` <> '2'");
|
||||||
|
|
||||||
|
while($row = $db->fetch_array($result))
|
||||||
|
{
|
||||||
|
if(isset($row['diskspace'])
|
||||||
|
&& $row['diskspace_used'] != NULL
|
||||||
|
&& $row['diskspace_used'] > 0
|
||||||
|
&& (($row['diskspace_used'] * 100) / $row['diskspace']) >= (int)$settings['system']['report_webmax']
|
||||||
|
) {
|
||||||
|
|
||||||
|
$replace_arr = array(
|
||||||
|
'NAME' => $row['name'],
|
||||||
|
'DISKAVAILABLE' => ($row['diskspace'] / 1024), /* traffic is stored in KB, template uses MB */
|
||||||
|
'DISKUSED' => round($row['diskspace_used'] / 1024, 2), /* traffic is stored in KB, template uses MB */
|
||||||
|
'USAGE_PERCENT' => ($row['diskspace_used'] * 100) / $row['diskspace'],
|
||||||
|
'MAX_PERCENT' => $settings['system']['report_webmax']
|
||||||
|
);
|
||||||
|
|
||||||
|
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
||||||
|
WHERE `language` ='" . $row['def_language'] . "'");
|
||||||
|
|
||||||
|
if($lngfile !== NULL)
|
||||||
|
{
|
||||||
|
$langfile = $lngfile['file'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
||||||
|
WHERE `language` ='" . $settings['panel']['standardlanguage'] . "'");
|
||||||
|
$langfile = $lngfile['file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
include_once makeCorrectFile($pathtophpfiles . '/' . $langfile);
|
||||||
|
|
||||||
|
// Get mail templates from database; the ones from 'admin' are fetched for fallback
|
||||||
|
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
||||||
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
|
AND `templategroup`='mails'
|
||||||
|
AND `varname`='webmaxpercent_subject'");
|
||||||
|
$mail_subject = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['webmaxpercent']['subject']), $replace_arr));
|
||||||
|
|
||||||
|
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
||||||
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
|
AND `templategroup`='mails'
|
||||||
|
AND `varname`='webmaxpercent_mailbody'");
|
||||||
|
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['webmaxpercent']['mailbody']), $replace_arr));
|
||||||
|
|
||||||
|
$_mailerror = false;
|
||||||
|
try {
|
||||||
|
$mail->SetFrom($row['email'], $row['firstname'] . " " . $row['name']);
|
||||||
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
|
$mail->MsgHTML(nl2br($mail_body));
|
||||||
|
$mail->AddAddress($row['email'], $row['name']);
|
||||||
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
|
standard_error('errorsendingmail', $row["email"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$mail->ClearAddresses();
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `reportsent`='2'
|
||||||
|
WHERE `customerid`='" . (int)$row['customerid'] . "'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* report about diskusage for admins/reseller
|
||||||
|
*/
|
||||||
|
$result = $db->query("SELECT `a`.* FROM `" . TABLE_PANEL_ADMINS . "` `a` WHERE `a`.`reportsent` <> '2'");
|
||||||
|
|
||||||
|
while($row = $db->fetch_array($result))
|
||||||
|
{
|
||||||
|
if(isset($row['diskspace'])
|
||||||
|
&& $row['diskspace_used'] != NULL
|
||||||
|
&& $row['diskspace_used'] > 0
|
||||||
|
&& (($row['diskspace_used'] * 100) / $row['diskspace']) >= (int)$settings['system']['report_webmax']
|
||||||
|
) {
|
||||||
|
|
||||||
|
$replace_arr = array(
|
||||||
|
'NAME' => $row['name'],
|
||||||
|
'DISKAVAILABLE' => ($row['diskspace'] / 1024), /* traffic is stored in KB, template uses MB */
|
||||||
|
'DISKUSED' => round($row['diskspace_used'] / 1024, 2), /* traffic is stored in KB, template uses MB */
|
||||||
|
'USAGE_PERCENT' => ($row['diskspace_used'] * 100) / $row['diskspace'],
|
||||||
|
'MAX_PERCENT' => $settings['system']['report_webmax']
|
||||||
|
);
|
||||||
|
|
||||||
|
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
||||||
|
WHERE `language` ='" . $row['def_language'] . "'");
|
||||||
|
|
||||||
|
if($lngfile !== NULL)
|
||||||
|
{
|
||||||
|
$langfile = $lngfile['file'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
||||||
|
WHERE `language` ='" . $settings['panel']['standardlanguage'] . "'");
|
||||||
|
$langfile = $lngfile['file'];
|
||||||
|
}
|
||||||
|
|
||||||
|
include_once makeCorrectFile($pathtophpfiles . '/' . $langfile);
|
||||||
|
|
||||||
|
// Get mail templates from database; the ones from 'admin' are fetched for fallback
|
||||||
|
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
||||||
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
|
AND `templategroup`='mails'
|
||||||
|
AND `varname`='webmaxpercent_subject'");
|
||||||
|
$mail_subject = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['webmaxpercent']['subject']), $replace_arr));
|
||||||
|
|
||||||
|
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
||||||
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
|
AND `templategroup`='mails'
|
||||||
|
AND `varname`='webmaxpercent_mailbody'");
|
||||||
|
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['webmaxpercent']['mailbody']), $replace_arr));
|
||||||
|
|
||||||
|
$_mailerror = false;
|
||||||
|
try {
|
||||||
|
$mail->SetFrom($row['email'], $row['name']);
|
||||||
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
|
$mail->MsgHTML(nl2br($mail_body));
|
||||||
|
$mail->AddAddress($row['email'], $row['name']);
|
||||||
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
|
standard_error('errorsendingmail', $row["email"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$mail->ClearAddresses();
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_ADMINS . "` SET `reportsent`='2'
|
||||||
|
WHERE `adminid`='" . (int)$row['adminid'] . "'");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,18 +17,16 @@
|
|||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fwrite($debugHandler, 'Trafficreport run started...' . "\n");
|
fwrite($debugHandler, 'Web- and Traffic-usage reporting started...' . "\n");
|
||||||
$yesterday = time() - (60 * 60 * 24);
|
$yesterday = time() - (60 * 60 * 24);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the mailingsystem
|
* Initialize the mailingsystem
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require (dirname(__FILE__) . '/../lib/class.phpmailer.php');
|
|
||||||
$mail = new PHPMailer(true);
|
$mail = new PHPMailer(true);
|
||||||
$mail->SetFrom($settings['panel']['adminmail'], 'Froxlor Administrator');
|
$mail->SetFrom($settings['panel']['adminmail'], 'Froxlor Administrator');
|
||||||
|
|
||||||
// Warn the customers at 90% traffic-usage
|
// Warn the customers at xx% traffic-usage
|
||||||
|
|
||||||
$result = $db->query("SELECT `c`.`customerid`, `c`.`adminid`, `c`.`name`, `c`.`firstname`, `c`.`traffic`,
|
$result = $db->query("SELECT `c`.`customerid`, `c`.`adminid`, `c`.`name`, `c`.`firstname`, `c`.`traffic`,
|
||||||
`c`.`email`, `c`.`def_language`, `a`.`name` AS `adminname`, `a`.`email` AS `adminmail`,
|
`c`.`email`, `c`.`def_language`, `a`.`name` AS `adminname`, `a`.`email` AS `adminmail`,
|
||||||
@@ -38,19 +36,21 @@ $result = $db->query("SELECT `c`.`customerid`, `c`.`adminid`, `c`.`name`, `c`.`f
|
|||||||
AND `t`.`month` = '" . date("m", $yesterday) . "') as `traffic_used`
|
AND `t`.`month` = '" . date("m", $yesterday) . "') as `traffic_used`
|
||||||
FROM `" . TABLE_PANEL_CUSTOMERS . "` AS `c`
|
FROM `" . TABLE_PANEL_CUSTOMERS . "` AS `c`
|
||||||
LEFT JOIN `" . TABLE_PANEL_ADMINS . "` AS `a` ON `a`.`adminid` = `c`.`adminid`
|
LEFT JOIN `" . TABLE_PANEL_ADMINS . "` AS `a` ON `a`.`adminid` = `c`.`adminid`
|
||||||
WHERE `c`.`reportsent` = '0'");
|
WHERE `c`.`reportsent` <> '1'");
|
||||||
|
|
||||||
while($row = $db->fetch_array($result))
|
while($row = $db->fetch_array($result))
|
||||||
{
|
{
|
||||||
if(isset($row['traffic'])
|
if(isset($row['traffic'])
|
||||||
&& $row['traffic'] > 0
|
&& $row['traffic'] > 0
|
||||||
&& $row['traffic_used'] != NULL
|
&& $row['traffic_used'] != NULL
|
||||||
&& (($row['traffic_used'] * 100) / $row['traffic']) >= 90)
|
&& (($row['traffic_used'] * 100) / $row['traffic']) >= (int)$settings['system']['report_trafficmax'])
|
||||||
{
|
{
|
||||||
$replace_arr = array(
|
$replace_arr = array(
|
||||||
'NAME' => $row['name'],
|
'NAME' => $row['name'],
|
||||||
'TRAFFIC' => $row['traffic'],
|
'TRAFFIC' => ($row['traffic'] / 1024), /* traffic is stored in KB, template uses MB */
|
||||||
'TRAFFICUSED' => $row['traffic_used']
|
'TRAFFICUSED' => ($row['traffic_used'] / 1024), /* traffic is stored in KB, template uses MB */
|
||||||
|
'USAGE_PERCENT' => ($row['traffic_used'] * 100) / $row['traffic'],
|
||||||
|
'MAX_PERCENT' => $settings['system']['report_trafficmax']
|
||||||
);
|
);
|
||||||
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
||||||
WHERE `language` ='" . $row['def_language'] . "'");
|
WHERE `language` ='" . $row['def_language'] . "'");
|
||||||
@@ -74,21 +74,21 @@ while($row = $db->fetch_array($result))
|
|||||||
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
AND `language`='" . $db->escape($row['def_language']) . "'
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
AND `templategroup`='mails'
|
AND `templategroup`='mails'
|
||||||
AND `varname`='trafficninetypercent_subject'");
|
AND `varname`='trafficmaxpercent_subject'");
|
||||||
$mail_subject = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['subject']), $replace_arr));
|
$mail_subject = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficmaxpercent']['subject']), $replace_arr));
|
||||||
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
||||||
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
AND `language`='" . $db->escape($row['def_language']) . "'
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
AND `templategroup`='mails'
|
AND `templategroup`='mails'
|
||||||
AND `varname`='trafficninetypercent_mailbody'");
|
AND `varname`='trafficmaxpercent_mailbody'");
|
||||||
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['mailbody']), $replace_arr));
|
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficmaxpercent']['mailbody']), $replace_arr));
|
||||||
|
|
||||||
$_mailerror = false;
|
$_mailerror = false;
|
||||||
try {
|
try {
|
||||||
$mail->SetFrom($row['adminmail'], $row['adminname']);
|
$mail->SetFrom($row['adminmail'], $row['adminname']);
|
||||||
$mail->Subject = $mail_subject;
|
$mail->Subject = $mail_subject;
|
||||||
$mail->AltBody = $mail_body;
|
$mail->AltBody = $mail_body;
|
||||||
$mail->MsgHTML($mail_body);
|
$mail->MsgHTML(nl2br($mail_body));
|
||||||
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
|
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
|
||||||
$mail->Send();
|
$mail->Send();
|
||||||
} catch(phpmailerException $e) {
|
} catch(phpmailerException $e) {
|
||||||
@@ -101,8 +101,8 @@ while($row = $db->fetch_array($result))
|
|||||||
|
|
||||||
if($_mailerror)
|
if($_mailerror)
|
||||||
{
|
{
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $_mailerror);
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, 'Error sending mail: ' . $_mailerror);
|
||||||
standard_error('errorsendingmail', $row["email"]);
|
standard_error('errorsendingmail', $row['email']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mail->ClearAddresses();
|
$mail->ClearAddresses();
|
||||||
@@ -111,7 +111,7 @@ while($row = $db->fetch_array($result))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warn the admins at 90% traffic-usage
|
// Warn the admins at xx% traffic-usage
|
||||||
|
|
||||||
$result = $db->query("SELECT `a`.*,
|
$result = $db->query("SELECT `a`.*,
|
||||||
(SELECT SUM(`t`.`http` + `t`.`ftp_up` + `t`.`ftp_down` + `t`.`mail`)
|
(SELECT SUM(`t`.`http` + `t`.`ftp_up` + `t`.`ftp_down` + `t`.`mail`)
|
||||||
@@ -124,12 +124,14 @@ while($row = $db->fetch_array($result))
|
|||||||
{
|
{
|
||||||
if(isset($row['traffic'])
|
if(isset($row['traffic'])
|
||||||
&& $row['traffic'] > 0
|
&& $row['traffic'] > 0
|
||||||
&& (($row['traffic_used_total'] * 100) / $row['traffic']) >= 90)
|
&& (($row['traffic_used_total'] * 100) / $row['traffic']) >= (int)$settings['system']['report_trafficmax'])
|
||||||
{
|
{
|
||||||
$replace_arr = array(
|
$replace_arr = array(
|
||||||
'NAME' => $row['name'],
|
'NAME' => $row['name'],
|
||||||
'TRAFFIC' => $row['traffic'],
|
'TRAFFIC' => ($row['traffic'] / 1024), /* traffic is stored in KB, template uses MB */
|
||||||
'TRAFFICUSED' => $row['traffic_used_total']
|
'TRAFFICUSED' => ($row['traffic_used_total'] / 1024), /* traffic is stored in KB, template uses MB */
|
||||||
|
'USAGE_PERCENT' => ($row['traffic_used_total'] * 100) / $row['traffic'],
|
||||||
|
'MAX_PERCENT' => $settings['system']['report_trafficmax']
|
||||||
);
|
);
|
||||||
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
$lngfile = $db->query_first("SELECT `file` FROM `" . TABLE_PANEL_LANGUAGE . "`
|
||||||
WHERE `language` ='" . $row['def_language'] . "'");
|
WHERE `language` ='" . $row['def_language'] . "'");
|
||||||
@@ -153,21 +155,21 @@ while($row = $db->fetch_array($result))
|
|||||||
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
AND `language`='" . $db->escape($row['def_language']) . "'
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
AND `templategroup`='mails'
|
AND `templategroup`='mails'
|
||||||
AND `varname`='trafficninetypercent_subject'");
|
AND `varname`='trafficmaxpercent_subject'");
|
||||||
$mail_subject = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['subject']), $replace_arr));
|
$mail_subject = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficmaxpercent']['subject']), $replace_arr));
|
||||||
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
$result2 = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_TEMPLATES . "`
|
||||||
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
WHERE `adminid`='" . (int)$row['adminid'] . "'
|
||||||
AND `language`='" . $db->escape($row['def_language']) . "'
|
AND `language`='" . $db->escape($row['def_language']) . "'
|
||||||
AND `templategroup`='mails'
|
AND `templategroup`='mails'
|
||||||
AND `varname`='trafficninetypercent_mailbody'");
|
AND `varname`='trafficmaxpercent_mailbody'");
|
||||||
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['mailbody']), $replace_arr));
|
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficmaxpercent']['mailbody']), $replace_arr));
|
||||||
|
|
||||||
$_mailerror = false;
|
$_mailerror = false;
|
||||||
try {
|
try {
|
||||||
$mail->SetFrom($row['email'], $row['firstname'] . " " . $row['name']);
|
$mail->SetFrom($row['email'], $row['name']);
|
||||||
$mail->Subject = $mail_subject;
|
$mail->Subject = $mail_subject;
|
||||||
$mail->AltBody = $mail_body;
|
$mail->AltBody = $mail_body;
|
||||||
$mail->MsgHTML($mail_body);
|
$mail->MsgHTML(nl2br($mail_body));
|
||||||
$mail->AddAddress($row['email'], $row['name']);
|
$mail->AddAddress($row['email'], $row['name']);
|
||||||
$mail->Send();
|
$mail->Send();
|
||||||
} catch(phpmailerException $e) {
|
} catch(phpmailerException $e) {
|
||||||
@@ -185,7 +187,7 @@ while($row = $db->fetch_array($result))
|
|||||||
|
|
||||||
$mail->ClearAddresses();
|
$mail->ClearAddresses();
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_ADMINS . "` SET `reportsent`='1'
|
$db->query("UPDATE `" . TABLE_PANEL_ADMINS . "` SET `reportsent`='1'
|
||||||
WHERE `customerid`='" . (int)$row['adminid'] . "'");
|
WHERE `adminid`='" . (int)$row['adminid'] . "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Another month, let's build our report
|
// Another month, let's build our report
|
||||||
@@ -228,14 +230,17 @@ while($row = $db->fetch_array($result))
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($_mailerror) {
|
if ($_mailerror) {
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, 'Error sending mail: ' . $mailerr_msg);
|
||||||
standard_error('errorsendingmail', $row["email"]);
|
standard_error('errorsendingmail', $row['email']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mail->ClearAddresses();
|
$mail->ClearAddresses();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// include diskspace-usage report, #466
|
||||||
|
include dirname(__FILE__).'/cron_usage.inc.diskspace.php';
|
||||||
|
|
||||||
// Another month, reset the reportstatus
|
// Another month, reset the reportstatus
|
||||||
|
|
||||||
if(date('d') == '01')
|
if(date('d') == '01')
|
||||||
@@ -243,9 +248,3 @@ if(date('d') == '01')
|
|||||||
$db->query('UPDATE `' . TABLE_PANEL_CUSTOMERS . '` SET `reportsent` = \'0\';');
|
$db->query('UPDATE `' . TABLE_PANEL_CUSTOMERS . '` SET `reportsent` = \'0\';');
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_ADMINS . '` SET `reportsent` = \'0\';');
|
$db->query('UPDATE `' . TABLE_PANEL_ADMINS . '` SET `reportsent` = \'0\';');
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->query('UPDATE `' . TABLE_PANEL_SETTINGS . '` SET `value` = UNIX_TIMESTAMP()
|
|
||||||
WHERE `settinggroup` = \'system\' AND `varname` = \'last_traffic_report_run\' ');
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -21,17 +21,6 @@
|
|||||||
* RESET USED TICKETS COUNTER
|
* RESET USED TICKETS COUNTER
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fwrite($debugHandler, 'Used tickets reset run started...' . "\n");
|
fwrite($debugHandler, 'Resetting customers used ticket counter' . "\n");
|
||||||
$now = time();
|
$cronlog->logAction(CRON_ACTION, LOG_INFO, "Resetting customers used ticket counter");
|
||||||
$cycle = $settings['ticket']['reset_cycle'];
|
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `tickets_used` = '0'");
|
||||||
|
|
||||||
if($cycle == '0'
|
|
||||||
|| ($cycle == '1' && (date("j", $now) == '1' || date("j", $now) == '7' || date("j", $now) == '14' || date("j", $now) == '21'))
|
|
||||||
|| ($cycle == '2' && date("j", $now) == '1')
|
|
||||||
|| ($cycle == '3' && date("dm", $now) == '0101'))
|
|
||||||
{
|
|
||||||
fwrite($debugHandler, 'Resetting customers used ticket counter' . "\n");
|
|
||||||
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `tickets_used` = '0'");
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ $header
|
|||||||
<if $settings['system']['mail_quota_enabled'] == 1>
|
<if $settings['system']['mail_quota_enabled'] == 1>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="main_field_name">{$lng['customer']['email_quota']}: *</td>
|
<td class="main_field_name">{$lng['customer']['email_quota']}: *</td>
|
||||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="textul" name="email_quota" value="{$result['email_quota']}" maxlength="3" /> {$email_quota_ul}</td>
|
<td class="main_field_display" nowrap="nowrap"><input type="text" class="textul" name="email_quota" value="{$result['email_quota']}" maxlength="9" /> {$email_quota_ul}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</if>
|
</if>
|
||||||
<if $settings['autoresponder']['autoresponder_active'] == 1>
|
<if $settings['autoresponder']['autoresponder_active'] == 1>
|
||||||
|
|||||||
@@ -27,5 +27,5 @@
|
|||||||
<td class="field_name"><b><font color="green">{$row['emails_used']}</font></b>/<b><font color="#FD6204">{$row['emails']}</font></b><br /><b><font color="green">{$row['subdomains_used']}</font></b>/<b><font color="#FD6204">{$row['subdomains']}</font></b></td>
|
<td class="field_name"><b><font color="green">{$row['emails_used']}</font></b>/<b><font color="#FD6204">{$row['emails']}</font></b><br /><b><font color="green">{$row['subdomains_used']}</font></b>/<b><font color="#FD6204">{$row['subdomains']}</font></b></td>
|
||||||
<td class="field_name"><b><font color="green">{$row['email_accounts_used']}</font></b>/<b><font color="#FD6204">{$row['email_accounts']}</font></b><br /><b><font color="green">{$row['email_forwarders_used']}</font></b>/<b><font color="#FD6204">{$row['email_forwarders']}</font></b></td>
|
<td class="field_name"><b><font color="green">{$row['email_accounts_used']}</font></b>/<b><font color="#FD6204">{$row['email_accounts']}</font></b><br /><b><font color="green">{$row['email_forwarders_used']}</font></b>/<b><font color="#FD6204">{$row['email_forwarders']}</font></b></td>
|
||||||
<td class="field_name" style=" text-align: center; "><if $row['deactivated'] == '1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if><br />{$last_login}</td>
|
<td class="field_name" style=" text-align: center; "><if $row['deactivated'] == '1'>{$lng['panel']['yes']}<else>{$lng['panel']['no']}</if><br />{$last_login}</td>
|
||||||
<td class="field_name"><a href="$filename?s=$s&page=$page&action=edit&id={$row['customerid']}">{$lng['panel']['edit']}</a><br /><a href="$filename?s=$s&page=$page&action=delete&id={$row['customerid']}">{$lng['panel']['delete']}</a></td>
|
<td class="field_name">{$unlock_link}<a href="$filename?s=$s&page=$page&action=edit&id={$row['customerid']}">{$lng['panel']['edit']}</a><br /><a href="$filename?s=$s&page=$page&action=delete&id={$row['customerid']}">{$lng['panel']['delete']}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
12
templates/admin/froxlorclients/froxlorclient_settings.tpl
Normal file
12
templates/admin/froxlorclients/froxlorclient_settings.tpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<table cellpadding="5" cellspacing="4" border="0" align="center" class="maintable">
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" /> {$lng['admin']['froxlorclient_settings']} "{$client->Get('name')}"</b>
|
||||||
|
[<a href="$filename?page=clients&action=settings&part=&s=$s&id={$id}">{$lng['admin']['configfiles']['compactoverview']}</a>]</td>
|
||||||
|
</tr>
|
||||||
|
$fields
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle_apply_right" nowrap="nowrap" colspan="2">
|
||||||
|
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<if $_part != ''>
|
||||||
|
<input type="hidden" name="part" value="{$_part}" />
|
||||||
|
</if>
|
||||||
|
<input type="hidden" name="id" value="{$id}" />
|
||||||
|
</form>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
$footer
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<table cellpadding="5" cellspacing="4" border="0" align="center" class="maintable_60">
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle" align="center" colspan="3">
|
||||||
|
<b><img src="images/title.gif" alt="" /> {$lng['admin']['configfiles']['serverconfiguration']} "{$client->Get('name')}"</b>
|
||||||
|
[<a href="$filename?page=clients&action=settings&part=all&s=$s&id={$id}">{$lng['admin']['configfiles']['overview']}</a>]
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
$fields
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle_apply_right" nowrap="nowrap" colspan="3">
|
||||||
|
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /> <input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<tr>
|
||||||
|
<td class="maintitle_apply_left">
|
||||||
|
<b><img src="images/title.gif" alt="" /> {$title}</b>
|
||||||
|
</td>
|
||||||
|
<td class="main_field_display_small" nowrap="nowrap">{$option}</td>
|
||||||
|
<td class="main_field_display_small" nowrap="nowrap">
|
||||||
|
<if $activated == 1>
|
||||||
|
<a href="$filename?page=clients&action=settings&part=$part&s=$s&id={$server_id}">{$lng['admin']['configfiles']['serverconfiguration']}</a>
|
||||||
|
</if>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
29
templates/admin/froxlorclients/froxlorclients.tpl
Normal file
29
templates/admin/froxlorclients/froxlorclients.tpl
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
$header
|
||||||
|
<form action="$filename" method="post">
|
||||||
|
<input type="hidden" name="s" value="$s"/>
|
||||||
|
<input type="hidden" name="page" value="$page"/>
|
||||||
|
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle_search_left" colspan="3"><b><img src="images/title.gif" alt="" /> {$lng['menue']['multiserver']['clients']}</b></td>
|
||||||
|
<td class="maintitle_search_right" colspan="1">{$searchcode}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="field_display_border_left" style="width:70px;">#</td>
|
||||||
|
<td class="field_display">{$lng['admin']['froxlorclients']['name']} {$arrowcode['name']}<br />{$lng['admin']['froxlorclients']['desc']}</td>
|
||||||
|
<td class="field_display" style="width:35px;">{$lng['admin']['froxlorclients']['enabled']} {$arrowcode['enabled']}</td>
|
||||||
|
<td class="field_display_search" style="width:250px;">{$sortcode}</td>
|
||||||
|
</tr>
|
||||||
|
$froxlorclients
|
||||||
|
<if $pagingcode != ''>
|
||||||
|
<tr>
|
||||||
|
<td class="field_display_border_left" colspan="4" style=" text-align: center; ">{$pagingcode}</td>
|
||||||
|
</tr>
|
||||||
|
</if>
|
||||||
|
<tr>
|
||||||
|
<td class="field_display_border_left" colspan="4"><a href="$filename?page=$page&action=add&s=$s">{$lng['admin']['froxlorclients']['add']}</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
$footer
|
||||||
43
templates/admin/froxlorclients/froxlorclients_add.tpl
Normal file
43
templates/admin/froxlorclients/froxlorclients_add.tpl
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
$header
|
||||||
|
<form method="post" action="$filename">
|
||||||
|
<input type="hidden" name="s" value="$s" />
|
||||||
|
<input type="hidden" name="page" value="$page" />
|
||||||
|
<input type="hidden" name="action" value="$action" />
|
||||||
|
<table cellpadding="5" cellspacing="4" border="0" align="center" class="maintable_60">
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" /> {$lng['admin']['froxlorclients']['add']}</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="main_field_name" colspan="2">
|
||||||
|
<!-- tell people what this is about -->
|
||||||
|
{$lng['admin']['froxlorclients']['longdesc_add']}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="maintitle_apply_left">
|
||||||
|
<b><img src="images/title.gif" alt="" /> {$lng['admin']['froxlorclients']['client']}</b>
|
||||||
|
</td>
|
||||||
|
<td class="maintitle_apply_right" nowrap="nowrap">
|
||||||
|
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="main_field_name">{$lng['admin']['froxlorclients']['name']}:</td>
|
||||||
|
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="name" value="" size="255" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="main_field_name" valign="top">{$lng['admin']['froxlorclients']['desc']}:</td>
|
||||||
|
<td class="main_field_display" nowrap="nowrap"><textarea class="textarea_border" rows="12" cols="60" name="desc"></textarea></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="main_field_name" valign="top">{$lng['admin']['froxlorclients']['enabled']}:</td>
|
||||||
|
<td class="main_field_display" nowrap="nowrap">$client_enabled</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
$footer
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user