Compare commits
75 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f685956930 | ||
|
|
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 |
@@ -38,6 +38,14 @@ return array(
|
||||
'default' => false,
|
||||
'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(
|
||||
'label' => $lng['serversettings']['maxloginattempts'],
|
||||
'settinggroup' => 'login',
|
||||
|
||||
@@ -28,6 +28,7 @@ return array(
|
||||
'varname' => 'documentroot_prefix',
|
||||
'type' => 'string',
|
||||
'default' => '/var/customers/webs/',
|
||||
'plausibility_check_method' => 'checkPathConflicts',
|
||||
'save_method' => 'storeSettingField',
|
||||
),
|
||||
'system_ipaddress' => array(
|
||||
@@ -83,15 +84,6 @@ return array(
|
||||
'plausibility_check_method' => 'checkMysqlAccessHost',
|
||||
'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(
|
||||
'label' => $lng['serversettings']['index_file_extension'],
|
||||
'settinggroup' => 'system',
|
||||
|
||||
36
actions/admin/settings/125.multiserver.php
Normal file
36
actions/admin/settings/125.multiserver.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?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(
|
||||
'multiserver' => array(
|
||||
'title' => $lng['admin']['multiserver'],
|
||||
'fields' => array(
|
||||
'multiserver_enabled' => array(
|
||||
'label' => $lng['multiserver']['enabled'],
|
||||
'settinggroup' => 'multiserver',
|
||||
'varname' => 'enabled',
|
||||
'type' => 'bool',
|
||||
'default' => false,
|
||||
'save_method' => 'storeSettingField',
|
||||
'overview_option' => true,
|
||||
'disabled' => true
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
@@ -198,6 +198,7 @@ return array(
|
||||
'type' => 'bool',
|
||||
'default' => false,
|
||||
'save_method' => 'storeSettingField',
|
||||
'overview_option' => true
|
||||
),
|
||||
'system_ssl_cert_file' => array(
|
||||
'label' => $lng['serversettings']['ssl']['ssl_cert_file'],
|
||||
@@ -229,6 +230,16 @@ return array(
|
||||
'default' => '',
|
||||
'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(
|
||||
'label' => $lng['serversettings']['ssl']['openssl_cnf'],
|
||||
'settinggroup' => 'system',
|
||||
|
||||
@@ -36,6 +36,7 @@ return array(
|
||||
'type' => 'string',
|
||||
'string_type' => 'dir',
|
||||
'default' => '/var/www/php-fcgi-scripts/',
|
||||
'plausibility_check_method' => 'checkPathConflicts',
|
||||
'save_method' => 'storeSettingField',
|
||||
),
|
||||
'system_mod_fcgid_tmpdir' => array(
|
||||
|
||||
@@ -66,6 +66,15 @@ return array(
|
||||
'string_type' => 'dir',
|
||||
'default' => '/etc/awstats/',
|
||||
'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_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',
|
||||
'plausibility_check_method' => 'setCycleOfCronjob',
|
||||
),
|
||||
'ticket_concurrently_open' => array(
|
||||
'label' => $lng['serversettings']['ticket']['concurrentlyopen'],
|
||||
|
||||
@@ -188,6 +188,7 @@ if($page == 'customers'
|
||||
$db->query("DELETE FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `customerid`='" . (int)$id . "'");
|
||||
$domains_deleted = $db->affected_rows();
|
||||
$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_TRAFFIC . "` WHERE `customerid`='" . (int)$id . "'");
|
||||
$db->query("DELETE FROM `" . TABLE_MAIL_USERS . "` WHERE `customerid`='" . (int)$id . "'");
|
||||
|
||||
@@ -145,7 +145,9 @@ if($page == 'ipsandports'
|
||||
$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');
|
||||
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
|
||||
$docroot = validate($_POST['docroot'], 'docroot');
|
||||
|
||||
if($listen_statement != '1')
|
||||
{
|
||||
@@ -187,6 +189,20 @@ if($page == 'ipsandports'
|
||||
$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 . "'");
|
||||
|
||||
if($result_checkfordouble['id'] != '')
|
||||
@@ -195,7 +211,23 @@ if($page == 'ipsandports'
|
||||
}
|
||||
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))
|
||||
{
|
||||
@@ -241,7 +273,9 @@ if($page == 'ipsandports'
|
||||
$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');
|
||||
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
|
||||
$docroot = validate($_POST['docroot'], 'docroot');
|
||||
|
||||
if($listen_statement != '1')
|
||||
{
|
||||
@@ -283,6 +317,20 @@ if($page == 'ipsandports'
|
||||
$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
|
||||
&& $result['ip'] == $settings['system']['ipaddress']
|
||||
&& $result_sameipotherport['id'] == '')
|
||||
@@ -296,7 +344,26 @@ if($page == 'ipsandports'
|
||||
}
|
||||
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 . "'");
|
||||
inserttask('1');
|
||||
inserttask('4');
|
||||
|
||||
@@ -140,6 +140,7 @@ if($page == 'tickets'
|
||||
$cananswer = 1;
|
||||
}
|
||||
|
||||
$row['subject'] = html_entity_decode($row['subject']);
|
||||
if(strlen($row['subject']) > 20)
|
||||
{
|
||||
$row['subject'] = substr($row['subject'], 0, 17) . '...';
|
||||
|
||||
@@ -98,6 +98,7 @@ elseif($page == 'tickets')
|
||||
$cananswer = 0;
|
||||
}
|
||||
|
||||
$row['subject'] = html_entity_decode($row['subject']);
|
||||
if(strlen($row['subject']) > 20)
|
||||
{
|
||||
$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 |
39
index.php
39
index.php
@@ -49,7 +49,44 @@ if($action == 'login')
|
||||
}
|
||||
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)
|
||||
|
||||
@@ -337,6 +337,8 @@ CREATE TABLE `panel_ipsandports` (
|
||||
`ssl_key_file` varchar(255) NOT NULL,
|
||||
`ssl_ca_file` varchar(255) NOT NULL,
|
||||
`default_vhostconf_domain` text NOT NULL,
|
||||
`ssl_cert_chainfile` varchar(255) NOT NULL,
|
||||
`docroot` varchar(255) NOT NULL default '',
|
||||
PRIMARY KEY (`id`)
|
||||
) TYPE=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 (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 (22, 'panel', 'version', '0.9.13.1');
|
||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.14');
|
||||
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 (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 (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 (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 (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 (70, 'system', 'ssl_cert_file', '/etc/apache2/apache2.pem');
|
||||
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 (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 (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 (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 (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 (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 (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 (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 (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"');
|
||||
@@ -590,6 +591,9 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
||||
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 (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');
|
||||
|
||||
# --------------------------------------------------------
|
||||
|
||||
@@ -790,7 +794,7 @@ CREATE TABLE `panel_tickets` (
|
||||
`message` text NOT NULL,
|
||||
`dt` 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',
|
||||
`lastreplier` enum('0','1') NOT NULL default '0',
|
||||
`answerto` int(11) unsigned NOT NULL,
|
||||
@@ -992,13 +996,12 @@ 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 (2, 'froxlor/core', 'cron_legacy.php', '5 MINUTE', '1', 'cron_legacy');
|
||||
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 (4, 'froxlor/autoresponder', 'cron_autoresponder.php', '5 MINUTE', '0', 'cron_autoresponder');
|
||||
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 (6, 'froxlor/core', 'cron_traffic.php', '1 DAY', '1', 'cron_traffic');
|
||||
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 (8, 'froxlor/ticket', 'cron_ticketarchive.php', '1 MONTH', '1', 'cron_ticketarchive');
|
||||
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/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/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_ticketarchive.php', '1 MONTH', '1', 'cron_ticketarchive');
|
||||
|
||||
# --------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1096,3 +1096,156 @@ if(isFroxlorVersion('0.9.14-svn1'))
|
||||
|
||||
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');
|
||||
}
|
||||
|
||||
/*
|
||||
* 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-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');
|
||||
}
|
||||
|
||||
if(isFroxlorVersion('0.9.14-svn10'))
|
||||
{
|
||||
showUpdateStep("Updating from 0.9.14-svn10 to 0.9.14 final");
|
||||
lastStepStatus(0);
|
||||
|
||||
updateToVersion('0.9.14');
|
||||
}
|
||||
|
||||
@@ -310,4 +310,45 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
|
||||
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") . "\";");
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,10 @@ class ticket
|
||||
|
||||
// initialize purifier
|
||||
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
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
return Array(
|
||||
'debian_etch' => Array(
|
||||
'label' => 'Debian 4.0 (Etch)',
|
||||
'label' => 'Debian 4.0 (Etch) [deprecated]',
|
||||
'services' => Array(
|
||||
'http' => Array(
|
||||
'label' => $lng['admin']['configfiles']['http'],
|
||||
@@ -137,8 +137,28 @@ return Array(
|
||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||
),
|
||||
'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_mxaccess' => Array(
|
||||
@@ -260,18 +280,6 @@ return 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(
|
||||
|
||||
@@ -181,6 +181,7 @@ return Array(
|
||||
'postmap /etc/postfix/mx_access'
|
||||
),
|
||||
'restart' => Array(
|
||||
'newaliases',
|
||||
'/etc/init.d/postfix restart'
|
||||
)
|
||||
),
|
||||
@@ -336,18 +337,6 @@ milter_default_action = accept" >> /etc/postfix/main.cf'
|
||||
'/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(
|
||||
'label' => 'Awstats',
|
||||
'commands' => Array(
|
||||
|
||||
@@ -132,8 +132,28 @@ return Array(
|
||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||
),
|
||||
'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(
|
||||
@@ -298,18 +318,6 @@ return 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(
|
||||
|
||||
@@ -133,8 +133,28 @@ return Array(
|
||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||
),
|
||||
'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(
|
||||
@@ -303,18 +323,6 @@ return 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(
|
||||
|
||||
@@ -133,8 +133,28 @@ return Array(
|
||||
'etc_postfix_sasl_smtpd.conf' => '/etc/postfix/sasl/smtpd.conf'
|
||||
),
|
||||
'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(
|
||||
@@ -304,18 +324,6 @@ return 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(
|
||||
|
||||
@@ -93,6 +93,7 @@ return Array(
|
||||
'chgrp postfix /usr/lib/sasl2/smtpd.conf'
|
||||
),
|
||||
'restart' => Array(
|
||||
'newaliases',
|
||||
'/etc/init.d/postfix restart'
|
||||
)
|
||||
),
|
||||
|
||||
@@ -182,6 +182,14 @@ if((int)$settings['system']['mod_fcgid_ownvhost'] == 1)
|
||||
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'])
|
||||
|| $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)));
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* @return null
|
||||
*/
|
||||
|
||||
function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot)
|
||||
function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot, $awstats_params = array())
|
||||
{
|
||||
global $pathtophpfiles, $settings;
|
||||
|
||||
@@ -41,6 +41,8 @@ function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot
|
||||
{
|
||||
safe_exec('mkdir -p '.escapeshellarg($awstats_dir));
|
||||
}
|
||||
// chown created folder, #258
|
||||
makeChownWithNewStats($awstats_params);
|
||||
|
||||
// weird but could happen...
|
||||
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,7 +38,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
||||
{
|
||||
$db->query('DELETE FROM `' . TABLE_PANEL_TASKS . '` WHERE `type`="' . $type . '"');
|
||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`) VALUES ("' . $type . '")');
|
||||
$doupdate = true;
|
||||
}
|
||||
elseif($type == '2'
|
||||
&& $param1 != ''
|
||||
@@ -53,7 +52,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
||||
$data['store_defaultindex'] = $param4;
|
||||
$data = serialize($data);
|
||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("2", "' . $db->escape($data) . '")');
|
||||
$doupdate = true;
|
||||
}
|
||||
elseif($type == '6'
|
||||
&& $param1 != '')
|
||||
@@ -62,7 +60,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
||||
$data['loginname'] = $param1;
|
||||
$data = serialize($data);
|
||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("6", "' . $db->escape($data) . '")');
|
||||
$doupdate = true;
|
||||
}
|
||||
elseif($type == '7'
|
||||
&& $param1 != ''
|
||||
@@ -73,7 +70,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
||||
$data['email'] = $param2;
|
||||
$data = serialize($data);
|
||||
$db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("7", "' . $db->escape($data) . '")');
|
||||
$doupdate = true;
|
||||
}
|
||||
elseif($type == '8'
|
||||
&& $param1 != ''
|
||||
@@ -84,49 +80,5 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '
|
||||
$data['homedir'] = $param2;
|
||||
$data = serialize($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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,25 +17,55 @@
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
function loadConfigArrayDir($data_dirname)
|
||||
function loadConfigArrayDir()
|
||||
{
|
||||
// Workaround until we use gettext
|
||||
global $lng;
|
||||
|
||||
$data = array();
|
||||
|
||||
if(is_dir($data_dirname))
|
||||
{
|
||||
$data_files = array();
|
||||
$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;
|
||||
}
|
||||
// we now use dynamic function parameters
|
||||
// so we can read from more than one directory
|
||||
// and still be valid for old calls
|
||||
$numargs = func_num_args();
|
||||
if($numargs <= 0) { return null; }
|
||||
|
||||
// variable that holds all dirs that will
|
||||
// be parsed for inclusion
|
||||
$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);
|
||||
|
||||
foreach($data_files as $data_filename)
|
||||
@@ -43,6 +73,24 @@ function loadConfigArrayDir($data_dirname)
|
||||
$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;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
* @param bool Set to true to get an array with debug information
|
||||
* @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)
|
||||
@@ -158,6 +159,16 @@ function updateCounters($returndebuginfo = false)
|
||||
$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_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'] . '"');
|
||||
@@ -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_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)
|
||||
{
|
||||
@@ -294,9 +322,34 @@ function updateCounters($returndebuginfo = false)
|
||||
$admin_resources[$admin['adminid']]['subdomains_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'];
|
||||
$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)
|
||||
{
|
||||
|
||||
@@ -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 no
|
||||
* @param string Value which is chosen by default
|
||||
* @param bool Whether this element is disabled or not (default: false)
|
||||
* @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;
|
||||
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>';
|
||||
}
|
||||
|
||||
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
|
||||
$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))
|
||||
{
|
||||
return true;
|
||||
|
||||
32
lib/navigation/30.multiserver.php
Normal file
32
lib/navigation/30.multiserver.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?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 Navigation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
return array (
|
||||
'admin' => array (
|
||||
'multiserver' => array (
|
||||
'label' => $lng['admin']['multiserver'],
|
||||
'required_resources' => 'change_serversettings',
|
||||
'show_element' => ( getSetting('multiserver', 'enabled') == true ),
|
||||
'elements' => array (
|
||||
array (
|
||||
'url' => 'admin_clients.php?page=clients',
|
||||
'label' => $lng['menue']['multiserver']['clients'],
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
@@ -38,7 +38,6 @@ define('TABLE_PANEL_TRAFFIC_ADMINS', 'panel_traffic_admins');
|
||||
define('TABLE_PANEL_DISKSPACE', 'panel_diskspace');
|
||||
define('TABLE_PANEL_DISKSPACE_ADMINS', 'panel_diskspace_admins');
|
||||
define('TABLE_PANEL_LANGUAGE', 'panel_languages');
|
||||
define('TABLE_PANEL_CRONSCRIPT', 'panel_cronscript');
|
||||
define('TABLE_PANEL_IPSANDPORTS', 'panel_ipsandports');
|
||||
define('TABLE_PANEL_TICKETS', 'panel_tickets');
|
||||
define('TABLE_PANEL_TICKET_CATS', 'panel_ticket_categories');
|
||||
@@ -72,7 +71,7 @@ define('PACKAGE_ENABLED', 2);
|
||||
|
||||
// VERSION INFO
|
||||
|
||||
$version = '0.9.13.1';
|
||||
$version = '0.9.14';
|
||||
$dbversion = '2';
|
||||
$branding = '';
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ $lng['customer']['email'] = 'Email';
|
||||
$lng['customer']['customernumber'] = 'Customer ID';
|
||||
$lng['customer']['diskspace'] = 'Webspace (MB)';
|
||||
$lng['customer']['traffic'] = 'Traffic (GB)';
|
||||
$lng['customer']['mysqls'] = 'MySQL-Databases';
|
||||
$lng['customer']['mysqls'] = 'MySQL-databases';
|
||||
$lng['customer']['emails'] = 'E-mail-Addresses';
|
||||
$lng['customer']['accounts'] = 'E-mail-Accounts';
|
||||
$lng['customer']['forwarders'] = 'E-mail-Forwarders';
|
||||
@@ -81,7 +81,7 @@ $lng['menue']['main']['changepassword'] = 'Change password';
|
||||
$lng['menue']['main']['changelanguage'] = 'Change language';
|
||||
$lng['menue']['email']['email'] = 'E-mail';
|
||||
$lng['menue']['email']['emails'] = 'Addresses';
|
||||
$lng['menue']['email']['webmail'] = 'WebMail';
|
||||
$lng['menue']['email']['webmail'] = 'webmail';
|
||||
$lng['menue']['mysql']['mysql'] = 'MySQL';
|
||||
$lng['menue']['mysql']['databases'] = 'Databases';
|
||||
$lng['menue']['mysql']['phpmyadmin'] = 'phpMyAdmin';
|
||||
@@ -92,14 +92,14 @@ $lng['menue']['ftp']['accounts'] = 'Accounts';
|
||||
$lng['menue']['ftp']['webftp'] = 'WebFTP';
|
||||
$lng['menue']['extras']['extras'] = 'Extras';
|
||||
$lng['menue']['extras']['directoryprotection'] = 'Directory protection';
|
||||
$lng['menue']['extras']['pathoptions'] = 'path options';
|
||||
$lng['menue']['extras']['pathoptions'] = 'Path options';
|
||||
|
||||
/**
|
||||
* Index
|
||||
*/
|
||||
|
||||
$lng['index']['customerdetails'] = 'Customer Details';
|
||||
$lng['index']['accountdetails'] = 'Account Details';
|
||||
$lng['index']['customerdetails'] = 'Customer details';
|
||||
$lng['index']['accountdetails'] = 'Account details';
|
||||
|
||||
/**
|
||||
* Change Password
|
||||
@@ -128,7 +128,7 @@ $lng['domains']['noaliasdomain'] = 'No alias domain';
|
||||
* 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']['emails_add'] = 'Create 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_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']['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']['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!';
|
||||
@@ -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']['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']['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']['stringiswrong'] = 'Wrong Input in Field';
|
||||
$lng['error']['myloginname'] = '\'' . $lng['login']['username'] . '\'';
|
||||
@@ -213,14 +213,14 @@ $lng['error']['mydocumentroot'] = '\'Documentroot\'';
|
||||
$lng['error']['loginnameexists'] = 'Login-Name %s already exists';
|
||||
$lng['error']['emailiswrong'] = 'E-mail-Address %s contains invalid characters or is incomplete';
|
||||
$lng['error']['loginnameiswrong'] = 'Login-Name %s contains invalid characters';
|
||||
$lng['error']['userpathcombinationdupe'] = 'Combination of Username and Path already exists';
|
||||
$lng['error']['patherror'] = 'General Error! path cannot be empty';
|
||||
$lng['error']['userpathcombinationdupe'] = 'Combination of username and path already exists';
|
||||
$lng['error']['patherror'] = 'General Error! Path cannot be empty';
|
||||
$lng['error']['errordocpathdupe'] = 'Option for path %s already exists';
|
||||
$lng['error']['adduserfirst'] = 'Please create a customer first';
|
||||
$lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer';
|
||||
$lng['error']['nolanguageselect'] = 'No language selected.';
|
||||
$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']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.';
|
||||
$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']['maindomainnonexist'] = 'The main-domain %s does not exist.';
|
||||
$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']['destinationiswrong'] = 'The forwarder %s contains invalid character(s) or is incomplete.';
|
||||
$lng['error']['domainname'] = $lng['domains']['domainname'];
|
||||
@@ -243,7 +243,7 @@ $lng['error']['domainname'] = $lng['domains']['domainname'];
|
||||
$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_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_template_reallydelete'] = 'Do you really want to delete the template \'%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
|
||||
*/
|
||||
|
||||
$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']['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';
|
||||
@@ -274,8 +274,8 @@ $lng['mails']['createcustomer']['subject'] = 'Account information';
|
||||
|
||||
$lng['admin']['overview'] = 'Overview';
|
||||
$lng['admin']['ressourcedetails'] = 'Used resources';
|
||||
$lng['admin']['systemdetails'] = 'System Details';
|
||||
$lng['admin']['froxlordetails'] = 'Froxlor Details';
|
||||
$lng['admin']['systemdetails'] = 'System details';
|
||||
$lng['admin']['froxlordetails'] = 'Froxlor details';
|
||||
$lng['admin']['installedversion'] = 'Installed version';
|
||||
$lng['admin']['latestversion'] = 'Latest version';
|
||||
$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']['server'] = 'Server';
|
||||
$lng['admin']['serversettings'] = 'Settings';
|
||||
$lng['admin']['rebuildconf'] = 'Rebuild Config Files';
|
||||
$lng['admin']['rebuildconf'] = 'Rebuild config files';
|
||||
$lng['admin']['stdsubdomain'] = 'Standard subdomain';
|
||||
$lng['admin']['stdsubdomain_add'] = 'Create standard subdomain';
|
||||
$lng['admin']['phpenabled'] = 'PHP enabled';
|
||||
$lng['admin']['deactivated'] = 'Deactivated';
|
||||
$lng['admin']['deactivated_user'] = 'Deactivate User';
|
||||
$lng['admin']['deactivated_user'] = 'Deactivate user';
|
||||
$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']['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']['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';
|
||||
@@ -338,7 +338,7 @@ $lng['serversettings']['session_timeout']['description'] = 'How long does a user
|
||||
$lng['serversettings']['accountprefix']['title'] = 'Customer prefix';
|
||||
$lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?';
|
||||
$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']['description'] = 'Which prefix should ftp accounts have?';
|
||||
$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']['phpmyadmin_url']['title'] = 'phpMyAdmin URL';
|
||||
$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']['description'] = 'What\'s the URL to WebMail? (has to start with http(s)://)';
|
||||
$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']['webftp_url']['title'] = 'WebFTP URL';
|
||||
$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?';
|
||||
@@ -387,7 +387,7 @@ $lng['serversettings']['mxservers']['description'] = 'A comma seperated list con
|
||||
* 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
|
||||
@@ -427,19 +427,19 @@ $lng['admin']['valuemandatorycompany'] = 'Either "name" and "firs
|
||||
$lng['menue']['main']['username'] = 'Logged in as: ';
|
||||
$lng['panel']['urloverridespath'] = 'URL (overrides path)';
|
||||
$lng['panel']['pathorurl'] = 'Path or URL';
|
||||
$lng['error']['sessiontimeoutiswrong'] = 'Only numerical "Session Timeout" is allowed.';
|
||||
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical "Max Login Attempts" are allowed.';
|
||||
$lng['error']['deactivatetimiswrong'] = 'Only numerical "Deactivation Time" is allowed.';
|
||||
$lng['error']['accountprefixiswrong'] = 'The "Customerprefix" is wrong.';
|
||||
$lng['error']['mysqlprefixiswrong'] = 'The "SQL 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']['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']['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']['sessiontimeoutiswrong'] = 'Only numerical "session timeout" is allowed.';
|
||||
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical "max login attempts" are allowed.';
|
||||
$lng['error']['deactivatetimiswrong'] = 'Only numerical "deactivation time" is allowed.';
|
||||
$lng['error']['accountprefixiswrong'] = 'The "customerprefix" is wrong.';
|
||||
$lng['error']['mysqlprefixiswrong'] = 'The "SQL 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']['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']['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']['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['domains']['hasaliasdomains'] = 'Has alias domain(s)';
|
||||
$lng['serversettings']['defaultip']['title'] = 'Default IP/Port';
|
||||
@@ -468,7 +468,7 @@ $lng['admin']['mysqlclientversion'] = 'MySQL Client Version';
|
||||
$lng['admin']['webserverinterface'] = 'Webserver Interface';
|
||||
$lng['domains']['isassigneddomain'] = 'Is assigned domain';
|
||||
$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
|
||||
|
||||
@@ -484,7 +484,7 @@ $lng['serversettings']['natsorting']['description'] = 'Sorts lists as web1 -> we
|
||||
// ADDED IN 1.2.16-svn2
|
||||
|
||||
$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
|
||||
|
||||
@@ -502,7 +502,7 @@ $lng['panel']['pathDescriptionEx'] = '<br /><br />If you want a redirect to anot
|
||||
|
||||
// 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['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['mails']['trafficninetypercent']['subject'] = 'Reaching your traffic limit';
|
||||
$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.';
|
||||
@@ -540,7 +540,7 @@ $lng['admin']['configfiles']['choosedaemon'] = '-- Choose a daemon --';
|
||||
// ADDED IN 1.2.16-svn10
|
||||
|
||||
$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';
|
||||
|
||||
// ADDED IN 1.2.16-svn12
|
||||
@@ -548,7 +548,7 @@ $lng['panel']['back'] = 'Back';
|
||||
$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_fcgid']['title'] = 'Include PHP via mod_fcgid/suexec';
|
||||
$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, see <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a></b>';
|
||||
$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, see <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a></b><br /><br /><div style="color:red">NOTE: This folder\'s content gets deleted regulary so avoid storing data in there manually.</div>';
|
||||
$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['emails']['alternative_emailaddress'] = 'Alternative e-mail-address';
|
||||
@@ -563,8 +563,8 @@ $lng['error']['documentrootexists'] = 'The directory "%s" already exis
|
||||
|
||||
// ADDED IN 1.2.16-svn14
|
||||
|
||||
$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']['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_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_htpasswddir']['title'] = 'Webserver htpasswd dirname';
|
||||
@@ -798,8 +798,8 @@ $lng['message']['noreceipients'] = 'No e-mail has been sent because there are no
|
||||
$lng['admin']['sslsettings'] = 'SSL settings';
|
||||
$lng['cronjobs']['notyetrun'] = 'Not yet run';
|
||||
$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']['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']['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['error']['invalidip'] = 'Invalid IP address: %s';
|
||||
$lng['serversettings']['decimal_places'] = 'Number of decimal places in traffic/webspace output';
|
||||
|
||||
@@ -827,10 +827,10 @@ $lng['ticket']['by'] = 'by';
|
||||
$lng['dkim']['use_dkim']['title'] = 'Activate DKIM support?';
|
||||
$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']['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']['awstats_enabled'] = 'Enable awstats statistics';
|
||||
$lng['admin']['awstatssettings'] = 'Awstats settings';
|
||||
$lng['serversettings']['awstats_enabled'] = 'Enable AWstats statistics';
|
||||
$lng['admin']['awstatssettings'] = 'AWstats settings';
|
||||
|
||||
// ADDED IN 1.2.19-svn16
|
||||
|
||||
@@ -877,13 +877,6 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
|
||||
$lng['serversettings']['allow_password_reset']['title'] = 'Allow password reset by customers';
|
||||
$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
|
||||
|
||||
$lng['customer']['title'] = 'Title';
|
||||
@@ -1027,11 +1020,11 @@ $lng['admin']['aps'] = 'APS Installer';
|
||||
$lng['customer']['aps'] = 'APS Installer';
|
||||
$lng['aps']['scan'] = 'Scan for new packages';
|
||||
$lng['aps']['upload'] = 'Upload new packages';
|
||||
$lng['aps']['managepackages'] = 'Manage Packages';
|
||||
$lng['aps']['manageinstances'] = 'Manage Instances';
|
||||
$lng['aps']['managepackages'] = 'Manage packages';
|
||||
$lng['aps']['manageinstances'] = 'Manage instances';
|
||||
$lng['aps']['overview'] = 'Package overview';
|
||||
$lng['aps']['status'] = 'My Packages';
|
||||
$lng['aps']['search'] = 'Search for Packages';
|
||||
$lng['aps']['status'] = 'My 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']['search_description'] = 'Name, Description, Keyword, Version';
|
||||
$lng['aps']['detail'] = 'More information';
|
||||
@@ -1066,13 +1059,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']['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']['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']['instance_install'] = 'Package Installation pending';
|
||||
$lng['aps']['instance_task_active'] = 'Package is currently being processed';
|
||||
$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_uninstall'] = 'Package Uninstallation pending';
|
||||
$lng['aps']['instance_error'] = 'Package isn\'t installed - there occured some errors on the installation';
|
||||
$lng['aps']['instance_uninstall'] = 'Package uninstall pending';
|
||||
$lng['aps']['unknown_status'] = 'Error - Unknown value';
|
||||
$lng['aps']['currentstatus'] = 'Current status';
|
||||
$lng['aps']['activetasks'] = 'Current tasks';
|
||||
@@ -1083,42 +1076,42 @@ $lng['aps']['task_upgrade'] = 'Update/Upgrade pending';
|
||||
$lng['aps']['no_task'] = 'No tasks pending';
|
||||
$lng['aps']['applicationlinks'] = 'Application links';
|
||||
$lng['aps']['mainsite'] = 'Main site';
|
||||
$lng['aps']['uninstall'] = 'Uninstall Package';
|
||||
$lng['aps']['uninstall'] = 'Uninstall package';
|
||||
$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']['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']['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']['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']['asp_net'] = 'ASP.NET - Package not supported.';
|
||||
$lng['aps']['cgi'] = 'CGI - Package not supported.';
|
||||
$lng['aps']['php_extension'] = 'PHP - Extension "%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_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_general_old'] = 'PHP - General - PHP Version too old.';
|
||||
$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_version'] = 'Database - MySQL Server too old.';
|
||||
$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']['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_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_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']['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_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_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_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']['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']['successpackageinstall'] = '<strong><em>%s</em> successfully installed as a new Package</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']['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']['iderror'] = 'Wrong id specified!';
|
||||
$lng['aps']['nopacketsforinstallation'] = 'There are no packages to 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']['dbpassword'] = 'Specify a password with a minimum length of 8 characters.';
|
||||
$lng['aps']['error_text'] = 'Specify a text without special characters.';
|
||||
@@ -1130,33 +1123,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_licensenoaccept'] = 'You must accept the license to install this application.';
|
||||
$lng['aps']['stopinstall'] = 'Abort Installation';
|
||||
$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']['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 Uninstall.';
|
||||
$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']['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['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']['searchmultiresult'] = '%s Packages found';
|
||||
$lng['question']['reallywanttostop'] = 'Do you really want to abort the Installation of this Package?<br/><br/>';
|
||||
$lng['aps']['packagenameandversion'] = 'Packagename & Version';
|
||||
$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 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['aps']['searchoneresult'] = '%s package found';
|
||||
$lng['aps']['searchmultiresult'] = '%s packages found';
|
||||
$lng['question']['reallywanttostop'] = 'Do you really want to abort the installation of this package?<br/><br/>';
|
||||
$lng['aps']['packagenameandversion'] = 'Packagename & version';
|
||||
$lng['aps']['package_locked'] = 'Locked';
|
||||
$lng['aps']['package_enabled'] = 'Enabled';
|
||||
$lng['aps']['lock'] = 'Lock';
|
||||
$lng['aps']['unlock'] = 'Enable';
|
||||
$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['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.';
|
||||
$lng['aps']['packagenameandstatus'] = 'Packagename & Status';
|
||||
$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']['packagenameandstatus'] = 'Packagename & status';
|
||||
$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']['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']['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']['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']['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']['settings_php_extensions'] = 'PHP-Extensions';
|
||||
$lng['aps']['settings_php_configuration'] = 'PHP-Configuration';
|
||||
$lng['aps']['settings_webserver_modules'] = 'Webserver modules';
|
||||
@@ -1166,9 +1159,9 @@ $lng['aps']['removeunused'] = 'Remove unused packages';
|
||||
$lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others';
|
||||
$lng['aps']['installations'] = 'Installations';
|
||||
$lng['aps']['statistics'] = 'Statistics';
|
||||
$lng['aps']['numerofpackagesinstalled'] = '%s Packages installed<br/>';
|
||||
$lng['aps']['numerofpackagesenabled'] = '%s Packages enabled<br/>';
|
||||
$lng['aps']['numerofpackageslocked'] = '%s Packages locked<br/>';
|
||||
$lng['aps']['numerofpackagesinstalled'] = '%s packages installed<br/>';
|
||||
$lng['aps']['numerofpackagesenabled'] = '%s packages enabled<br/>';
|
||||
$lng['aps']['numerofpackageslocked'] = '%s packages locked<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['aps']['linktolicense'] = 'Link to license';
|
||||
@@ -1194,8 +1187,6 @@ $lng['error']['admindoesntexist'] = 'The admin you have chosen doesn\'t exist.';
|
||||
|
||||
// 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']['description'] = 'If activated a user could login multiple times.';
|
||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
|
||||
@@ -1213,7 +1204,7 @@ $lng['admin']['phpsettings']['binary'] = 'PHP Binary';
|
||||
$lng['admin']['phpsettings']['file_extensions'] = 'File extensions';
|
||||
$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['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?';
|
||||
|
||||
// fix bug #1124
|
||||
@@ -1227,12 +1218,12 @@ $lng['mysql']['mysql_server'] = 'MySQL-Server';
|
||||
|
||||
// ADDED IN 1.4.2.1-2
|
||||
|
||||
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Webserver Default Config';
|
||||
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver Domain Config';
|
||||
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL Config';
|
||||
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Webserver default config';
|
||||
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver domain config';
|
||||
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL config';
|
||||
$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']['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_ca_file'] = 'Path to the SSL CA certificate';
|
||||
|
||||
@@ -1261,13 +1252,13 @@ $lng['autoresponder']['startenddate'] = 'Start/end date';
|
||||
$lng['panel']['not_activated'] = 'not activated';
|
||||
$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']['update'] = 'Froxlor Update';
|
||||
$lng['update']['update'] = 'Froxlor update';
|
||||
$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_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['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']['rebuild_webserverconfig'] = 'Rebuilding webserver-configuration';
|
||||
$lng['tasks']['adding_customer'] = 'Adding new customer %loginname%';
|
||||
@@ -1455,10 +1446,10 @@ $lng['serversettings']['perl_path']['description'] = 'Only relevant if you use l
|
||||
|
||||
// ADDED IN FROXLOR 0.9.12-svn1
|
||||
$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';
|
||||
$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_user'] = 'Local user 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
|
||||
$lng['admin']['perl_settings'] = 'Perl/CGI';
|
||||
@@ -1504,6 +1495,20 @@ $lng['admin']['store_defaultindex'] = 'Store default index-file to customers doc
|
||||
$lng['customer']['autoresponder'] = 'Autoresponder';
|
||||
|
||||
// ADDED IN FROXLOR 0.9.14-svn1
|
||||
$lng['serversettings']['mod_fcgid']['defaultini_ownvhost'] = 'Default PHP configuration for Froxlor-vhost';
|
||||
$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';
|
||||
|
||||
?>
|
||||
|
||||
@@ -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['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
|
||||
|
||||
$lng['customer']['title'] = 'Titre';
|
||||
|
||||
@@ -128,7 +128,7 @@ $lng['domains']['noaliasdomain'] = 'Keine Aliasdomain';
|
||||
* 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']['emails_add'] = 'E-Mail-Adresse anlegen';
|
||||
$lng['emails']['emails_edit'] = 'E-Mail-Adresse ändern';
|
||||
@@ -387,7 +387,7 @@ $lng['serversettings']['mxservers']['description'] = 'Eine durch Komma getrenne
|
||||
* 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
|
||||
@@ -467,7 +467,7 @@ $lng['admin']['mysqlclientversion'] = 'MySQL Client Version';
|
||||
$lng['admin']['webserverinterface'] = 'Webserver Interface';
|
||||
$lng['domains']['isassigneddomain'] = 'Ist zugewiesene Domain';
|
||||
$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
|
||||
|
||||
@@ -547,7 +547,7 @@ $lng['panel']['back'] = 'Zurück';
|
||||
$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_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'] = '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><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']['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['emails']['alternative_emailaddress'] = 'Alternative E-Mail-Adresse';
|
||||
@@ -558,14 +558,14 @@ $lng['admin']['templates']['EMAIL_PASSWORD'] = 'Wird mit dem Passwort des neuen
|
||||
|
||||
// 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
|
||||
|
||||
$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']['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']['description'] = 'Wo sollen die htpasswd-Dateien fü den Verzeichnisschutz abgelegt werden?';
|
||||
|
||||
@@ -594,7 +594,7 @@ $lng['admin']['webalizer']['normal'] = 'Normal';
|
||||
$lng['admin']['webalizer']['quiet'] = 'Leise';
|
||||
$lng['admin']['webalizer']['veryquiet'] = 'Keine Ausgaben';
|
||||
$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
|
||||
|
||||
@@ -831,10 +831,10 @@ $lng['ticket']['by'] = 'von';
|
||||
$lng['dkim']['use_dkim']['title'] = 'DKIM Support aktivieren?';
|
||||
$lng['dkim']['use_dkim']['description'] = 'Wollen Sie das Domain Keys (DKIM) System benutzen?';
|
||||
$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']['awstats_enabled'] = 'Nutze AWStats Statistiken';
|
||||
$lng['admin']['awstatssettings'] = 'Awstats Einstellungen';
|
||||
$lng['admin']['awstatssettings'] = 'AWstats Einstellungen';
|
||||
|
||||
// ADDED IN 1.2.19-svn16
|
||||
|
||||
@@ -881,13 +881,6 @@ $lng['pwdreminder']['success'] = 'Passwort erfolgreich zurückgesetzt.<br />
|
||||
$lng['serversettings']['allow_password_reset']['title'] = 'Erlaube das Zurücksetzen des Kundenpassworts';
|
||||
$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
|
||||
|
||||
$lng['customer']['title'] = 'Titel';
|
||||
@@ -1198,8 +1191,6 @@ $lng['error']['admindoesntexist'] = 'Der ausgewählte Admin existiert nicht.
|
||||
|
||||
// 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']['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';
|
||||
@@ -1446,10 +1437,10 @@ $lng['admin']['mod_fcgid_group'] = 'Lokale Gruppe für FCGID (Froxlor Vhost)
|
||||
// ADDED IN FROXLOR 0.9.12-svn2
|
||||
$lng['admin']['perl_settings'] = 'Perl/CGI';
|
||||
$lng['serversettings']['perl']['suexecworkaround']['title'] = 'Aktiviere SuExec Workaround (nur für Apache)';
|
||||
$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']['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']['urlerrordocumentnotvalidforlighty'] = 'Eine URL als Fehlerdokument funktioniert leider in LigHTTPd nicht, bitte geben Sie einen Pfad zu einer Datei an';
|
||||
|
||||
@@ -1489,4 +1480,18 @@ $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 Zeilordner 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';
|
||||
|
||||
?>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
* @copyright (c) the authors
|
||||
* @author Luca Piona <info@havanastudio.ch>
|
||||
* @author Luca Longinotti <chtekk@gentoo.org>
|
||||
* @author Emilien
|
||||
* @author Emilien
|
||||
* @author Froxlor Team <team@froxlor.org>
|
||||
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||
* @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['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
|
||||
|
||||
$lng['customer']['title'] = 'Titolo';
|
||||
@@ -1264,7 +1257,7 @@ $lng['update']['updateinprogress_onlyadmincanlogin'] = 'Una nuova versione di Fr
|
||||
$lng['update']['update'] = 'Aggiorna Froxlor';
|
||||
$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_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['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.';
|
||||
@@ -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['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']['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
|
||||
|
||||
@@ -1424,7 +1417,7 @@ $lng['redirect_desc']['rc_movedperm'] = 'spostato in modo permanente';
|
||||
$lng['redirect_desc']['rc_found'] = 'trovato';
|
||||
$lng['redirect_desc']['rc_seeother'] = 'vedi gli altri';
|
||||
$lng['redirect_desc']['rc_tempred'] = 'reindirizzamento temporaneo';
|
||||
|
||||
|
||||
// ADDED IN FROXLOR 0.9.8
|
||||
$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']['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';
|
||||
|
||||
?>
|
||||
|
||||
@@ -871,13 +871,6 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
|
||||
$lng['serversettings']['allow_preset'] = 'Zezwalaj na resetowanie hasła przez klient<6E>w';
|
||||
$lng['pwdreminder']['notallowed'] = 'Resetowanie hasła jest nieaktywne';
|
||||
|
||||
// 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
|
||||
|
||||
$lng['customer']['title'] = 'Tytuł';
|
||||
|
||||
@@ -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['serversettings']['allow_password_reset']['title'] = 'Aceita reset de senha por clientes';
|
||||
$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']['country'] = 'País';
|
||||
$lng['panel']['dateformat'] = 'AAAA-MM-DD';
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -189,17 +189,26 @@ class apache
|
||||
{
|
||||
$this->virtualhosts_data[$vhosts_filename].= '<VirtualHost ' . $ipport . '>' . "\n";
|
||||
|
||||
/**
|
||||
* add 'real'-vhost content here, like doc-root :)
|
||||
*/
|
||||
if($this->settings['system']['froxlordirectlyviahostname'])
|
||||
if($row_ipsandports['docroot'] == '')
|
||||
{
|
||||
$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";
|
||||
|
||||
if($row_ipsandports['vhostcontainer_servername_statement'] == '1')
|
||||
@@ -268,6 +277,12 @@ class apache
|
||||
$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'] != '')
|
||||
{
|
||||
$this->virtualhosts_data[$vhosts_filename].= ' SSLEngine On' . "\n";
|
||||
@@ -282,6 +297,12 @@ class apache
|
||||
{
|
||||
$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 +470,7 @@ class apache
|
||||
if($this->settings['system']['awstats_enabled'] == '1')
|
||||
{
|
||||
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
||||
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -460,6 +482,7 @@ class apache
|
||||
if($this->settings['system']['awstats_enabled'] == '1')
|
||||
{
|
||||
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . '"' . "\n";
|
||||
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -474,6 +497,7 @@ class apache
|
||||
if($this->settings['system']['awstats_enabled'] == '1')
|
||||
{
|
||||
$stats_text.= ' Alias /awstats "' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . '"' . "\n";
|
||||
$stats_text.= ' Alias /awstats-icon "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '"' . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -587,7 +611,13 @@ class apache
|
||||
|
||||
// After inserting the AWStats information,
|
||||
// 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_param = 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -656,6 +686,8 @@ class apache
|
||||
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
|
||||
$domain['ssl_key_file'] = $ipandport['ssl_key_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))
|
||||
{
|
||||
@@ -702,6 +734,12 @@ class apache
|
||||
$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'] != '')
|
||||
{
|
||||
$vhost_content.= ' SSLEngine On' . "\n";
|
||||
@@ -716,6 +754,12 @@ class apache
|
||||
{
|
||||
$vhost_content.= ' SSLCACertificateFile ' . makeCorrectFile($domain['ssl_ca_file']) . "\n";
|
||||
}
|
||||
|
||||
// #418
|
||||
if($domain['ssl_cert_chainfile'] != '')
|
||||
{
|
||||
$vhost_content.= ' SSLCertificateChainFile ' . makeCorrectFile($domain['ssl_cert_chainfile']) . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1080,9 +1124,15 @@ class apache
|
||||
if(!isConfigDir($this->settings['system']['apacheconf_vhost']))
|
||||
{
|
||||
// Save one big 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)
|
||||
{
|
||||
$vhosts_file.= $vhost_content . "\n\n";
|
||||
|
||||
@@ -107,14 +107,23 @@ class lighttpd
|
||||
$this->lighttpd_data[$vhost_filename].= '# Froxlor default vhost' . "\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";
|
||||
|
||||
/**
|
||||
@@ -136,8 +145,26 @@ class lighttpd
|
||||
|
||||
if($row_ipsandports['ssl'] == '1')
|
||||
{
|
||||
$this->lighttpd_data[$vhost_filename].= 'ssl.engine = "enable"' . "\n";
|
||||
$this->lighttpd_data[$vhost_filename].= 'ssl.pemfile = "' . $row_ipsandports['ssl_cert_file'] . '"' . "\n";
|
||||
if($row_ipsandports['ssl_cert_file'] == '')
|
||||
{
|
||||
$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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -313,12 +340,6 @@ class lighttpd
|
||||
{
|
||||
$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])
|
||||
&& !is_dir($this->settings['system']['apacheconf_vhost']))
|
||||
@@ -364,6 +385,7 @@ class lighttpd
|
||||
$domain['ip'] = $ipandport['ip'];
|
||||
$domain['port'] = $ipandport['port'];
|
||||
$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))
|
||||
{
|
||||
@@ -400,6 +422,7 @@ class lighttpd
|
||||
$vhost_content.= $this->composePhpOptions($domain);
|
||||
$vhost_content.= $this->getStats($domain);
|
||||
$vhost_content.= $this->getLogFiles($domain);
|
||||
$vhost_content.= $this->getSslSettings($domain, $ssl_vhost);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -411,6 +434,38 @@ class lighttpd
|
||||
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)
|
||||
{
|
||||
$logfiles_text = '';
|
||||
@@ -502,7 +557,13 @@ class lighttpd
|
||||
|
||||
// After inserting the AWStats information,
|
||||
// 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_param = 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_param);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -759,8 +820,8 @@ class lighttpd
|
||||
{
|
||||
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-icon" => "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '" )' . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -771,8 +832,8 @@ class lighttpd
|
||||
{
|
||||
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-icon" => "' . makeCorrectDir($this->settings['system']['awstats_icons']) . '" )' . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -787,6 +848,7 @@ class lighttpd
|
||||
if($this->settings['system']['awstats_enabled'] == '1')
|
||||
{
|
||||
$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
|
||||
{
|
||||
@@ -808,6 +870,13 @@ class lighttpd
|
||||
// Save one big 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)
|
||||
{
|
||||
$vhosts_file.= $vhost_content . "\n\n";
|
||||
|
||||
@@ -17,48 +17,6 @@
|
||||
* @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)
|
||||
{
|
||||
global $cronlog, $settings;
|
||||
@@ -144,7 +102,7 @@ function awstatsDoSingleDomain($domain, $outputdir)
|
||||
return $returnval;
|
||||
}
|
||||
|
||||
function callAwstatsGetTraffic($domain, $outputdir, $caption, $usersdomainlist)
|
||||
function callAwstatsGetTraffic($customerid, $outputdir, $usersdomainlist)
|
||||
{
|
||||
global $settings, $db, $cronlog;
|
||||
$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
|
||||
* (awstats overwrites the customers .html stats-files)
|
||||
*/
|
||||
$customerid = getCustomerIdByDomain($domain);
|
||||
|
||||
if($customerid !== false)
|
||||
{
|
||||
|
||||
@@ -165,15 +165,11 @@ while($row = $db->fetch_array($result))
|
||||
unset($domainlist[$row['customerid']][$domainid]);
|
||||
}
|
||||
|
||||
if($settings['system']['awstats_enabled'] == '1')
|
||||
{
|
||||
$httptraffic+= floatval(callAwstatsGetTraffic($domain, $row['documentroot'] . '/awstats/', $domain, $domainlist[$row['customerid']]));
|
||||
}
|
||||
else
|
||||
if($settings['system']['awstats_enabled'] == '0')
|
||||
{
|
||||
$httptraffic+= floatval(callWebalizerGetTraffic($row['loginname'] . '-' . $domain, $row['documentroot'] . '/webalizer/' . $domain . '/', $domain, $domainlist[$row['customerid']]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
reset($domainlist[$row['customerid']]);
|
||||
@@ -183,9 +179,13 @@ while($row = $db->fetch_array($result))
|
||||
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')
|
||||
{
|
||||
$httptraffic+= floatval(callAwstatsGetTraffic($caption, $row['documentroot'] . '/awstats/', $caption, $domainlist[$row['customerid']]));
|
||||
$httptraffic+= floatval(callAwstatsGetTraffic($row['customerid'], $row['documentroot'] . '/awstats/', $domainlist[$row['customerid']]));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -339,7 +339,7 @@ while($row = $db->fetch_array($result))
|
||||
{
|
||||
$mysqlusage = floatval($mysqlusage_all[$row['customerid']] / 1024);
|
||||
}
|
||||
|
||||
|
||||
$current_diskspace = array();
|
||||
$current_diskspace['webspace'] = floatval($webspaceusage);
|
||||
$current_diskspace['mail'] = floatval($emailusage);
|
||||
|
||||
@@ -21,17 +21,6 @@
|
||||
* RESET USED TICKETS COUNTER
|
||||
*/
|
||||
|
||||
fwrite($debugHandler, 'Used tickets reset run started...' . "\n");
|
||||
$now = time();
|
||||
$cycle = $settings['ticket']['reset_cycle'];
|
||||
|
||||
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'");
|
||||
}
|
||||
|
||||
?>
|
||||
fwrite($debugHandler, 'Resetting customers used ticket counter' . "\n");
|
||||
$cronlog->logAction(CRON_ACTION, LOG_INFO, "Resetting customers used ticket counter");
|
||||
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `tickets_used` = '0'");
|
||||
|
||||
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
|
||||
17
templates/admin/froxlorclients/froxlorclients_client.tpl
Normal file
17
templates/admin/froxlorclients/froxlorclients_client.tpl
Normal file
@@ -0,0 +1,17 @@
|
||||
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
||||
<td class="field_name_border_left">
|
||||
<img src="./images/multiserver/server.png" alt="Client #{$row['id']}" /></td>
|
||||
<td class="field_name">{$row['name']}<br /><span style="font-size:80%">{$row['desc']}</span></td>
|
||||
<td class="field_name">
|
||||
<if $row['enabled'] == 1 >
|
||||
<img src="./images/multiserver/tick.png" alt="{$lng['panel']['yes']}" />
|
||||
<else>
|
||||
<img src="./images/multiserver/no.png" alt="{$lng['panel']['no']}" />
|
||||
</if>
|
||||
</td>
|
||||
<td class="field_name">
|
||||
<a href="$filename?s=$s&page=$page&action=view&id={$row['id']}">
|
||||
<img src="./images/multiserver/view.png" alt="{$lng['admin']['froxlorclients']['view']}" style="border:0;" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
45
templates/admin/froxlorclients/froxlorclients_edit.tpl
Normal file
45
templates/admin/froxlorclients/froxlorclients_edit.tpl
Normal file
@@ -0,0 +1,45 @@
|
||||
$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" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<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']['edit']}</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="{$client->Get('name')}" 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">{$client->Get('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 class="bottom" type="submit" value="{$lng['panel']['save']}" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
$footer
|
||||
23
templates/admin/froxlorclients/froxlorclients_view.tpl
Normal file
23
templates/admin/froxlorclients/froxlorclients_view.tpl
Normal file
@@ -0,0 +1,23 @@
|
||||
$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="4"><b><img src="images/title.gif" alt="" /> {$lng['menue']['multiserver']['clients']} "{$client->Get('name')}"</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">@TODO infos about client "{$client->Get('name')}"</td>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="$filename?s=$s&page=$page&action=settings&id={$id}">{$lng['admin']['froxlorclients']['settings']}</a>
|
||||
<a href="$filename?s=$s&page=$page&action=deploy&id={$id}">{$lng['admin']['froxlorclients']['deploy']}</a>
|
||||
<a href="$filename?s=$s&page=$page&action=edit&id={$id}">{$lng['panel']['edit']}</a>
|
||||
<a href="$filename?s=$s&page=$page&action=delete&id={$id}">{$lng['panel']['delete']}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
$footer
|
||||
@@ -47,6 +47,10 @@ $header
|
||||
</td>
|
||||
<td class="main_field_display" nowrap="nowrap">$vhostcontainer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['docroot']['title']}:<br /><font size="1">{$lng['admin']['ipsandports']['docroot']['description']}</font></td>
|
||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="docroot" value="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name" valign="top">{$lng['admin']['ownvhostsettings']}:<br /><font size="1">{$lng['serversettings']['default_vhostconf']['description']}</font>
|
||||
<if $settings['system']['webserver'] == 'lighttpd'><div style="color:red">{$lng['panel']['not_supported']}lighttpd</div></if>
|
||||
@@ -98,6 +102,10 @@ $header
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['ssl_ca_file']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="ssl_ca_file" value="" size="32" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['ssl_cert_chainfile']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="ssl_cert_chainfile" value="" size="32" /></td>
|
||||
</tr>
|
||||
</if>
|
||||
<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>
|
||||
|
||||
@@ -46,6 +46,10 @@ $header
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['create_vhostcontainer']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap">$vhostcontainer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['docroot']['title']}:<br /><font size="1">{$lng['admin']['ipsandports']['docroot']['description']}</font></td>
|
||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="docroot" value="{$result['docroot']}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name" valign="top">{$lng['admin']['ownvhostsettings']}:<br /><font size="1">{$lng['serversettings']['default_vhostconf']['description']}</font></td>
|
||||
<td class="main_field_display" nowrap="nowrap"><textarea class="textarea_border" rows="12" cols="60" name="specialsettings">{$result['specialsettings']}</textarea></td>
|
||||
@@ -95,6 +99,10 @@ $header
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['ssl_ca_file']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="ssl_ca_file" value="{$result['ssl_ca_file']}" size="32" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['admin']['ipsandports']['ssl_cert_chainfile']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="ssl_cert_chainfile" value="{$result['ssl_cert_chainfile']}" size="32" /></td>
|
||||
</tr>
|
||||
</if>
|
||||
<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>
|
||||
|
||||
@@ -62,6 +62,12 @@
|
||||
<td><span <if $admin['tickets_used'] == $admin['tickets_used_new']>style="color:green"<else>style="color:red"</if>><b>{$admin['tickets_used']} -> {$admin['tickets_used_new']}</b></span></td>
|
||||
</tr>
|
||||
</if>
|
||||
<if $settings['aps']['aps_active'] == '1'>
|
||||
<tr>
|
||||
<td>{$lng['customer']['aps']}:</td>
|
||||
<td><span <if $admin['aps_packages_used'] == $admin['aps_packages_used_new']>style="color:green"<else>style="color:red"</if>><b>{$admin['aps_packages_used']} -> {$admin['aps_packages_used_new']}</b></span></td>
|
||||
</tr>
|
||||
</if>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<table border="0" style="text-align: left;">
|
||||
<tr>
|
||||
<td>{$lng['customer']['subdomains']}:</td>
|
||||
<td><span <if $customer['tickets_used'] == $customer['tickets_used_new']>style="color:green"<else>style="color:red"</if>><b>{$customer['tickets_used']} -> {$customer['tickets_used_new']}</b></span></td>
|
||||
<td><span <if $customer['subdomains_used'] == $customer['subdomains_used_new']>style="color:green"<else>style="color:red"</if>><b>{$customer['subdomains_used']} -> {$customer['subdomains_used_new']}</b></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lng['customer']['mysqls']}:</td>
|
||||
@@ -46,6 +46,12 @@
|
||||
<td><span <if $customer['tickets_used'] == $customer['tickets_used_new']>style="color:green"<else>style="color:red"</if>><b>{$customer['tickets_used']} -> {$customer['tickets_used_new']}</b></span></td>
|
||||
</tr>
|
||||
</if>
|
||||
<if $settings['aps']['aps_active'] == '1'>
|
||||
<tr>
|
||||
<td>{$lng['customer']['aps']}:</td>
|
||||
<td><span <if $customer['aps_packages_used'] == $customer['aps_packages_used_new']>style="color:green"<else>style="color:red"</if>><b>{$customer['aps_packages_used']} -> {$customer['aps_packages_used_new']}</b></span></td>
|
||||
</tr>
|
||||
</if>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -6,7 +6,7 @@ $header
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<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['menue']['main']['changepassword']}</b></td>
|
||||
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" /> {$lng['mysql']['database_edit']}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['mysql']['databasename']}:</td>
|
||||
@@ -33,4 +33,4 @@ $header
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
$footer
|
||||
$footer
|
||||
|
||||
@@ -470,3 +470,8 @@ TR.RowOverSelected {
|
||||
margin-bottom: 0.5em;
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
.strikethrough {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
#
|
||||
# !!! DO NOT REPLACE THE ORIGINAL CONFIG WITH THIS FILE !!!
|
||||
#
|
||||
# Instead, just set the shown values in the file to the
|
||||
# given values ;-)
|
||||
#
|
||||
|
||||
Syslog yes
|
||||
Domain /etc/postfix/dkim/domains
|
||||
KeyList /etc/postfix/dkim/dkim-keys.conf
|
||||
Socket inet:8891@localhost
|
||||
@@ -1,22 +0,0 @@
|
||||
service froxlor
|
||||
{
|
||||
id = froxlor
|
||||
socket_type = stream
|
||||
protocol = tcp
|
||||
wait = no
|
||||
|
||||
user = root
|
||||
server = /usr/bin/php
|
||||
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
|
||||
|
||||
bind = 127.0.0.1
|
||||
only_from = 127.0.0.1
|
||||
|
||||
type = UNLISTED
|
||||
port = <REALTIME_PORT>
|
||||
disable = no
|
||||
|
||||
log_type = SYSLOG daemon info
|
||||
log_on_success = HOST DURATION
|
||||
log_on_failure = HOST ATTEMPT
|
||||
}
|
||||
@@ -1,3 +1,11 @@
|
||||
#
|
||||
# !!! DO NOT REPLACE THE ORIGINAL CONFIG WITH THIS FILE !!!
|
||||
#
|
||||
# Instead, just set the shown values in the file to the
|
||||
# given values ;-)
|
||||
#
|
||||
|
||||
Syslog yes
|
||||
Domain /etc/postfix/dkim/domains
|
||||
KeyList /etc/postfix/dkim/dkim-keys.conf
|
||||
Socket inet:8891@localhost
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
service froxlor
|
||||
{
|
||||
id = froxlor
|
||||
socket_type = stream
|
||||
protocol = tcp
|
||||
wait = no
|
||||
|
||||
user = root
|
||||
server = /usr/bin/php
|
||||
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
|
||||
|
||||
bind = 127.0.0.1
|
||||
only_from = 127.0.0.1
|
||||
|
||||
type = UNLISTED
|
||||
port = <REALTIME_PORT>
|
||||
disable = no
|
||||
|
||||
log_type = SYSLOG daemon info
|
||||
log_on_success = HOST DURATION
|
||||
log_on_failure = HOST ATTEMPT
|
||||
}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
service froxlor
|
||||
{
|
||||
id = froxlor
|
||||
socket_type = stream
|
||||
protocol = tcp
|
||||
wait = no
|
||||
|
||||
user = root
|
||||
server = /usr/bin/php
|
||||
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
|
||||
|
||||
bind = 127.0.0.1
|
||||
only_from = 127.0.0.1
|
||||
|
||||
type = UNLISTED
|
||||
port = <REALTIME_PORT>
|
||||
disable = no
|
||||
|
||||
log_type = SYSLOG daemon info
|
||||
log_on_success = HOST DURATION
|
||||
log_on_failure = HOST ATTEMPT
|
||||
}
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
#
|
||||
# !!! DO NOT REPLACE THE ORIGINAL CONFIG WITH THIS FILE !!!
|
||||
#
|
||||
# Instead, just set the shown values in the file to the
|
||||
# given values ;-)
|
||||
#
|
||||
|
||||
Syslog yes
|
||||
Domain /etc/postfix/dkim/domains
|
||||
KeyList /etc/postfix/dkim/dkim-keys.conf
|
||||
Socket inet:8891@localhost
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
service froxlor
|
||||
{
|
||||
id = froxlor
|
||||
socket_type = stream
|
||||
protocol = tcp
|
||||
wait = no
|
||||
|
||||
user = root
|
||||
server = /usr/bin/php
|
||||
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
|
||||
|
||||
bind = 127.0.0.1
|
||||
only_from = 127.0.0.1
|
||||
|
||||
type = UNLISTED
|
||||
port = <REALTIME_PORT>
|
||||
disable = no
|
||||
|
||||
log_type = SYSLOG daemon info
|
||||
log_on_success = HOST DURATION
|
||||
log_on_failure = HOST ATTEMPT
|
||||
}
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
#
|
||||
# !!! DO NOT REPLACE THE ORIGINAL CONFIG WITH THIS FILE !!!
|
||||
#
|
||||
# Instead, just set the shown values in the file to the
|
||||
# given values ;-)
|
||||
#
|
||||
|
||||
Syslog yes
|
||||
Domain /etc/postfix/dkim/domains
|
||||
KeyList /etc/postfix/dkim/dkim-keys.conf
|
||||
Socket inet:8891@localhost
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
service froxlor
|
||||
{
|
||||
id = froxlor
|
||||
socket_type = stream
|
||||
protocol = tcp
|
||||
wait = no
|
||||
|
||||
user = root
|
||||
server = /usr/bin/php
|
||||
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
|
||||
|
||||
bind = 127.0.0.1
|
||||
only_from = 127.0.0.1
|
||||
|
||||
type = UNLISTED
|
||||
port = <REALTIME_PORT>
|
||||
disable = no
|
||||
|
||||
log_type = SYSLOG daemon info
|
||||
log_on_success = HOST DURATION
|
||||
log_on_failure = HOST ATTEMPT
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user