Compare commits
59 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
973d45ca06 | ||
|
|
e79fe3e510 | ||
|
|
eddb2a2623 | ||
|
|
ae595b0f2f | ||
|
|
423fd7b7df | ||
|
|
7f6a21ceec | ||
|
|
f11c180ea8 | ||
|
|
a7f22a3426 | ||
|
|
2c12c51977 | ||
|
|
ee7f83aede | ||
|
|
6f37aa2209 | ||
|
|
1d03f04e1e | ||
|
|
8ec1b723a2 | ||
|
|
fb75e43511 | ||
|
|
3e4dc2f1d8 | ||
|
|
6c233818f2 | ||
|
|
9a18dbcc36 | ||
|
|
cbfb89f86a | ||
|
|
491e5363a7 | ||
|
|
b5465f602f | ||
|
|
49ff638e20 | ||
|
|
cb2ad2261b | ||
|
|
a6909a8cec | ||
|
|
a0c557c405 | ||
|
|
0cd452de28 | ||
|
|
91d461b122 | ||
|
|
098afe7cf8 | ||
|
|
25b1478261 | ||
|
|
adf79b3b1d | ||
|
|
0461e4cbd9 | ||
|
|
b289a6746a | ||
|
|
1d2193d0e2 | ||
|
|
8fb23fcf62 | ||
|
|
525499b987 | ||
|
|
f8b3da48fc | ||
|
|
dd0aa8e10c | ||
|
|
fea80269ed | ||
|
|
dd9b72e45e | ||
|
|
7aba67af11 | ||
|
|
a1561618e9 | ||
|
|
c549e17795 | ||
|
|
3c59d37dd2 | ||
|
|
d236a5ceda | ||
|
|
66d5ea8f9e | ||
|
|
e8de3d45e5 | ||
|
|
c192d19d7e | ||
|
|
ada8ecf04a | ||
|
|
2d3701c5a3 | ||
|
|
0488a3c2a4 | ||
|
|
74e3ed0a1f | ||
|
|
432f555e37 | ||
|
|
78ae0e2f56 | ||
|
|
2dc14c31c2 | ||
|
|
2a7d6c5d88 | ||
|
|
75f37de29b | ||
|
|
119015f3f0 | ||
|
|
2378d4319c | ||
|
|
8dcade976d | ||
|
|
bf14528d17 |
126
TODO
126
TODO
@@ -1,126 +0,0 @@
|
|||||||
FIXED 0001282 Homedirs von Dovecot identisch
|
|
||||||
FIXED 0001283 SysCP creating broken lighttpd config files
|
|
||||||
FIXED 0001213 APS class_apsinstaller.php on line 510 - error installing different apps
|
|
||||||
FIXED 0001272 Default Config for libnss incomplete (debian/lenny)
|
|
||||||
FIXED 0001281 Wrong open_basedir directive
|
|
||||||
FIXED 0001279 incorrect usage of escapeshellcmd
|
|
||||||
FIXED 0001269 AWStats RewriteRule is wrong
|
|
||||||
FIXED 0001277 Apache Redirect => permanent 301
|
|
||||||
FIXED 0001276 Bind Zones Not Updated on Nameserver Change
|
|
||||||
FIXED 0001275 Setting up Traffic limit is limited to 999 GB
|
|
||||||
FIXED 0001273 APS-Installer
|
|
||||||
FIXED 0001271 cant install the package magento
|
|
||||||
FIXED 0001270 xinet reltime update mistake
|
|
||||||
FIXED 0001268 SysCP Funktion: aktualisierung in Real-Time
|
|
||||||
FIXED 0001267 Domain-Aliases also create a HOST-entry
|
|
||||||
FIXED 0001266 Lighttpd has a internal limit of regex-hits which limits max amount of domain-aliases
|
|
||||||
FIXED 0001263 Cosmettic Change
|
|
||||||
FIXED 0001255 Wrong path to usage statistics under domain settings
|
|
||||||
FIXED 0001236 the cron doesnt delete user directories
|
|
||||||
FIXED 0001254 Installation no next button
|
|
||||||
FIXED 0001253 admin_customers.php line 803 / 804 contain the same
|
|
||||||
FIXED 0001250 Apache redirect to Umlautdomains does not work
|
|
||||||
FIXED 0001249 SysCP SVN(!) settings loader doesn't load some settings
|
|
||||||
FIXED 0001247 tab order problems at email forward mask
|
|
||||||
FIXED 0001246 wrong variable assigned in /templates/admin/customers/customers_add.tpl
|
|
||||||
FIXED 0001239 awstats configs get cluttered up after domain deletion
|
|
||||||
FIXED 0001228 Domain deletion fails
|
|
||||||
FIXED 0001233 Display errors when amount of FTP or Mail Traffic is larger than HTTP traffic
|
|
||||||
FIXED 0001122 Field members of table ftp_groups not updated correctly when customer deletes ftp user
|
|
||||||
FIXED 0001215 php.ini: open_basedir error
|
|
||||||
FIXED 0001223 Postfix proposed SQL-query in mysql-virtual_alias_maps.cf: use TRIM()
|
|
||||||
FIXED 0001221 syscp xinet.d - no need to edit /etc/services
|
|
||||||
FIXED 0001217 SysCP Realtime Support
|
|
||||||
FIXED 0001209 APS crashs when installing magento
|
|
||||||
FIXED 0001210 Add start- and endtime to autoresponder
|
|
||||||
FIXED 0001185 Autoreponder - send mails via sendmail to set correct Return-Path header
|
|
||||||
FIXED 0001201 Virtualusers conflict with local users when using libnss-mysql
|
|
||||||
FIXED 0001203 Add check for PHP version and required PHP modules in install script
|
|
||||||
FIXED 0001013 lighttpd - every customer should have his own php.ini
|
|
||||||
FIXED 0001113 realtime functionality broken
|
|
||||||
FIXED 0001080 host of third level gets overridden by second-level when wwwserveralias is not set on lighttpd
|
|
||||||
FIXED 0001159 serveral errors for lighttpd
|
|
||||||
FIXED 0001181 lighttpd cronjob config for subdomains is empty
|
|
||||||
FIXED 0001176 libnss-mysql and conflicting usernames/groups
|
|
||||||
FIXED 0001154 Wrong configuration set with AWstats an fcgi
|
|
||||||
FIXED 0001149 Create a Configuration-Option for SPF Records in Zonefiles
|
|
||||||
FIXED 0001095 lighttpd - redirection - "/" slash is added to end of url
|
|
||||||
FIXED 0001148 Show info for inactive modifications
|
|
||||||
FIXED 0001051 include_shell issue in lighttpd 1.4.20
|
|
||||||
--------------------------------------------------------------------------------------------------------------
|
|
||||||
WONFIX 0001278 Customer and domain directories are not created
|
|
||||||
WONTFIX 0001056 Need extra payment methods
|
|
||||||
WONTFIX 0001262 Currency type modification.
|
|
||||||
WONTFIX 0001257 Fee is recalculated with current contract data although interval is over
|
|
||||||
WONTFIX 0001260 2x F5 causes bigger fonts
|
|
||||||
WONTFIX 0001259 contract-changes optional with cron to the end of the interval
|
|
||||||
WONTFIX 0001258 Make invoices immediately
|
|
||||||
WONTFIX 0001252 Backup Cronjob for Customers
|
|
||||||
WONTFIX 0001248 blog.syscp.org
|
|
||||||
WONTFIX 0001243 Wrong uid and gid for php-fcgi-starter
|
|
||||||
WONTIFX 0001241 Patch for facilate customizing syscp
|
|
||||||
WONTFIX 0001227 Error on fixing invoices with credit notes
|
|
||||||
WONTFIX 0001039 Additional text field for infos in customers "Contact Data"
|
|
||||||
WONTFIX 0001187 additional Invoices
|
|
||||||
WONTFIX 0001059 Billing - Create contract - Filename should contain customername
|
|
||||||
WONTFIX 0001112 customers should be able to create custom cronjobs
|
|
||||||
WONTFIX 0001136 Configuration of "dead" mail adresses
|
|
||||||
WONTFIX 0001134 Allow selection of a default apache page / provide access to syscp
|
|
||||||
WONTFIX 0001104 Listen Configuration should contain a warning for debian
|
|
||||||
WONTFIX 0001098 Possibillity to dissable "Catchall" for mails
|
|
||||||
WONTFIX 0001033 Cron-Tasks: creating of php.ini
|
|
||||||
--------------------------------------------------------------------------------------------------------------
|
|
||||||
0001274 Option to mark a Domain as Subdomain possible or not
|
|
||||||
0001280 deb packet 1.4.2.1-2 fu*ked
|
|
||||||
0001041 Customer should have access to his webserver logs.
|
|
||||||
0001261 No e-mail on 90% traffic
|
|
||||||
0001120 Missing function to calculate the mail traffic
|
|
||||||
0001244 customer view too wide for 1024x768 resolutions
|
|
||||||
0001229 subdomains and Own vHost-Settings
|
|
||||||
0001251 possibility to manage WebDAV config in SysCP
|
|
||||||
0001042 Webalizer dir should not be deletable
|
|
||||||
0001245 Password Protect /awstats/ when using awstats and fcgid
|
|
||||||
0001156 Repairing use of awstats and awstats-icons with fcgi
|
|
||||||
0001242 When email qouta is enabled, you cannot add more resources to a client.
|
|
||||||
0001240 Wrong php.ini for subdomains with fastCGI
|
|
||||||
0001224 APS installer not installing the aps applications properly, such as WordPress and WebCalender
|
|
||||||
0001017 Proftpd - Quota should be added
|
|
||||||
0001016 Pureftpd - quota should be added
|
|
||||||
0001206 crontabs not terminating
|
|
||||||
0001212 retain form input
|
|
||||||
0001211 Generated MySQL username too long
|
|
||||||
0001208 HTML Tags in Support Tickets
|
|
||||||
0001207 FTP Passw<73>rter mit Umlauten
|
|
||||||
0001204 php5-suhosin
|
|
||||||
0001198 More online help wanted
|
|
||||||
0001189 Autoresponder: support for multiline "From:" headers
|
|
||||||
0001186 subdomains and php configuration
|
|
||||||
0001079 Protected dir only works only after a force-reload on lighttpd
|
|
||||||
0001034 Cron-Tasks: apache-logfiles directory
|
|
||||||
0001150 Wrong configuration of awstats
|
|
||||||
0001083 awstats.model.conf.syscp should include awstats.conf
|
|
||||||
0001152 apache certificate is not generated
|
|
||||||
0001151 When cronjob generates new dkim files a mail is sent to root
|
|
||||||
0001005 Force user to add POP3 Account before he can add e-mail adresses
|
|
||||||
0001142 Default index.html should be placed in a sub-directory of a domain.
|
|
||||||
0001140 Replace variables in defaut_vhost config
|
|
||||||
0001138 old db-data is lost when mysqldump is not within open_basedir
|
|
||||||
0001135 dkim refers to non-existing domainkey entry in DNS zone file.
|
|
||||||
0001133 Default Configuration doesn't allow Exim4 to forward Mails to the outside world
|
|
||||||
0001128 More targets for "Write a message" tool
|
|
||||||
0001131 Add FreeBSD configuration files to the base tarball.
|
|
||||||
0001130 Wrong number format in e.g. traffic display.
|
|
||||||
0001129 Allow selection of automatic creation of a webmail.<domain>.<tld>, phpmyadmin. ..., webftp. ...
|
|
||||||
0001127 Versioning of configuration templates.
|
|
||||||
0001116 Please add tooltips to adminCP
|
|
||||||
0001114 Password query for Awstats statistics
|
|
||||||
0001111 add login for e-mail and ftp users to let them change their own settings
|
|
||||||
0001109 no mail traffic is shown and calculated without third party module
|
|
||||||
0001101 Default mail qouta - possibillity to set new accounts to amount of webspace
|
|
||||||
0001084 Add select box to change special logfile setting on domain edit
|
|
||||||
0001058 Add id/class attributs in <img> tag (left navigation)
|
|
||||||
0001043 When creating customer it should also be possible to add domains (merge customer & domain menu)
|
|
||||||
0001035 PHP-Error-Log | Adminpanel & CronTask
|
|
||||||
0001010 Send info mail to customer if webspace is exceeded
|
|
||||||
0001004 Ressources / Domains - Standard subdomains should be separrated from normal Domains
|
|
||||||
9999999 Write a complete statement about what froxlor is and why we do this (atari)
|
|
||||||
@@ -95,6 +95,14 @@ return array(
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'dependency' => array(
|
||||||
|
'fieldname' => 'panel_allow_preset_admin',
|
||||||
|
'fielddata' => array(
|
||||||
|
'settinggroup' => 'panel',
|
||||||
|
'varname' => 'allow_preset_admin',
|
||||||
|
),
|
||||||
|
'onlyif' => 0
|
||||||
|
)
|
||||||
),
|
),
|
||||||
'panel_allow_preset_admin' => array(
|
'panel_allow_preset_admin' => array(
|
||||||
'label' => $lng['serversettings']['allow_password_reset_admin'],
|
'label' => $lng['serversettings']['allow_password_reset_admin'],
|
||||||
@@ -103,6 +111,14 @@ return array(
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => false,
|
'default' => false,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
'dependency' => array(
|
||||||
|
'fieldname' => 'panel_allow_preset',
|
||||||
|
'fielddata' => array(
|
||||||
|
'settinggroup' => 'panel',
|
||||||
|
'varname' => 'allow_preset',
|
||||||
|
),
|
||||||
|
'onlyif' => 1
|
||||||
|
)
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ return array(
|
|||||||
'label' => $lng['serversettings']['system_realtime_port'],
|
'label' => $lng['serversettings']['system_realtime_port'],
|
||||||
'settinggroup' => 'system',
|
'settinggroup' => 'system',
|
||||||
'varname' => 'realtime_port',
|
'varname' => 'realtime_port',
|
||||||
'type' => 'int',
|
'type' => (function_exists('socket_create') ? 'int' : 'hidden'),
|
||||||
'int_max' => 65535,
|
'int_max' => 65535,
|
||||||
'default' => 0,
|
'default' => 0,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
|||||||
@@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
define('AREA', 'admin');
|
define('AREA', 'admin');
|
||||||
require ("./lib/init.php");
|
require ("./lib/init.php");
|
||||||
require ("./lib/class_apsparser.php");
|
|
||||||
$Id = 0;
|
$Id = 0;
|
||||||
|
|
||||||
if(isset($_GET['id']))$Id = (int)$_GET['id'];
|
if(isset($_GET['id']))$Id = (int)$_GET['id'];
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ if($userinfo['change_serversettings'] == '1')
|
|||||||
'<VIRTUAL_GID_MAPS>' => $settings['system']['vmail_gid'],
|
'<VIRTUAL_GID_MAPS>' => $settings['system']['vmail_gid'],
|
||||||
'<AWSTATS_PATH>' => $settings['system']['awstats_path'],
|
'<AWSTATS_PATH>' => $settings['system']['awstats_path'],
|
||||||
'<SSLPROTOCOLS>' => ($settings['system']['use_ssl'] == '1') ? 'imaps pop3s' : '',
|
'<SSLPROTOCOLS>' => ($settings['system']['use_ssl'] == '1') ? 'imaps pop3s' : '',
|
||||||
'<REALTIME_PORT>' => $settings['system']['realtime_port']
|
'<REALTIME_PORT>' => $settings['system']['realtime_port'],
|
||||||
|
'<CUSTOMER_TMP>' => ($settings['system']['mod_fcgid_tmpdir'] != '') ? $settings['system']['mod_fcgid_tmpdir'] : '/tmp/'
|
||||||
);
|
);
|
||||||
$files = '';
|
$files = '';
|
||||||
$configpage = '';
|
$configpage = '';
|
||||||
|
|||||||
@@ -622,23 +622,22 @@ if($page == 'customers'
|
|||||||
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$userinfo['adminid'] . '\' AND `language`=\'' . $db->escape($def_language) . '\' AND `templategroup`=\'mails\' AND `varname`=\'createcustomer_mailbody\'');
|
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$userinfo['adminid'] . '\' AND `language`=\'' . $db->escape($def_language) . '\' AND `templategroup`=\'mails\' AND `varname`=\'createcustomer_mailbody\'');
|
||||||
$mail_body = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['createcustomer']['mailbody']), $replace_arr));
|
$mail_body = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['createcustomer']['mailbody']), $replace_arr));
|
||||||
|
|
||||||
$mail->From = $userinfo['email'];
|
$_mailerror = false;
|
||||||
$mail->FromName = $userinfo['name'];
|
try {
|
||||||
$mail->Subject = $mail_subject;
|
$mail->Subject = $mail_subject;
|
||||||
$mail->Body = $mail_body;
|
$mail->AltBody = $mail_body;
|
||||||
$mail->AddAddress($email, getCorrectUserSalutation(array('firstname' => $firstname, 'name' => $name, 'company' => $company)));
|
$mail->MsgHTML(str_replace("\n", "<br />", $mail_body));
|
||||||
|
$mail->AddAddress($email, getCorrectUserSalutation(array('firstname' => $firstname, 'name' => $name, 'company' => $company)));
|
||||||
if(!$mail->Send())
|
$mail->Send();
|
||||||
{
|
} catch(phpmailerException $e) {
|
||||||
if($mail->ErrorInfo != '')
|
$mailerr_msg = $e->errorMessage();
|
||||||
{
|
$_mailerror = true;
|
||||||
$mailerr_msg = $mail->ErrorInfo;
|
} catch (Exception $e) {
|
||||||
}
|
$mailerr_msg = $e->getMessage();
|
||||||
else
|
$_mailerror = true;
|
||||||
{
|
}
|
||||||
$mailerr_msg = $email;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
$log->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$log->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error('errorsendingmail', $email);
|
standard_error('errorsendingmail', $email);
|
||||||
}
|
}
|
||||||
@@ -781,11 +780,18 @@ if($page == 'customers'
|
|||||||
$mysqls = - 1;
|
$mysqls = - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
$number_of_aps_packages = intval_ressource($_POST['number_of_aps_packages']);
|
if($settings['aps']['aps_active'] == '1')
|
||||||
|
{
|
||||||
|
$number_of_aps_packages = intval_ressource($_POST['number_of_aps_packages']);
|
||||||
|
|
||||||
if(isset($_POST['number_of_aps_packages_ul']))
|
if(isset($_POST['number_of_aps_packages_ul']))
|
||||||
|
{
|
||||||
|
$number_of_aps_packages = - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$number_of_aps_packages = - 1;
|
$number_of_aps_packages = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$createstdsubdomain = intval($_POST['createstdsubdomain']);
|
$createstdsubdomain = intval($_POST['createstdsubdomain']);
|
||||||
|
|||||||
@@ -570,8 +570,6 @@ if($page == 'domains'
|
|||||||
$ssl_ipsandports.= makeoption($row_ssl_ipandport['ip'] . ':' . $row_ssl_ipandport['port'], $row_ssl_ipandport['id'], $settings['system']['defaultip']);
|
$ssl_ipsandports.= makeoption($row_ssl_ipandport['ip'] . ':' . $row_ssl_ipandport['port'], $row_ssl_ipandport['id'], $settings['system']['defaultip']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$ssl = makeyesno('ssl', '1', '0', $result['ssl']);
|
|
||||||
$ssl_redirect = makeyesno('ssl_redirect', '1', '0', $result['ssl_redirect']);
|
|
||||||
$standardsubdomains = array();
|
$standardsubdomains = array();
|
||||||
$result_standardsubdomains = $db->query('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`, `' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`id`=`c`.`standardsubdomain`');
|
$result_standardsubdomains = $db->query('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`, `' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`id`=`c`.`standardsubdomain`');
|
||||||
|
|
||||||
@@ -615,6 +613,8 @@ if($page == 'domains'
|
|||||||
$openbasedir = makeyesno('openbasedir', '1', '0', '1');
|
$openbasedir = makeyesno('openbasedir', '1', '0', '1');
|
||||||
$safemode = makeyesno('safemode', '1', '0', '1');
|
$safemode = makeyesno('safemode', '1', '0', '1');
|
||||||
$speciallogfile = makeyesno('speciallogfile', '1', '0', '0');
|
$speciallogfile = makeyesno('speciallogfile', '1', '0', '0');
|
||||||
|
$ssl = makeyesno('ssl', '1', '0', '0');
|
||||||
|
$ssl_redirect = makeyesno('ssl_redirect', '1', '0', '0');
|
||||||
$add_date = date('Y-m-d');
|
$add_date = date('Y-m-d');
|
||||||
|
|
||||||
eval("echo \"" . getTemplate("domains/domains_add") . "\";");
|
eval("echo \"" . getTemplate("domains/domains_add") . "\";");
|
||||||
@@ -624,7 +624,11 @@ if($page == 'domains'
|
|||||||
elseif($action == 'edit'
|
elseif($action == 'edit'
|
||||||
&& $id != 0)
|
&& $id != 0)
|
||||||
{
|
{
|
||||||
$result = $db->query_first("SELECT `d`.`id`, `d`.`domain`, `d`.`customerid`, `d`.`adminid`, `d`.`email_only`, `d`.`documentroot`, `d`.`ssl`, `d`.`ssl_redirect`, `d`.`ssl_ipandport`,`d`.`ipandport`, `d`.`aliasdomain`, `d`.`isbinddomain`, `d`.`isemaildomain`, `d`.`subcanemaildomain`, `d`.`dkim`, `d`.`caneditdomain`, `d`.`zonefile`, `d`.`wwwserveralias`, `d`.`openbasedir`, `d`.`safemode`, `d`.`speciallogfile`, `d`.`specialsettings`, `d`.`add_date`, `d`.`registration_date`, `c`.`loginname`, `c`.`name`, `c`.`firstname`, `c`.`company`, `d`.`phpsettingid`, `d`.`mod_fcgid_starter`, `d`.`mod_fcgid_maxrequests` " . "FROM `" . TABLE_PANEL_DOMAINS . "` `d` " . "LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`) " . "WHERE `d`.`parentdomainid`='0' AND `d`.`id`='" . (int)$id . "'" . ($userinfo['customers_see_all'] ? '' : " AND `d`.`adminid` = '" . (int)$userinfo['adminid'] . "' "));
|
$result = $db->query_first("SELECT `d`.*, `c`.`customerid` FROM `" . TABLE_PANEL_DOMAINS . "` `d`
|
||||||
|
LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`)
|
||||||
|
WHERE `d`.`parentdomainid`='0'
|
||||||
|
AND `d`.`id`='" . (int)$id . "'"
|
||||||
|
. ($userinfo['customers_see_all'] ? '' : " AND `d`.`adminid` = '" . (int)$userinfo['adminid'] . "' "));
|
||||||
|
|
||||||
if($result['domain'] != '')
|
if($result['domain'] != '')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -84,26 +84,38 @@ if($page == 'overview')
|
|||||||
$webserverinterface = strtoupper(@php_sapi_name());
|
$webserverinterface = strtoupper(@php_sapi_name());
|
||||||
|
|
||||||
if((isset($_GET['lookfornewversion']) && $_GET['lookfornewversion'] == 'yes')
|
if((isset($_GET['lookfornewversion']) && $_GET['lookfornewversion'] == 'yes')
|
||||||
|| (isset($lookfornewversion) && $lookfornewversion == 'yes'))
|
|| (isset($lookfornewversion) && $lookfornewversion == 'yes'))
|
||||||
{
|
{
|
||||||
$update_check_uri = 'http://version.froxlor.org/Froxlor/legacy/' . $version;
|
$update_check_uri = 'http://version.froxlor.org/Froxlor/legacy/' . $version;
|
||||||
|
|
||||||
if(strtolower(ini_get('allow_url_fopen')) == 'on')
|
if(ini_get('allow_url_fopen'))
|
||||||
{
|
{
|
||||||
$latestversion = @file($update_check_uri);
|
$latestversion = @file($update_check_uri);
|
||||||
|
|
||||||
$latestversion = explode(':', $latestversion);
|
if (isset($latestversion[0]))
|
||||||
|
|
||||||
if(is_array($latestversion)
|
|
||||||
&& count($latestversion) >= 2)
|
|
||||||
{
|
{
|
||||||
$lookfornewversion_lable = $latestversion[0];
|
$latestversion = explode('|', $latestversion[0]);
|
||||||
$lookfornewversion_link = $latestversion[1];
|
|
||||||
$lookfornewversion_addinfo = '';
|
if(is_array($latestversion)
|
||||||
|
&& count($latestversion) >= 1)
|
||||||
if(count($latestversion) >= 3)
|
|
||||||
{
|
{
|
||||||
$lookfornewversion_addinfo = $latestversion[2];
|
$_version = $latestversion[0];
|
||||||
|
$_message = $latestversion[1];
|
||||||
|
$_link = isset($latestversion[2]) ? $latestversion[2] : htmlspecialchars($filename . '?s=' . urlencode($s) . '&page=' . urlencode($page) . '&lookfornewversion=yes');
|
||||||
|
|
||||||
|
$lookfornewversion_lable = $_version;
|
||||||
|
$lookfornewversion_link = $_link;
|
||||||
|
$lookfornewversion_addinfo = $_message;
|
||||||
|
|
||||||
|
if (version_compare($version, $_version) == -1) {
|
||||||
|
$isnewerversion = 1;
|
||||||
|
} else {
|
||||||
|
$isnewerversion = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
redirectTo($update_check_uri.'/pretty', NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -121,6 +133,7 @@ if($page == 'overview')
|
|||||||
$lookfornewversion_lable = $lng['admin']['lookfornewversion']['clickhere'];
|
$lookfornewversion_lable = $lng['admin']['lookfornewversion']['clickhere'];
|
||||||
$lookfornewversion_link = htmlspecialchars($filename . '?s=' . urlencode($s) . '&page=' . urlencode($page) . '&lookfornewversion=yes');
|
$lookfornewversion_link = htmlspecialchars($filename . '?s=' . urlencode($s) . '&page=' . urlencode($page) . '&lookfornewversion=yes');
|
||||||
$lookfornewversion_addinfo = '';
|
$lookfornewversion_addinfo = '';
|
||||||
|
$isnewerversion = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$userinfo['diskspace'] = round($userinfo['diskspace'] / 1024, $settings['panel']['decimal_places']);
|
$userinfo['diskspace'] = round($userinfo['diskspace'] / 1024, $settings['panel']['decimal_places']);
|
||||||
@@ -177,8 +190,8 @@ if($page == 'overview')
|
|||||||
$uptime_array = explode(" ", @file_get_contents("/proc/uptime"));
|
$uptime_array = explode(" ", @file_get_contents("/proc/uptime"));
|
||||||
|
|
||||||
if(is_array($uptime_array)
|
if(is_array($uptime_array)
|
||||||
&& isset($uptime_array[0])
|
&& isset($uptime_array[0])
|
||||||
&& is_numeric($uptime_array[0]))
|
&& is_numeric($uptime_array[0]))
|
||||||
{
|
{
|
||||||
// Some calculatioon to get a nicly formatted display
|
// Some calculatioon to get a nicly formatted display
|
||||||
|
|
||||||
@@ -207,7 +220,7 @@ if($page == 'overview')
|
|||||||
elseif($page == 'change_password')
|
elseif($page == 'change_password')
|
||||||
{
|
{
|
||||||
if(isset($_POST['send'])
|
if(isset($_POST['send'])
|
||||||
&& $_POST['send'] == 'send')
|
&& $_POST['send'] == 'send')
|
||||||
{
|
{
|
||||||
$old_password = validate($_POST['old_password'], 'old password');
|
$old_password = validate($_POST['old_password'], 'old password');
|
||||||
|
|
||||||
@@ -251,7 +264,7 @@ elseif($page == 'change_password')
|
|||||||
elseif($page == 'change_language')
|
elseif($page == 'change_language')
|
||||||
{
|
{
|
||||||
if(isset($_POST['send'])
|
if(isset($_POST['send'])
|
||||||
&& $_POST['send'] == 'send')
|
&& $_POST['send'] == 'send')
|
||||||
{
|
{
|
||||||
$def_language = validate($_POST['def_language'], 'default language');
|
$def_language = validate($_POST['def_language'], 'default language');
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ if($page == 'message')
|
|||||||
&& $userinfo['customers_see_all'] == '1')
|
&& $userinfo['customers_see_all'] == '1')
|
||||||
{
|
{
|
||||||
$log->logAction(ADM_ACTION, LOG_NOTICE, "sending messages to admins");
|
$log->logAction(ADM_ACTION, LOG_NOTICE, "sending messages to admins");
|
||||||
$result = $db->query('SELECT `firstname`, `name`, `email` FROM `' . TABLE_PANEL_ADMINS . "`");
|
$result = $db->query('SELECT `name`, `email` FROM `' . TABLE_PANEL_ADMINS . "`");
|
||||||
}
|
}
|
||||||
elseif($_POST['receipient'] == 1)
|
elseif($_POST['receipient'] == 1)
|
||||||
{
|
{
|
||||||
@@ -78,9 +78,9 @@ if($page == 'message')
|
|||||||
|
|
||||||
while($row = $db->fetch_array($result))
|
while($row = $db->fetch_array($result))
|
||||||
{
|
{
|
||||||
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
|
$mail->AddAddress($row['email'], (isset($row['firstname']) ? $row['firstname'] . ' ' : '') . $row['name']);
|
||||||
$mail->From = $userinfo['email'];
|
$mail->From = $userinfo['email'];
|
||||||
$mail->FromName = $userinfo['firstname'] . ' ' . $userinfo['name'];
|
$mail->FromName = (isset($userinfo['firstname']) ? $userinfo['firstname'] . ' ' : '') . $userinfo['name'];
|
||||||
|
|
||||||
if(!$mail->Send())
|
if(!$mail->Send())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -742,6 +742,7 @@ elseif($page == 'archive'
|
|||||||
$ticket_replies = '';
|
$ticket_replies = '';
|
||||||
$mainticket = ticket::getInstanceOf($userinfo, $db, $settings, (int)$id);
|
$mainticket = ticket::getInstanceOf($userinfo, $db, $settings, (int)$id);
|
||||||
$lastchange = date("d.m.Y H:i\h", $mainticket->Get('lastchange'));
|
$lastchange = date("d.m.Y H:i\h", $mainticket->Get('lastchange'));
|
||||||
|
$dt = date("d.m.Y H:i\h", $mainticket->Get('dt'));
|
||||||
$status = ticket::getStatusText($lng, $mainticket->Get('status'));
|
$status = ticket::getStatusText($lng, $mainticket->Get('status'));
|
||||||
$isclosed = 1;
|
$isclosed = 1;
|
||||||
|
|
||||||
|
|||||||
@@ -21,20 +21,53 @@ require ("./lib/init.php");
|
|||||||
if($page == 'overview')
|
if($page == 'overview')
|
||||||
{
|
{
|
||||||
$log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_updates");
|
$log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_updates");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this is a dirty hack but syscp 1.4.2.1 does not
|
||||||
|
* has any version/dbversion in the database (don't know why)
|
||||||
|
* so we have to set them both to run a correct upgrade
|
||||||
|
*/
|
||||||
|
if (!isFroxlor()) {
|
||||||
|
if (!isset($settings['panel']['version'])
|
||||||
|
|| $settings['panel']['version'] == ''
|
||||||
|
) {
|
||||||
|
$settings['panel']['version'] = '1.4.2.1';
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('panel','version','".$settings['panel']['version']."')");
|
||||||
|
}
|
||||||
|
if (!isset($settings['system']['dbversion'])
|
||||||
|
|| $settings['system']['dbversion'] == ''
|
||||||
|
) {
|
||||||
|
/**
|
||||||
|
* for syscp-stable (1.4.2.1) this value has to be 0
|
||||||
|
* so the required table-fields are added correctly
|
||||||
|
* and the svn-version has its value in the database
|
||||||
|
* -> bug #54
|
||||||
|
*/
|
||||||
|
|
||||||
|
$result = $db->query_first("SELECT `value` FROM `" . TABLE_PANEL_SETTINGS . "` WHERE `varname` = 'dbversion'");
|
||||||
|
|
||||||
|
if(isset($result['value']))
|
||||||
|
{
|
||||||
|
$settings['system']['dbversion'] = (int)$result['value'];
|
||||||
|
} else {
|
||||||
|
$settings['system']['dbversion'] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(hasUpdates($version))
|
if(hasUpdates($version))
|
||||||
{
|
{
|
||||||
if(isset($_POST['send'])
|
if(isset($_POST['send'])
|
||||||
&& $_POST['send'] == 'send')
|
&& $_POST['send'] == 'send')
|
||||||
{
|
{
|
||||||
|
|
||||||
eval("echo \"" . getTemplate("update/update_start") . "\";");
|
eval("echo \"" . getTemplate("update/update_start") . "\";");
|
||||||
|
|
||||||
include_once('./install/updatesql.php');
|
include_once('./install/updatesql.php');
|
||||||
|
|
||||||
$redirect_url = 'admin_index.php';
|
$redirect_url = 'admin_index.php';
|
||||||
eval("echo \"" . getTemplate("update/update_end") . "\";");
|
eval("echo \"" . getTemplate("update/update_end") . "\";");
|
||||||
|
|
||||||
updateCounters();
|
updateCounters();
|
||||||
inserttask('1');
|
inserttask('1');
|
||||||
@chmod('./lib/userdata.inc.php', 0440);
|
@chmod('./lib/userdata.inc.php', 0440);
|
||||||
@@ -43,19 +76,19 @@ if($page == 'overview')
|
|||||||
{
|
{
|
||||||
$current_version = $settings['panel']['version'];
|
$current_version = $settings['panel']['version'];
|
||||||
$new_version = $version;
|
$new_version = $version;
|
||||||
|
|
||||||
$ui_text = $lng['update']['update_information'];
|
$ui_text = $lng['update']['update_information'];
|
||||||
$ui_text = str_replace('%curversion', $current_version, $ui_text);
|
$ui_text = str_replace('%curversion', $current_version, $ui_text);
|
||||||
$ui_text = str_replace('%newversion', $new_version, $ui_text);
|
$ui_text = str_replace('%newversion', $new_version, $ui_text);
|
||||||
$update_information = $ui_text;
|
$update_information = $ui_text;
|
||||||
|
|
||||||
eval("echo \"" . getTemplate("update/index") . "\";");
|
eval("echo \"" . getTemplate("update/index") . "\";");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* @TODO version-webcheck check here
|
* @TODO version-webcheck check here
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$success_message = $lng['update']['noupdatesavail'];
|
$success_message = $lng['update']['noupdatesavail'];
|
||||||
@@ -63,5 +96,5 @@ if($page == 'overview')
|
|||||||
eval("echo \"" . getTemplate("update/noupdatesavail") . "\";");
|
eval("echo \"" . getTemplate("update/noupdatesavail") . "\";");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
define('AREA', 'customer');
|
define('AREA', 'customer');
|
||||||
require ("./lib/init.php");
|
require ("./lib/init.php");
|
||||||
require ("./lib/class_apsparser.php");
|
|
||||||
$Id = 0;
|
$Id = 0;
|
||||||
|
|
||||||
if(isset($_GET['id']))$Id = (int)$_GET['id'];
|
if(isset($_GET['id']))$Id = (int)$_GET['id'];
|
||||||
|
|||||||
@@ -439,9 +439,9 @@ elseif($page == 'domains')
|
|||||||
|| $ssl_redirect != $result['ssl_redirect'])
|
|| $ssl_redirect != $result['ssl_redirect'])
|
||||||
{
|
{
|
||||||
$log->logAction(USR_ACTION, LOG_INFO, "edited domain '" . $idna_convert->decode($result['domain']) . "'");
|
$log->logAction(USR_ACTION, LOG_INFO, "edited domain '" . $idna_convert->decode($result['domain']) . "'");
|
||||||
|
$result = $db->query("UPDATE `" . TABLE_PANEL_DOMAINS . "` SET `documentroot`='" . $db->escape($path) . "', `isemaildomain`='" . (int)$isemaildomain . "', `iswildcarddomain`='" . (int)$iswildcarddomain . "', `aliasdomain`=" . (($aliasdomain != 0 && $alias_check == 0) ? '\'' . $db->escape($aliasdomain) . '\'' : 'NULL') . ",`openbasedir_path`='" . $db->escape($openbasedir_path) . "', `ssl_redirect`='" . $ssl_redirect . "' WHERE `customerid`='" . (int)$userinfo['customerid'] . "' AND `id`='" . (int)$id . "'");
|
||||||
inserttask('1');
|
inserttask('1');
|
||||||
inserttask('4');
|
inserttask('4');
|
||||||
$result = $db->query("UPDATE `" . TABLE_PANEL_DOMAINS . "` SET `documentroot`='" . $db->escape($path) . "', `isemaildomain`='" . (int)$isemaildomain . "', `iswildcarddomain`='" . (int)$iswildcarddomain . "', `aliasdomain`=" . (($aliasdomain != 0 && $alias_check == 0) ? '\'' . $db->escape($aliasdomain) . '\'' : 'NULL') . ",`openbasedir_path`='" . $db->escape($openbasedir_path) . "', `ssl_redirect`='" . $ssl_redirect . "' WHERE `customerid`='" . (int)$userinfo['customerid'] . "' AND `id`='" . (int)$id . "'");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
redirectTo($filename, Array('page' => $page, 's' => $s));
|
redirectTo($filename, Array('page' => $page, 's' => $s));
|
||||||
|
|||||||
@@ -427,23 +427,24 @@ elseif($page == 'accounts')
|
|||||||
$mail_subject = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success']['subject']), $replace_arr));
|
$mail_subject = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success']['subject']), $replace_arr));
|
||||||
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$userinfo['adminid'] . '\' AND `language`=\'' . $db->escape($userinfo['def_language']) . '\' AND `templategroup`=\'mails\' AND `varname`=\'pop_success_mailbody\'');
|
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$userinfo['adminid'] . '\' AND `language`=\'' . $db->escape($userinfo['def_language']) . '\' AND `templategroup`=\'mails\' AND `varname`=\'pop_success_mailbody\'');
|
||||||
$mail_body = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success']['mailbody']), $replace_arr));
|
$mail_body = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success']['mailbody']), $replace_arr));
|
||||||
$mail->From = $admin['email'];
|
|
||||||
$mail->FromName = getCorrectUserSalutation($admin);
|
$_mailerror = false;
|
||||||
$mail->Subject = $mail_subject;
|
try {
|
||||||
$mail->Body = $mail_body;
|
$mail->SetFrom($admin['email'], getCorrectUserSalutation($admin));
|
||||||
$mail->AddAddress($email_full, getCorrectUserSalutation($userinfo));
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
if(!$mail->Send())
|
$mail->MsgHTML(str_replace("\n", "<br />", $mail_body));
|
||||||
{
|
$mail->AddAddress($email_full, getCorrectUserSalutation($userinfo));
|
||||||
if($mail->ErrorInfo != '')
|
$mail->Send();
|
||||||
{
|
} catch(phpmailerException $e) {
|
||||||
$mailerr_msg = $mail->ErrorInfo;
|
$mailerr_msg = $e->errorMessage();
|
||||||
}
|
$_mailerror = true;
|
||||||
else
|
} catch (Exception $e) {
|
||||||
{
|
$mailerr_msg = $e->getMessage();
|
||||||
$mailerr_msg = $email;
|
$_mailerror = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
$log->logAction(USR_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$log->logAction(USR_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error('errorsendingmail', $email);
|
standard_error('errorsendingmail', $email);
|
||||||
}
|
}
|
||||||
@@ -457,23 +458,24 @@ elseif($page == 'accounts')
|
|||||||
$mail_subject = replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success_alternative']['subject']), $replace_arr);
|
$mail_subject = replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success_alternative']['subject']), $replace_arr);
|
||||||
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$userinfo['adminid'] . '\' AND `language`=\'' . $db->escape($userinfo['def_language']) . '\' AND `templategroup`=\'mails\' AND `varname`=\'pop_success_alternative_mailbody\'');
|
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$userinfo['adminid'] . '\' AND `language`=\'' . $db->escape($userinfo['def_language']) . '\' AND `templategroup`=\'mails\' AND `varname`=\'pop_success_alternative_mailbody\'');
|
||||||
$mail_body = replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success_alternative']['mailbody']), $replace_arr);
|
$mail_body = replace_variables((($result['value'] != '') ? $result['value'] : $lng['mails']['pop_success_alternative']['mailbody']), $replace_arr);
|
||||||
$mail->From = $admin['email'];
|
|
||||||
$mail->FromName = getCorrectUserSalutation($admin);
|
$_mailerror = false;
|
||||||
$mail->Subject = $mail_subject;
|
try {
|
||||||
$mail->Body = $mail_body;
|
$mail->SetFrom($admin['email'], getCorrectUserSalutation($admin));
|
||||||
$mail->AddAddress($idna_convert->encode($alternative_email), getCorrectUserSalutation($userinfo));
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
if(!$mail->Send())
|
$mail->MsgHTML(str_replace("\n", "<br />", $mail_body));
|
||||||
{
|
$mail->AddAddress($idna_convert->encode($alternative_email), getCorrectUserSalutation($userinfo));
|
||||||
if($mail->ErrorInfo != '')
|
$mail->Send();
|
||||||
{
|
} catch(phpmailerException $e) {
|
||||||
$mailerr_msg = $mail->ErrorInfo;
|
$mailerr_msg = $e->errorMessage();
|
||||||
}
|
$_mailerror = true;
|
||||||
else
|
} catch (Exception $e) {
|
||||||
{
|
$mailerr_msg = $e->getMessage();
|
||||||
$mailerr_msg = $alternative_email;
|
$_mailerror = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
$log->logAction(USR_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$log->logAction(USR_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error(array('errorsendingmail', $alternative_email));
|
standard_error(array('errorsendingmail', $alternative_email));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ define('AREA', 'customer');
|
|||||||
* Include our init.php, which manages Sessions, Language etc.
|
* Include our init.php, which manages Sessions, Language etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$need_db_sql_data = true;
|
||||||
$need_root_db_sql_data = true;
|
$need_root_db_sql_data = true;
|
||||||
require ("./lib/init.php");
|
require ("./lib/init.php");
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,8 @@ if(!is_null($month)
|
|||||||
WHERE `customerid`='" . $userinfo['customerid'] . "'
|
WHERE `customerid`='" . $userinfo['customerid'] . "'
|
||||||
AND `month` = '" . $month . "'
|
AND `month` = '" . $month . "'
|
||||||
AND `year` = '" . $year . "'");
|
AND `year` = '" . $year . "'");
|
||||||
rsort($row = mysql_fetch_row($result));
|
$row = mysql_fetch_row($result);
|
||||||
|
rsort($row);
|
||||||
$traf['max'] = ($row[0] > $row[1] ? ($row[0] > $row[2] ? $row[0] : $row[2]) : ($row[1] > $row[2] ? $row[1] : $row[2]));;
|
$traf['max'] = ($row[0] > $row[1] ? ($row[0] > $row[2] ? $row[0] : $row[2]) : ($row[1] > $row[2] ? $row[1] : $row[2]));;
|
||||||
$result = $db->query("SELECT
|
$result = $db->query("SELECT
|
||||||
SUM(`http`) as 'http', SUM(`ftp_up`) AS 'ftp_up', SUM(`ftp_down`) as 'ftp_down', SUM(`mail`) as 'mail',
|
SUM(`http`) as 'http', SUM(`ftp_up`) AS 'ftp_up', SUM(`ftp_down`) as 'ftp_down', SUM(`mail`) as 'mail',
|
||||||
@@ -173,17 +174,13 @@ if(!is_null($month)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$result = $db->query("(SELECT SUM(`http`) as sum FROM `" . TABLE_PANEL_TRAFFIC . "`
|
$result = $db->query("SELECT MAX(`http`), MAX(`ftp_up`+`ftp_down`), MAX(`mail`)
|
||||||
WHERE `customerid` = '" . $userinfo['customerid'] . "'
|
FROM `" . TABLE_PANEL_TRAFFIC . "`
|
||||||
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12) UNION
|
WHERE `customerid`='" . $userinfo['customerid'] . "'
|
||||||
(SELECT SUM(`ftp_up`+`ftp_down`) FROM `" . TABLE_PANEL_TRAFFIC . "`
|
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12");
|
||||||
WHERE `customerid` = '" . $userinfo['customerid'] . "'
|
$row = mysql_fetch_row($result);
|
||||||
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12) UNION
|
rsort($row);
|
||||||
(SELECT SUM(`mail`) FROM `" . TABLE_PANEL_TRAFFIC . "`
|
$traf['max'] = ($row[0] > $row[1] ? ($row[0] > $row[2] ? $row[0] : $row[2]) : ($row[1] > $row[2] ? $row[1] : $row[2]));
|
||||||
WHERE `customerid` = '" . $userinfo['customerid'] . "'
|
|
||||||
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12) ORDER BY sum DESC LIMIT 1");
|
|
||||||
$row = $db->fetch_array($result);
|
|
||||||
$traf['max'] = ($row[0] > $row[1] ? ($row[0] > $row[2] ? $row[0] : $row[2]) : ($row[1] > $row[2] ? $row[1] : $row[2]));;
|
|
||||||
$result = $db->query("SELECT `month`, `year`, SUM(`http`) AS http, SUM(`ftp_up`) AS ftp_up, SUM(`ftp_down`) AS ftp_down, SUM(`mail`) AS mail
|
$result = $db->query("SELECT `month`, `year`, SUM(`http`) AS http, SUM(`ftp_up`) AS ftp_up, SUM(`ftp_down`) AS ftp_down, SUM(`mail`) AS mail
|
||||||
FROM `" . TABLE_PANEL_TRAFFIC . "` WHERE `customerid` = '" . $userinfo['customerid'] . "'
|
FROM `" . TABLE_PANEL_TRAFFIC . "` WHERE `customerid` = '" . $userinfo['customerid'] . "'
|
||||||
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12");
|
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12");
|
||||||
|
|||||||
51
index.php
51
index.php
@@ -226,7 +226,7 @@ if($action == 'forgotpwd')
|
|||||||
|
|
||||||
if($db->num_rows() == 0)
|
if($db->num_rows() == 0)
|
||||||
{
|
{
|
||||||
$sql = "SELECT `adminid`, `firstname`, `name`, `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "`
|
$sql = "SELECT `adminid`, `name`, `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "`
|
||||||
WHERE `loginname`='" . $db->escape($loginname) . "'
|
WHERE `loginname`='" . $db->escape($loginname) . "'
|
||||||
AND `email`='" . $db->escape($email) . "'";
|
AND `email`='" . $db->escape($email) . "'";
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
@@ -258,23 +258,23 @@ if($action == 'forgotpwd')
|
|||||||
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'password_reset'), $db, $settings);
|
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'password_reset'), $db, $settings);
|
||||||
$rstlog->logAction(USR_ACTION, LOG_WARNING, "Password for user '" . $user['loginname'] . "' has been reset!");
|
$rstlog->logAction(USR_ACTION, LOG_WARNING, "Password for user '" . $user['loginname'] . "' has been reset!");
|
||||||
$body = strtr($lng['pwdreminder']['body'], array('%s' => $user['firstname'] . ' ' . $user['name'], '%p' => $password));
|
$body = strtr($lng['pwdreminder']['body'], array('%s' => $user['firstname'] . ' ' . $user['name'], '%p' => $password));
|
||||||
$mail->From = $settings['panel']['adminmail'];
|
|
||||||
$mail->FromName = 'Froxlor';
|
$_mailerror = false;
|
||||||
$mail->Subject = $lng['pwdreminder']['subject'];
|
try {
|
||||||
$mail->Body = $body;
|
$mail->Subject = $lng['pwdreminder']['subject'];
|
||||||
$mail->AddAddress($user['email'], $user['firstname'] . ' ' . $user['name']);
|
$mail->AltBody = $body;
|
||||||
|
$mail->MsgHTML(str_replace("\\n", "<br />", $body));
|
||||||
if(!$mail->Send())
|
$mail->AddAddress($user['email'], $user['firstname'] . ' ' . $user['name']);
|
||||||
{
|
$mail->Send();
|
||||||
if($mail->ErrorInfo != '')
|
} catch(phpmailerException $e) {
|
||||||
{
|
$mailerr_msg = $e->errorMessage();
|
||||||
$mailerr_msg = $mail->ErrorInfo;
|
$_mailerror = true;
|
||||||
}
|
} catch (Exception $e) {
|
||||||
else
|
$mailerr_msg = $e->getMessage();
|
||||||
{
|
$_mailerror = true;
|
||||||
$mailerr_msg = $email;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'password_reset'), $db, $settings);
|
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'password_reset'), $db, $settings);
|
||||||
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
redirectTo('index.php', Array('showmessage' => '4'), true);
|
redirectTo('index.php', Array('showmessage' => '4'), true);
|
||||||
@@ -292,7 +292,7 @@ if($action == 'forgotpwd')
|
|||||||
$message = $lng['login']['usernotfound'];
|
$message = $lng['login']['usernotfound'];
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($user, $adminchecked);
|
unset($user);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -304,9 +304,20 @@ if($action == 'forgotpwd')
|
|||||||
$message = '';
|
$message = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if($settings['panel']['allow_preset'] != '1')
|
if($adminchecked)
|
||||||
{
|
{
|
||||||
$message = $lng['pwdreminder']['notallowed'];
|
if($settings['panel']['allow_preset_admin'] != '1')
|
||||||
|
{
|
||||||
|
$message = $lng['pwdreminder']['notallowed'];
|
||||||
|
unset ($adminchecked);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($settings['panel']['allow_preset'] != '1')
|
||||||
|
{
|
||||||
|
$message = $lng['pwdreminder']['notallowed'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eval("echo \"" . getTemplate("fpwd") . "\";");
|
eval("echo \"" . getTemplate("fpwd") . "\";");
|
||||||
|
|||||||
@@ -451,7 +451,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.3');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
|
||||||
@@ -526,7 +526,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (95, 'autoresponder', 'last_autoresponder_run', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (95, 'autoresponder', 'last_autoresponder_run', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (96, 'admin', 'show_version_login', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (96, 'admin', 'show_version_login', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (97, 'admin', 'show_version_footer', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (97, 'admin', 'show_version_footer', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (98, 'admin', 'froxlor_graphic', 'images/header.png');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (98, 'admin', 'froxlor_graphic', 'images/header.gif');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (99, 'system', 'mod_fcgid_wrapper', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (99, 'system', 'mod_fcgid_wrapper', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (100, 'system', 'mod_fcgid_starter', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (100, 'system', 'mod_fcgid_starter', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (101, 'system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (101, 'system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/');
|
||||||
|
|||||||
@@ -428,7 +428,6 @@ if(isset($_POST['installstep'])
|
|||||||
if(!extension_loaded('bcmath'))
|
if(!extension_loaded('bcmath'))
|
||||||
{
|
{
|
||||||
status_message('orange', $lng['install']['notinstalled'] . '<br />' . $lng['install']['bcmathdescription']);
|
status_message('orange', $lng['install']['notinstalled'] . '<br />' . $lng['install']['bcmathdescription']);
|
||||||
$_die = false;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -442,7 +441,6 @@ if(isset($_POST['installstep'])
|
|||||||
&& $php_ob != '')
|
&& $php_ob != '')
|
||||||
{
|
{
|
||||||
status_message('orange', $lng['install']['openbasedirenabled']);
|
status_message('orange', $lng['install']['openbasedirenabled']);
|
||||||
$_die = false;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ $lng['install']['next'] = 'Fortfahren';
|
|||||||
|
|
||||||
$lng['install']['testing_mysql'] = 'Teste, ob die MySQL-Root-Benutzerdaten richtig sind...';
|
$lng['install']['testing_mysql'] = 'Teste, ob die MySQL-Root-Benutzerdaten richtig sind...';
|
||||||
$lng['install']['erasing_old_db'] = 'Entferne alte Datenbank...';
|
$lng['install']['erasing_old_db'] = 'Entferne alte Datenbank...';
|
||||||
|
$lng['install']['backup_old_db'] = 'Sichere bisherige Datenbank...';
|
||||||
|
$lng['install']['backing_up'] = 'Sicherung läft';
|
||||||
|
$lng['install']['backing_up_binary_missing'] = '/usr/bin/mysqldump nicht vorhanden';
|
||||||
$lng['install']['create_mysqluser_and_db'] = 'Erstelle Datenbank und Benutzer...';
|
$lng['install']['create_mysqluser_and_db'] = 'Erstelle Datenbank und Benutzer...';
|
||||||
$lng['install']['testing_new_db'] = 'Teste, ob die Datenbank und Passwort korrekt angelegt wurden...';
|
$lng['install']['testing_new_db'] = 'Teste, ob die Datenbank und Passwort korrekt angelegt wurden...';
|
||||||
$lng['install']['importing_data'] = 'Importiere Daten in die MySQL-Datenbank...';
|
$lng['install']['importing_data'] = 'Importiere Daten in die MySQL-Datenbank...';
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ if(isFroxlorVersion('0.9-r0'))
|
|||||||
showUpdateStep("Updating from 0.9-r0 to 0.9-r1", false);
|
showUpdateStep("Updating from 0.9-r0 to 0.9-r1", false);
|
||||||
showUpdateStep("Performing database updates");
|
showUpdateStep("Performing database updates");
|
||||||
/*
|
/*
|
||||||
* add missing database-updates if necessary (old: update/update_database.php
|
* add missing database-updates if necessary (old: update/update_database.php)
|
||||||
*/
|
*/
|
||||||
if(!isset($settings['system']['dbversion']) || $settings['system']['dbversion'] < '1')
|
if(isset($settings['system']['dbversion']) && (int)$settings['system']['dbversion'] < 1)
|
||||||
{
|
{
|
||||||
$db->query("ALTER TABLE `panel_databases` ADD `dbserver` INT( 11 ) UNSIGNED NOT NULL default '0';");
|
$db->query("ALTER TABLE `panel_databases` ADD `dbserver` INT( 11 ) UNSIGNED NOT NULL default '0';");
|
||||||
}
|
}
|
||||||
if(!isset($settings['system']['dbversion']) || $settings['system']['dbversion'] < '2')
|
if(isset($settings['system']['dbversion']) && (int)$settings['system']['dbversion'] < 2)
|
||||||
{
|
{
|
||||||
$db->query("ALTER TABLE `panel_ipsandports` CHANGE `ssl_cert` `ssl_cert_file` VARCHAR( 255 ) NOT NULL,
|
$db->query("ALTER TABLE `panel_ipsandports` CHANGE `ssl_cert` `ssl_cert_file` VARCHAR( 255 ) NOT NULL,
|
||||||
ADD `ssl_key_file` VARCHAR( 255 ) NOT NULL,
|
ADD `ssl_key_file` VARCHAR( 255 ) NOT NULL,
|
||||||
@@ -276,4 +276,42 @@ if(isFroxlorVersion('0.9-r4'))
|
|||||||
updateToVersion('0.9');
|
updateToVersion('0.9');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9 to 0.9.1", false);
|
||||||
|
|
||||||
|
showUpdateStep("Updating settings values");
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = 'images/header.gif' WHERE `varname` = 'froxlor_graphic' AND `value` = 'images/header.png'");
|
||||||
|
|
||||||
|
lastStepStatus(0);
|
||||||
|
updateToVersion('0.9.1');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.1'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.1 to 0.9.2", false);
|
||||||
|
|
||||||
|
showUpdateStep("Checking whether last-system-guid is sane");
|
||||||
|
|
||||||
|
$result = $db->query_first("SELECT MAX(`guid`) as `latestguid` FROM `".TABLE_PANEL_CUSTOMERS."`");
|
||||||
|
|
||||||
|
if (isset($result['latestguid'])
|
||||||
|
&& (int)$result['latestguid'] > 0
|
||||||
|
&& $result['latestguid'] != $settings['system']['lastguid']
|
||||||
|
) {
|
||||||
|
checkLastGuid();
|
||||||
|
lastStepStatus(1, 'fixed');
|
||||||
|
} else {
|
||||||
|
lastStepStatus(0);
|
||||||
|
}
|
||||||
|
updateToVersion('0.9.2');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.2'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.2 to 0.9.3");
|
||||||
|
lastStepStatus(0);
|
||||||
|
updateToVersion('0.9.3');
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class ApsInstaller extends ApsParser
|
|||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->db_root = $db_root;
|
$this->db_root = $db_root;
|
||||||
$this->RootDir = dirname(dirname(__FILE__)) . '/';
|
$this->RootDir = dirname(dirname(dirname(dirname(__FILE__)))) . '/';
|
||||||
$this->Hosts = $settings['system']['mysql_access_host'];
|
$this->Hosts = $settings['system']['mysql_access_host'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,10 +135,20 @@ class ApsInstaller extends ApsParser
|
|||||||
{
|
{
|
||||||
//setup right path and run installation script
|
//setup right path and run installation script
|
||||||
|
|
||||||
|
if(!is_dir($this->RealPath . $this->DomainPath . '/install_scripts/'))
|
||||||
|
{
|
||||||
|
echo 'Directory: '. $this->RealPath . $this->DomainPath . '/install_scripts/ does not exist';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
chdir($this->RealPath . $this->DomainPath . '/install_scripts/');
|
chdir($this->RealPath . $this->DomainPath . '/install_scripts/');
|
||||||
$Return = array();
|
$Return = array();
|
||||||
$ReturnStatus = 0;
|
$ReturnStatus = 0;
|
||||||
$Return = safe_exec('php ' . escapeshellarg($this->RealPath . $this->DomainPath . '/install_scripts/configure install'), $ReturnStatus);
|
|
||||||
|
// make configure-script executable
|
||||||
|
chmod($this->RealPath . $this->DomainPath . '/install_scripts/configure', 0755);
|
||||||
|
|
||||||
|
$Return = safe_exec('php ' . escapeshellarg($this->RealPath . $this->DomainPath . '/install_scripts/configure') . ' install', $ReturnStatus);
|
||||||
|
|
||||||
if($ReturnStatus != 0)
|
if($ReturnStatus != 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ class ApsParser
|
|||||||
private $userinfo = array();
|
private $userinfo = array();
|
||||||
private $settings = array();
|
private $settings = array();
|
||||||
private $db = false;
|
private $db = false;
|
||||||
|
private $RootDir = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor of class, setup basic variables needed by the class
|
* Constructor of class, setup basic variables needed by the class
|
||||||
@@ -51,6 +52,7 @@ class ApsParser
|
|||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->userinfo = $userinfo;
|
$this->userinfo = $userinfo;
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
$this->RootDir = dirname(dirname(dirname(dirname(__FILE__)))) . '/';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -793,7 +795,8 @@ class ApsParser
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$Errors[] = $lng['aps']['moveproblem'];
|
$moveproblem = str_replace('{$path}', $this->RootDir, $lng['aps']['moveproblem']);
|
||||||
|
$Errors[] = $moveproblem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -840,7 +843,7 @@ class ApsParser
|
|||||||
{
|
{
|
||||||
//split all keywords
|
//split all keywords
|
||||||
|
|
||||||
$Elements = split('[ ,;]', trim($_GET['keyword']));
|
$Elements = preg_split('/[ ,;]/', trim($_GET['keyword']));
|
||||||
|
|
||||||
if(count($Elements) == 1
|
if(count($Elements) == 1
|
||||||
&& strlen($Elements[0]) == 0)
|
&& strlen($Elements[0]) == 0)
|
||||||
@@ -1688,10 +1691,11 @@ class ApsParser
|
|||||||
$Error.= '<li>' . $lng['aps']['class_zip_missing'] . '</li>';
|
$Error.= '<li>' . $lng['aps']['class_zip_missing'] . '</li>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!is_writable('./temp/')
|
if(!is_writable($this->RootDir.'temp/')
|
||||||
|| !is_writable('./packages/'))
|
|| !is_writable($this->RootDir.'packages/'))
|
||||||
{
|
{
|
||||||
$Error.= '<li>' . $lng['aps']['dir_permissions'] . '</li>';
|
$dirpermission = str_replace('{$path}', $this->RootDir, $lng['aps']['dir_permissions']);
|
||||||
|
$Error.= '<li>' . $dirpermission . '</li>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if($Error != '')
|
if($Error != '')
|
||||||
@@ -1710,7 +1714,14 @@ class ApsParser
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$CustomerId = $this->userinfo['customerid'];
|
if(isset($this->userinfo['customerid']))
|
||||||
|
{
|
||||||
|
$CustomerId = $this->userinfo['customerid'];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$CustomerId = -1;
|
||||||
|
}
|
||||||
$AdminId = $this->userinfo['adminid'];
|
$AdminId = $this->userinfo['adminid'];
|
||||||
$PackagesPerSite = $this->settings['aps']['items_per_page'];
|
$PackagesPerSite = $this->settings['aps']['items_per_page'];
|
||||||
|
|
||||||
|
|||||||
@@ -31,19 +31,27 @@ class ApsUpdater extends ApsParser
|
|||||||
private $RequestDomain = '';
|
private $RequestDomain = '';
|
||||||
private $RootUrl = '';
|
private $RootUrl = '';
|
||||||
private $RootDir = '';
|
private $RootDir = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FroxlorLogger
|
||||||
|
* @var FroxlorLogger
|
||||||
|
*/
|
||||||
|
private $_cronlog = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor of class. setup some basic variables needed by class
|
* constructor of class. setup some basic variables needed by class
|
||||||
*
|
*
|
||||||
* @param db instance of the database class from syscp
|
* @param db instance of the database class
|
||||||
|
* @param cronlog instance of the froxlor logger
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function __construct($db)
|
public function __construct($db, $cronlog)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->RequestDomain = 'apscatalog.com';
|
$this->RequestDomain = 'apscatalog.com';
|
||||||
$this->RootUrl = '/1/';
|
$this->RootUrl = '/1/';
|
||||||
$this->RootDir = dirname(dirname(__FILE__)) . '/';
|
$this->RootDir = dirname(dirname(dirname(dirname(__FILE__)))) . '/';
|
||||||
|
$this->_cronlog = $cronlog;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,13 +60,15 @@ class ApsUpdater extends ApsParser
|
|||||||
|
|
||||||
public function UpdateHandler()
|
public function UpdateHandler()
|
||||||
{
|
{
|
||||||
|
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Changing directory to '" . $this->RootDir . "'");
|
||||||
chdir($this->RootDir);
|
chdir($this->RootDir);
|
||||||
|
|
||||||
//return if allow_url_fopen is disabled
|
//return if allow_url_fopen is disabled
|
||||||
|
|
||||||
if(ini_get('allow_url_fopen') == '0')
|
if(!ini_get('allow_url_fopen'))
|
||||||
{
|
{
|
||||||
echo ("The APS updater cronjob requires that allow_url_fopen is enabled for the PHP CLI binary!\n");
|
$this->_cronlog->logAction(CRON_ACTION, LOG_ERROR, "The APS updater cronjob requires that allow_url_fopen is enabled for the PHP CLI binary!");
|
||||||
|
echo "The APS updater cronjob requires that allow_url_fopen is enabled for the PHP CLI binary!\n";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,6 +78,7 @@ class ApsUpdater extends ApsParser
|
|||||||
|
|
||||||
if($this->db->num_rows($Result) == 0)
|
if($this->db->num_rows($Result) == 0)
|
||||||
{
|
{
|
||||||
|
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "No tasks for ApsUpdater");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,89 +88,99 @@ class ApsUpdater extends ApsParser
|
|||||||
$this->db->query('DELETE FROM `' . TABLE_APS_TASKS . '` WHERE `Task` = ' . $Task['Task']);
|
$this->db->query('DELETE FROM `' . TABLE_APS_TASKS . '` WHERE `Task` = ' . $Task['Task']);
|
||||||
|
|
||||||
//fetch all vendors
|
//fetch all vendors
|
||||||
|
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Fetching all Vendors from '" . $this->RootUrl . "'");
|
||||||
$Vendors = self::FetchSubUrls($this->RootUrl);
|
$Vendors = self::FetchSubUrls($this->RootUrl);
|
||||||
foreach($Vendors as $Vendor)
|
if($Vendors !== false)
|
||||||
{
|
{
|
||||||
//fetch all applications from vendors
|
foreach($Vendors as $Vendor)
|
||||||
|
|
||||||
$Applications = self::FetchSubUrls($this->RootUrl . $Vendor);
|
|
||||||
foreach($Applications as $Application)
|
|
||||||
{
|
{
|
||||||
//get newest version of package which is already installed
|
//fetch all applications from vendors
|
||||||
|
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Fetching all from Vendor '" . $Vendor. "'");
|
||||||
$CurrentVersion = '';
|
$Applications = self::FetchSubUrls($this->RootUrl . $Vendor);
|
||||||
$Result = $this->db->query('SELECT * FROM `' . TABLE_APS_PACKAGES . '` WHERE `Name` = "' . $this->db->escape(substr($Application, 0, -1)) . '"');
|
if($Applications !== false)
|
||||||
|
|
||||||
while($Row = $this->db->fetch_array($Result))
|
|
||||||
{
|
{
|
||||||
if(version_compare($Row['Version'] . '-' . $Row['Release'], $CurrentVersion) == 1)
|
foreach($Applications as $Application)
|
||||||
{
|
{
|
||||||
$CurrentVersion = $Row['Version'] . '-' . $Row['Release'];
|
//get newest version of package which is already installed
|
||||||
}
|
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Checking application '" . substr($Application, 0, -1) . "'");
|
||||||
}
|
|
||||||
|
|
||||||
if($this->db->num_rows($Result) != 0)
|
$CurrentVersion = '';
|
||||||
{
|
$Result = $this->db->query('SELECT * FROM `' . TABLE_APS_PACKAGES . '` WHERE `Name` = "' . $this->db->escape(substr($Application, 0, -1)) . '"');
|
||||||
//package already installed in system, search for newer version
|
|
||||||
|
|
||||||
if($Task['Task'] != TASK_SYSTEM_UPDATE)continue;
|
while($Row = $this->db->fetch_array($Result))
|
||||||
|
|
||||||
//fetch different versions of application from distribution server
|
|
||||||
|
|
||||||
$NewerVersion = '';
|
|
||||||
$Versions = self::FetchSubUrls($this->RootUrl . $Vendor . $Application);
|
|
||||||
foreach($Versions as $Version)
|
|
||||||
{
|
|
||||||
$OnlineVersion = substr($Version, 0, -1);
|
|
||||||
|
|
||||||
//is package newer than current version?
|
|
||||||
|
|
||||||
if(version_compare($OnlineVersion, $CurrentVersion) == 1)
|
|
||||||
{
|
{
|
||||||
//is new package newer than another one found before?
|
if(version_compare($Row['Version'] . '-' . $Row['Release'], $CurrentVersion) == 1)
|
||||||
|
|
||||||
if(version_compare($OnlineVersion, $NewerVersion) == 1)
|
|
||||||
{
|
{
|
||||||
$NewerVersion = $OnlineVersion;
|
$CurrentVersion = $Row['Version'] . '-' . $Row['Release'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if($NewerVersion != '')
|
if($this->db->num_rows($Result) != 0)
|
||||||
{
|
|
||||||
//download package as an update
|
|
||||||
|
|
||||||
self::DownloadPackage($this->RootUrl . $Vendor . $Application . $NewerVersion, substr($Application, 0, -1), $NewerVersion);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if($Task['Task'] != TASK_SYSTEM_DOWNLOAD)continue;
|
|
||||||
|
|
||||||
//new packages
|
|
||||||
|
|
||||||
$NewVersion = '';
|
|
||||||
$Versions = self::FetchSubUrls($this->RootUrl . $Vendor . $Application);
|
|
||||||
foreach($Versions as $Version)
|
|
||||||
{
|
|
||||||
$OnlineVersion = substr($Version, 0, -1);
|
|
||||||
|
|
||||||
//is package newer than another one found before?
|
|
||||||
|
|
||||||
if(version_compare($OnlineVersion, $NewVersion) == 1)
|
|
||||||
{
|
{
|
||||||
$NewVersion = $OnlineVersion;
|
//package already installed in system, search for newer version
|
||||||
|
|
||||||
|
if($Task['Task'] != TASK_SYSTEM_UPDATE)continue;
|
||||||
|
|
||||||
|
//fetch different versions of application from distribution server
|
||||||
|
|
||||||
|
$NewerVersion = '';
|
||||||
|
$Versions = self::FetchSubUrls($this->RootUrl . $Vendor . $Application);
|
||||||
|
if($Versions !== false)
|
||||||
|
{
|
||||||
|
foreach($Versions as $Version)
|
||||||
|
{
|
||||||
|
$OnlineVersion = substr($Version, 0, -1);
|
||||||
|
|
||||||
|
//is package newer than current version?
|
||||||
|
|
||||||
|
if(version_compare($OnlineVersion, $CurrentVersion) == 1)
|
||||||
|
{
|
||||||
|
//is new package newer than another one found before?
|
||||||
|
|
||||||
|
if(version_compare($OnlineVersion, $NewerVersion) == 1)
|
||||||
|
{
|
||||||
|
$NewerVersion = $OnlineVersion;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($NewerVersion != '')
|
||||||
|
{
|
||||||
|
//download package as an update
|
||||||
|
|
||||||
|
self::DownloadPackage($this->RootUrl . $Vendor . $Application . $NewerVersion, substr($Application, 0, -1), $NewerVersion);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
|
{
|
||||||
|
if($Task['Task'] != TASK_SYSTEM_DOWNLOAD)continue;
|
||||||
|
|
||||||
if($NewVersion != '')
|
//new packages
|
||||||
{
|
|
||||||
//download package as a new one
|
|
||||||
|
|
||||||
self::DownloadPackage($this->RootUrl . $Vendor . $Application . $NewVersion, substr($Application, 0, -1), $NewVersion);
|
$NewVersion = '';
|
||||||
continue;
|
$Versions = self::FetchSubUrls($this->RootUrl . $Vendor . $Application);
|
||||||
|
foreach($Versions as $Version)
|
||||||
|
{
|
||||||
|
$OnlineVersion = substr($Version, 0, -1);
|
||||||
|
|
||||||
|
//is package newer than another one found before?
|
||||||
|
|
||||||
|
if(version_compare($OnlineVersion, $NewVersion) == 1)
|
||||||
|
{
|
||||||
|
$NewVersion = $OnlineVersion;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($NewVersion != '')
|
||||||
|
{
|
||||||
|
//download package as a new one
|
||||||
|
|
||||||
|
self::DownloadPackage($this->RootUrl . $Vendor . $Application . $NewVersion, substr($Application, 0, -1), $NewVersion);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -181,11 +202,13 @@ class ApsUpdater extends ApsParser
|
|||||||
|
|
||||||
//make url valid
|
//make url valid
|
||||||
|
|
||||||
$Url = str_replace(' ', '%20', $Url);
|
$path = dirname($Url);
|
||||||
|
$file = urlencode(basename($Url));
|
||||||
|
$file_url = 'http://' . $this->RequestDomain . $path . '/' . $file . '.aps' . $Downloads[0];
|
||||||
|
|
||||||
//get content from website url
|
//get content from website url
|
||||||
|
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Downloading '" . $file_url . "'");
|
||||||
$Content = @file_get_contents('http://' . $this->RequestDomain . $Url . '.aps' . $Downloads[0]);
|
$Content = @file_get_contents($file_url);
|
||||||
|
|
||||||
if($Content != false)
|
if($Content != false)
|
||||||
{
|
{
|
||||||
@@ -231,21 +254,22 @@ class ApsUpdater extends ApsParser
|
|||||||
//make url valid
|
//make url valid
|
||||||
|
|
||||||
$Url = str_replace(' ', '%20', $Url);
|
$Url = str_replace(' ', '%20', $Url);
|
||||||
|
$file_url = 'http://' . $this->RequestDomain . $Url;
|
||||||
|
|
||||||
//get content from website url
|
//get content from website url
|
||||||
|
|
||||||
$Content = @file('http://' . $this->RequestDomain . $Url);
|
$Content = @file($file_url);
|
||||||
|
|
||||||
if($Content != false)
|
if($Content !== false)
|
||||||
{
|
{
|
||||||
foreach($Content as $Temp)
|
foreach($Content as $Temp)
|
||||||
{
|
{
|
||||||
//skip empty lines
|
//skip empty lines
|
||||||
|
|
||||||
if($Temp != "\r\n"
|
if($Temp != "\r\n"
|
||||||
&& $Temp != "\r"
|
&& $Temp != "\r"
|
||||||
&& $Temp != "\n"
|
&& $Temp != "\n"
|
||||||
&& $Temp != "")
|
&& $Temp != "")
|
||||||
{
|
{
|
||||||
//remove unwanted characters
|
//remove unwanted characters
|
||||||
|
|
||||||
|
|||||||
@@ -134,8 +134,11 @@ class db
|
|||||||
$this->showerror('Trying to use database ' . $this->database . ' failed, exiting');
|
$this->showerror('Trying to use database ' . $this->database . ' failed, exiting');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mysql_query("SET NAMES utf8", $this->link_id);
|
/*
|
||||||
mysql_query("SET CHARACTER SET utf8", $this->link_id);
|
* this is not for 0.9.x
|
||||||
|
*/
|
||||||
|
//mysql_query("SET NAMES utf8", $this->link_id);
|
||||||
|
//mysql_query("SET CHARACTER SET utf8", $this->link_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ class idna_convert_wrapper
|
|||||||
* @var object
|
* @var object
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var $idna_converter;
|
private $idna_converter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class constructor. Creates a new idna converter
|
* Class constructor. Creates a new idna converter
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function idna_convert_wrapper()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->idna_converter = new idna_convert();
|
$this->idna_converter = new idna_convert();
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ class idna_convert_wrapper
|
|||||||
* both seperated by the same string as the input.
|
* both seperated by the same string as the input.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function encode($to_encode)
|
public function encode($to_encode)
|
||||||
{
|
{
|
||||||
return $this->_do_action('encode', $to_encode);
|
return $this->_do_action('encode', $to_encode);
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ class idna_convert_wrapper
|
|||||||
* both seperated by the same string as the input.
|
* both seperated by the same string as the input.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function decode($to_decode)
|
public function decode($to_decode)
|
||||||
{
|
{
|
||||||
return $this->_do_action('decode', $to_decode);
|
return $this->_do_action('decode', $to_decode);
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ class idna_convert_wrapper
|
|||||||
* @return string The input string after being processed.
|
* @return string The input string after being processed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function _do_action($action, $string)
|
private function _do_action($action, $string)
|
||||||
{
|
{
|
||||||
$string = trim($string);
|
$string = trim($string);
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -286,14 +286,25 @@ class ticket
|
|||||||
|
|
||||||
if($customerid != - 1)
|
if($customerid != - 1)
|
||||||
{
|
{
|
||||||
$mail->From = $this->settings['ticket']['noreply_email'];
|
$_mailerror = false;
|
||||||
$mail->FromName = $this->settings['ticket']['noreply_name'];
|
try {
|
||||||
$mail->Subject = $mail_subject;
|
$mail->SetFrom($this->settings['ticket']['noreply_email'], $this->settings['ticket']['noreply_name']);
|
||||||
$mail->Body = $mail_body;
|
$mail->Subject = $mail_subject;
|
||||||
$mail->AddAddress($usr['email'], $usr['firstname'] . ' ' . $usr['name']);
|
$mail->AltBody = $mail_body;
|
||||||
|
$mail->MsgHTML(str_replace("\n", "<br />", $mail_body));
|
||||||
if(!$mail->Send())
|
$mail->AddAddress($usr['email'], $usr['firstname'] . ' ' . $usr['name']);
|
||||||
{
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
|
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'ticket_class'), $this->db, $this->settings);
|
||||||
|
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error(array('errorsendingmail', $usr['email']));
|
standard_error(array('errorsendingmail', $usr['email']));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,15 +312,27 @@ class ticket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$admin = $this->db->query_first("SELECT `email` FROM `" . TABLE_PANEL_ADMINS . "` WHERE `adminid`='" . (int)$this->userinfo['adminid'] . "'");
|
$admin = $this->db->query_first("SELECT `name`, `email` FROM `" . TABLE_PANEL_ADMINS . "` WHERE `adminid`='" . (int)$this->userinfo['adminid'] . "'");
|
||||||
$mail->From = $this->settings['ticket']['noreply_email'];
|
|
||||||
$mail->FromName = $this->settings['ticket']['noreply_name'];
|
$_mailerror = false;
|
||||||
$mail->Subject = $mail_subject;
|
try {
|
||||||
$mail->Body = $mail_body;
|
$mail->SetFrom($this->settings['ticket']['noreply_email'], $this->settings['ticket']['noreply_name']);
|
||||||
$mail->AddAddress($admin['email'], $admin['firstname'] . ' ' . $admin['name']);
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
if(!$mail->Send())
|
$mail->MsgHTML(str_replace("\n", "<br />", $mail_body));
|
||||||
{
|
$mail->AddAddress($admin['email'], $admin['name']);
|
||||||
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_mailerror) {
|
||||||
|
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'ticket_class'), $this->db, $this->settings);
|
||||||
|
$rstlog->logAction(ADM_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
standard_error(array('errorsendingmail', $admin['email']));
|
standard_error(array('errorsendingmail', $admin['email']));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -637,7 +660,7 @@ class ticket
|
|||||||
{
|
{
|
||||||
if($_cid != 0)
|
if($_cid != 0)
|
||||||
{
|
{
|
||||||
$result = $_db->query('SELECT `id` FROM `' . TABLE_PANEL_TICKETS . '` WHERE `customer` ="'.(int)$_cid.'"');
|
$result = $_db->query('SELECT `id` FROM `' . TABLE_PANEL_TICKETS . '` WHERE `customerid` ="'.(int)$_cid.'"');
|
||||||
|
|
||||||
$tickets = array();
|
$tickets = array();
|
||||||
while($row = $_db->fetch_array($result))
|
while($row = $_db->fetch_array($result))
|
||||||
@@ -668,7 +691,7 @@ class ticket
|
|||||||
{
|
{
|
||||||
if(strtolower($_var) == 'message')
|
if(strtolower($_var) == 'message')
|
||||||
{
|
{
|
||||||
return htmlspecialchars_decode(nl2br($this->t_data[$_var]));
|
return str_replace('script>', 'pre>', htmlspecialchars_decode(nl2br($this->t_data[$_var])));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ return Array(
|
|||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'a2dismod userdir',
|
'a2dismod userdir',
|
||||||
@@ -52,6 +53,7 @@ return Array(
|
|||||||
$configcommand['d_inclighty'],
|
$configcommand['d_inclighty'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
'mkdir -p ' . $settings['system']['deactivateddocroot'],
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
),
|
),
|
||||||
@@ -68,8 +70,8 @@ return Array(
|
|||||||
'label' => 'Bind9',
|
'label' => 'Bind9',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'apt-get install bind9',
|
'apt-get install bind9',
|
||||||
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
|
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
|
||||||
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
|
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/bind9 restart'
|
'/etc/init.d/bind9 restart'
|
||||||
@@ -93,7 +95,7 @@ return Array(
|
|||||||
'postfix' => Array(
|
'postfix' => Array(
|
||||||
'label' => 'Postfix',
|
'label' => 'Postfix',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'apt-get install postfix postfix-mysql libsasl2 libsasl2-modules libsasl2-modules-sql',
|
'apt-get install postfix postfix-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql',
|
||||||
'mkdir -p /etc/postfix/sasl',
|
'mkdir -p /etc/postfix/sasl',
|
||||||
'mkdir -p /var/spool/postfix/etc/pam.d',
|
'mkdir -p /var/spool/postfix/etc/pam.d',
|
||||||
'mkdir -p /var/spool/postfix/var/run/mysqld',
|
'mkdir -p /var/spool/postfix/var/run/mysqld',
|
||||||
@@ -191,6 +193,9 @@ return Array(
|
|||||||
'daemons' => Array(
|
'daemons' => Array(
|
||||||
'proftpd' => Array(
|
'proftpd' => Array(
|
||||||
'label' => 'ProFTPd',
|
'label' => 'ProFTPd',
|
||||||
|
'commands' => Array(
|
||||||
|
'apt-get install proftpd-basic proftpd-mod-mysql'
|
||||||
|
),
|
||||||
'files' => Array(
|
'files' => Array(
|
||||||
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
||||||
'etc_proftpd_proftpd.conf' => '/etc/proftpd/proftpd.conf'
|
'etc_proftpd_proftpd.conf' => '/etc/proftpd/proftpd.conf'
|
||||||
@@ -254,6 +259,7 @@ return Array(
|
|||||||
($settings['system']['webserver'] == 'lighttpd' ? 'etc_lighttpd_froxlor-awstats.conf' : 'etc_apache_vhosts_05_awstats.conf') => ($settings['system']['webserver'] == 'lighttpd' ? '/etc/lighttpd/froxlor-awstats.conf' : '/etc/apache2/sites-enabled/05_awstats.conf')
|
($settings['system']['webserver'] == 'lighttpd' ? 'etc_lighttpd_froxlor-awstats.conf' : 'etc_apache_vhosts_05_awstats.conf') => ($settings['system']['webserver'] == 'lighttpd' ? '/etc/lighttpd/froxlor-awstats.conf' : '/etc/apache2/sites-enabled/05_awstats.conf')
|
||||||
),
|
),
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
'apt-get install awstats',
|
||||||
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
|
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
|
|||||||
169
lib/configfiles/freebsd.inc.php
Normal file
169
lib/configfiles/freebsd.inc.php
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
<?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 Configfiles
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
return Array(
|
||||||
|
'freebsd' => Array(
|
||||||
|
'label' => 'FreeBSD',
|
||||||
|
'services' => Array(
|
||||||
|
'http' => Array(
|
||||||
|
'label' => $lng['admin']['configfiles']['http'],
|
||||||
|
'daemons' => Array(
|
||||||
|
'apache2' => Array(
|
||||||
|
'label' => 'Apache2 Webserver',
|
||||||
|
'commands' => Array(
|
||||||
|
'cd /usr/ports/www/apache22',
|
||||||
|
'make config',
|
||||||
|
'make install',
|
||||||
|
'touch ' . $settings['system']['apacheconf_vhost'],
|
||||||
|
'chown root:0 ' . $settings['system']['apacheconf_vhost'],
|
||||||
|
'chmod 0600 ' . $settings['system']['apacheconf_vhost'],
|
||||||
|
'touch ' . $settings['system']['apacheconf_diroptions'],
|
||||||
|
'chown root:0 ' . $settings['system']['apacheconf_diroptions'],
|
||||||
|
'chmod 0600 ' . $settings['system']['apacheconf_diroptions'],
|
||||||
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
||||||
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
|
'echo "accf_http_load=\"YES\"" >> /boot/loader.conf',
|
||||||
|
'echo "accf_data_load=\"YES\"" >> /boot/loader.conf',
|
||||||
|
'echo "apache22_enable=\"YES\"" >> /etc/rc.conf',
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'sh /usr/local/etc/rc.d/apache22 restart'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'dns' => Array(
|
||||||
|
'label' => $lng['admin']['configfiles']['dns'],
|
||||||
|
'daemons' => Array(
|
||||||
|
'powerdns' => Array(
|
||||||
|
'label' => 'PowerDNS',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'cd /usr/ports/dns/powerdns',
|
||||||
|
'make config',
|
||||||
|
'make install',
|
||||||
|
'echo "add pdns_enable=\"YES\"" >> /etc/rc.conf',
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'usr_local_etc_pdns_pdns.conf' => '/usr/local/etc/pdns/pdns.conf'
|
||||||
|
),
|
||||||
|
'commands' => Array(
|
||||||
|
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf',
|
||||||
|
'chown root:0 ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf',
|
||||||
|
'chmod 0600 ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'sh /usr/local/etc/rc.d/pdns restart'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'smtp' => Array(
|
||||||
|
'label' => $lng['admin']['configfiles']['smtp'],
|
||||||
|
'daemons' => Array(
|
||||||
|
'postfix' => Array(
|
||||||
|
'label' => 'Postfix',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'cd /usr/ports/mail/postfix',
|
||||||
|
'make config',
|
||||||
|
'set Dovecot SASL authentication method',
|
||||||
|
'set Enable SSL and TLS support',
|
||||||
|
'set MySQL maps (choose version with WITH_MYSQL_VER)',
|
||||||
|
'make install'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'pw groupadd vmail -g 5001 ',
|
||||||
|
'pw useradd vmail -u 5001 -g 5001 -s/sbin/nologin -d/dev/null',
|
||||||
|
'mkdir -p ' . $settings['system']['vmail_homedir'],
|
||||||
|
'chown -R vmail:vmail ' . $settings['system']['vmail_homedir'],
|
||||||
|
'chmod 0750 ' . $settings['system']['vmail_homedir']
|
||||||
|
),
|
||||||
|
'commands_3' => Array(
|
||||||
|
'echo "sendmail_enable=\"NO\"" >> /etc/rc.conf',
|
||||||
|
'echo "sendmail_submit_enable=\"NO\"" >> /etc/rc.conf',
|
||||||
|
'echo "sendmail_outbound_enable=\"NO\"" >> /etc/rc.conf',
|
||||||
|
'echo "sendmail_msp_queue_enable=\"NO\"" >> /etc/rc.conf',
|
||||||
|
'echo "postfix_enable=\"YES\"" >> /etc/rc.conf'
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'etc_periodic.conf' => '/etc/periodic.conf',
|
||||||
|
'usr_local_etc_postfix_main.cf' => '/usr/local/etc/postfix/main.cf',
|
||||||
|
'usr_local_etc_postfix_mysql-virtual_alias_maps.cf' => '/usr/local/etc/postfix/mysql-virtual_alias_maps.cf',
|
||||||
|
'usr_local_etc_postfix_mysql-virtual_mailbox_domains.cf' => '/usr/local/etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||||
|
'usr_local_etc_postfix_mysql-virtual_mailbox_maps.cf' => '/usr/local/etc/postfix/mysql-virtual_mailbox_maps.cf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'sh /usr/local/etc/rc.d/postfix restart'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'mail' => Array(
|
||||||
|
'label' => $lng['admin']['configfiles']['mail'],
|
||||||
|
'daemons' => Array(
|
||||||
|
'dovecot' => Array(
|
||||||
|
'label' => 'Dovecot',
|
||||||
|
'commands_1' => Array(
|
||||||
|
'cd /usr/ports/mail/dovecot',
|
||||||
|
'make config',
|
||||||
|
'set kqueue(2) support ',
|
||||||
|
'set SSL support ',
|
||||||
|
'set ManageSieve support (optional)',
|
||||||
|
'set MySQL support ',
|
||||||
|
'make install',
|
||||||
|
'echo "add dovecot_enable=\"YES\"" >> /etc/rc.conf'
|
||||||
|
),
|
||||||
|
'files' => Array(
|
||||||
|
'usr_local_etc_dovecot.conf' => '/usr/local/etc/dovecot.conf',
|
||||||
|
'usr_local_etc_dovecot-sql.conf' => '/usr/local/etc/dovecot-sql.conf'
|
||||||
|
),
|
||||||
|
'commands_2' => Array(
|
||||||
|
'echo "dovecot unix - n n - - pipe
|
||||||
|
flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient}" >> /usr/local/etc/postfix/master.cf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'sh /usr/local/etc/rc.d/dovecot restart'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'ftp' => Array(
|
||||||
|
'label' => $lng['admin']['configfiles']['ftp'],
|
||||||
|
'daemons' => Array(
|
||||||
|
'proftpd' => Array(
|
||||||
|
'label' => 'ProFTPd',
|
||||||
|
'files' => Array(
|
||||||
|
'etc_proftpd_proftpd.conf' => '/etc/proftpd/proftpd.conf'
|
||||||
|
),
|
||||||
|
'commands' => Array(
|
||||||
|
'touch /etc/proftpd/proftpd.conf',
|
||||||
|
'chown root:0 /etc/proftpd/proftpd.conf',
|
||||||
|
'chmod 0600 /etc/proftpd/proftpd.conf'
|
||||||
|
),
|
||||||
|
'restart' => Array(
|
||||||
|
'/etc/init.d/proftpd restart'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -34,9 +34,10 @@ return Array(
|
|||||||
'chown root:0 ' . $settings['system']['apacheconf_diroptions'],
|
'chown root:0 ' . $settings['system']['apacheconf_diroptions'],
|
||||||
'chmod 0600 ' . $settings['system']['apacheconf_diroptions'],
|
'chmod 0600 ' . $settings['system']['apacheconf_diroptions'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir']
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'rc-update add apache2 default',
|
'rc-update add apache2 default',
|
||||||
@@ -54,7 +55,8 @@ return Array(
|
|||||||
$configcommand['v_inclighty'],
|
$configcommand['v_inclighty'],
|
||||||
$configcommand['d_inclighty'],
|
$configcommand['d_inclighty'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory']
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : ''
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'rc-update add lighttpd default',
|
'rc-update add lighttpd default',
|
||||||
@@ -72,10 +74,10 @@ return Array(
|
|||||||
'etc_bind_default.zone' => '/etc/bind/default.zone'
|
'etc_bind_default.zone' => '/etc/bind/default.zone'
|
||||||
),
|
),
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
|
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
|
||||||
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf',
|
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf',
|
||||||
'chown root:0 ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf',
|
'chown root:0 ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf',
|
||||||
'chmod 0600 ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
|
'chmod 0600 ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'rc-update add named default',
|
'rc-update add named default',
|
||||||
|
|||||||
@@ -29,9 +29,10 @@ return Array(
|
|||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'a2dismod userdir',
|
'a2dismod userdir'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
@@ -52,8 +53,9 @@ return Array(
|
|||||||
$configcommand['d_inclighty'],
|
$configcommand['d_inclighty'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir']
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/lighttpd restart'
|
'/etc/init.d/lighttpd restart'
|
||||||
@@ -67,8 +69,8 @@ return Array(
|
|||||||
'bind' => Array(
|
'bind' => Array(
|
||||||
'label' => 'Bind9',
|
'label' => 'Bind9',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
|
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
|
||||||
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
|
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/bind9 restart'
|
'/etc/init.d/bind9 restart'
|
||||||
@@ -188,6 +190,9 @@ return Array(
|
|||||||
'daemons' => Array(
|
'daemons' => Array(
|
||||||
'proftpd' => Array(
|
'proftpd' => Array(
|
||||||
'label' => 'ProFTPd',
|
'label' => 'ProFTPd',
|
||||||
|
'commands' => Array(
|
||||||
|
'apt-get install proftpd-basic proftpd-mod-mysql'
|
||||||
|
),
|
||||||
'files' => Array(
|
'files' => Array(
|
||||||
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
||||||
'etc_proftpd_proftpd.conf' => '/etc/proftpd/proftpd.conf'
|
'etc_proftpd_proftpd.conf' => '/etc/proftpd/proftpd.conf'
|
||||||
@@ -248,6 +253,7 @@ return Array(
|
|||||||
($settings['system']['webserver'] == 'lighttpd' ? 'etc_lighttpd_froxlor-awstats.conf' : 'etc_apache_vhosts_05_awstats.conf') => ($settings['system']['webserver'] == 'lighttpd' ? '/etc/lighttpd/froxlor-awstats.conf' : '/etc/apache2/sites-enabled/05_awstats.conf')
|
($settings['system']['webserver'] == 'lighttpd' ? 'etc_lighttpd_froxlor-awstats.conf' : 'etc_apache_vhosts_05_awstats.conf') => ($settings['system']['webserver'] == 'lighttpd' ? '/etc/lighttpd/froxlor-awstats.conf' : '/etc/apache2/sites-enabled/05_awstats.conf')
|
||||||
),
|
),
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
'apt-get install awstats',
|
||||||
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
|
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
|
|||||||
@@ -29,9 +29,10 @@ return Array(
|
|||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'a2dismod userdir',
|
'a2dismod userdir'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
@@ -52,8 +53,9 @@ return Array(
|
|||||||
$configcommand['d_inclighty'],
|
$configcommand['d_inclighty'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : '',
|
||||||
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
|
||||||
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
|
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir']
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/lighttpd restart'
|
'/etc/init.d/lighttpd restart'
|
||||||
@@ -68,8 +70,8 @@ return Array(
|
|||||||
'label' => 'Bind9',
|
'label' => 'Bind9',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'apt-get install bind9',
|
'apt-get install bind9',
|
||||||
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
|
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
|
||||||
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
|
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/bind9 restart'
|
'/etc/init.d/bind9 restart'
|
||||||
@@ -93,7 +95,7 @@ return Array(
|
|||||||
'postfix' => Array(
|
'postfix' => Array(
|
||||||
'label' => 'Postfix',
|
'label' => 'Postfix',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'apt-get install postfix postfix-mysql libsasl2 libsasl2-modules libsasl2-modules-sql',
|
'apt-get install postfix postfix-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql',
|
||||||
'mkdir -p /etc/postfix/sasl',
|
'mkdir -p /etc/postfix/sasl',
|
||||||
'mkdir -p /var/spool/postfix/etc/pam.d',
|
'mkdir -p /var/spool/postfix/etc/pam.d',
|
||||||
'mkdir -p /var/spool/postfix/var/run/mysqld',
|
'mkdir -p /var/spool/postfix/var/run/mysqld',
|
||||||
@@ -191,6 +193,9 @@ return Array(
|
|||||||
'daemons' => Array(
|
'daemons' => Array(
|
||||||
'proftpd' => Array(
|
'proftpd' => Array(
|
||||||
'label' => 'ProFTPd',
|
'label' => 'ProFTPd',
|
||||||
|
'commands' => Array(
|
||||||
|
'apt-get install proftpd-basic proftpd-mod-mysql'
|
||||||
|
),
|
||||||
'files' => Array(
|
'files' => Array(
|
||||||
'etc_proftpd_sql.conf' => '/etc/proftpd/sql.conf',
|
'etc_proftpd_sql.conf' => '/etc/proftpd/sql.conf',
|
||||||
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
'etc_proftpd_modules.conf' => '/etc/proftpd/modules.conf',
|
||||||
@@ -255,6 +260,7 @@ return Array(
|
|||||||
($settings['system']['webserver'] == 'lighttpd' ? 'etc_lighttpd_froxlor-awstats.conf' : 'etc_apache_vhosts_05_awstats.conf') => ($settings['system']['webserver'] == 'lighttpd' ? '/etc/lighttpd/froxlor-awstats.conf' : '/etc/apache2/sites-enabled/05_awstats.conf')
|
($settings['system']['webserver'] == 'lighttpd' ? 'etc_lighttpd_froxlor-awstats.conf' : 'etc_apache_vhosts_05_awstats.conf') => ($settings['system']['webserver'] == 'lighttpd' ? '/etc/lighttpd/froxlor-awstats.conf' : '/etc/apache2/sites-enabled/05_awstats.conf')
|
||||||
),
|
),
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
|
'apt-get install awstats',
|
||||||
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
|
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ return Array(
|
|||||||
$configcommand['diroptions'],
|
$configcommand['diroptions'],
|
||||||
$configcommand['include'],
|
$configcommand['include'],
|
||||||
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
'mkdir -p ' . $settings['system']['documentroot_prefix'],
|
||||||
'mkdir -p ' . $settings['system']['logfiles_directory']
|
'mkdir -p ' . $settings['system']['logfiles_directory'],
|
||||||
|
($settings['system']['deactivateddocroot'] != '') ? 'mkdir -p ' . $settings['system']['deactivateddocroot'] : ''
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/apache2 restart'
|
'/etc/init.d/apache2 restart'
|
||||||
@@ -45,8 +46,8 @@ return Array(
|
|||||||
'bind' => Array(
|
'bind' => Array(
|
||||||
'label' => 'Bind9',
|
'label' => 'Bind9',
|
||||||
'commands' => Array(
|
'commands' => Array(
|
||||||
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/named.conf',
|
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/named.conf',
|
||||||
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
|
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
|
||||||
),
|
),
|
||||||
'restart' => Array(
|
'restart' => Array(
|
||||||
'/etc/init.d/named restart'
|
'/etc/init.d/named restart'
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ function makePathfield($path, $uid, $gid, $fieldType, $value = '')
|
|||||||
|
|
||||||
if(sizeof($dirList) > 0)
|
if(sizeof($dirList) > 0)
|
||||||
{
|
{
|
||||||
if(sizeof(dirList) <= 100)
|
if(sizeof($dirList) <= 100)
|
||||||
{
|
{
|
||||||
$field = '<select name="path">';
|
$field = '<select name="path">';
|
||||||
foreach($dirList as $key => $dir)
|
foreach($dirList as $key => $dir)
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ function safe_exec($exec_string, &$return_value = false)
|
|||||||
$ok = false;
|
$ok = false;
|
||||||
foreach($allowed_commands as $allowed_command)
|
foreach($allowed_commands as $allowed_command)
|
||||||
{
|
{
|
||||||
if(strpos($exec_string, $allowed_command) == 0
|
if(strpos($exec_string, $allowed_command) === 0
|
||||||
&& (strlen($exec_string) === ($allowed_command_pos = strlen($allowed_command)) || substr($exec_string, $allowed_command_pos, 1) === ' '))
|
&& (strlen($exec_string) === ($allowed_command_pos = strlen($allowed_command)) || substr($exec_string, $allowed_command_pos, 1) === ' '))
|
||||||
{
|
{
|
||||||
$ok = true;
|
$ok = true;
|
||||||
|
|||||||
@@ -19,13 +19,20 @@
|
|||||||
|
|
||||||
function validateFormFieldHidden($fieldname, $fielddata, $newfieldvalue)
|
function validateFormFieldHidden($fieldname, $fielddata, $newfieldvalue)
|
||||||
{
|
{
|
||||||
if($newfieldvalue === $fielddata['value'])
|
/**
|
||||||
{
|
* don't show error on cronjob-timestamps changing
|
||||||
|
* because it might be possible that the cronjob ran
|
||||||
|
* while settings have been edited (bug #52)
|
||||||
|
*/
|
||||||
|
if($newfieldvalue === $fielddata['value']
|
||||||
|
|| $fieldname == 'system_last_tasks_run'
|
||||||
|
|| $fieldname == 'system_last_traffic_run'
|
||||||
|
|| $fieldname == 'system_lastcronrun'
|
||||||
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// TODO: Throw some error that actually makes sense - false would just throw unknown error
|
return 'hiddenfieldvaluechanged';
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,16 +60,17 @@ function getNextCronjobs()
|
|||||||
|
|
||||||
function includeCronjobs($debugHandler, $pathtophpfiles)
|
function includeCronjobs($debugHandler, $pathtophpfiles)
|
||||||
{
|
{
|
||||||
|
global $settings;
|
||||||
|
|
||||||
$cronjobs = getNextCronjobs();
|
$cronjobs = getNextCronjobs();
|
||||||
|
|
||||||
$jobs_to_run = array();
|
$jobs_to_run = array();
|
||||||
|
$cron_path = makeCorrectDir($pathtophpfiles.'/scripts/jobs/');
|
||||||
|
|
||||||
if($cronjobs !== false
|
if($cronjobs !== false
|
||||||
&& is_array($cronjobs)
|
&& is_array($cronjobs)
|
||||||
&& isset($cronjobs[0]))
|
&& isset($cronjobs[0]))
|
||||||
{
|
{
|
||||||
$cron_path = makeCorrectDir($pathtophpfiles.'/scripts/jobs/');
|
|
||||||
|
|
||||||
foreach($cronjobs as $cronjob)
|
foreach($cronjobs as $cronjob)
|
||||||
{
|
{
|
||||||
$cron_file = makeCorrectFile($cron_path.$cronjob);
|
$cron_file = makeCorrectFile($cron_path.$cronjob);
|
||||||
@@ -77,6 +78,17 @@ function includeCronjobs($debugHandler, $pathtophpfiles)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* if we're on realtime and cron_tasks is not one
|
||||||
|
* of the jobs to run, we add it so the changes are being applied
|
||||||
|
*/
|
||||||
|
if ($settings['system']['realtime_port'] !== 0) {
|
||||||
|
$cron_file = makeCorrectFile($cron_path.'/cron_tasks.php');
|
||||||
|
if (!in_array($cron_file, $jobs_to_run)) {
|
||||||
|
$jobs_to_run[] = $cron_file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $jobs_to_run;
|
return $jobs_to_run;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,21 +64,23 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '')
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($doupdate === true
|
if($doupdate === true
|
||||||
&& (int)$settings['system']['realtime_port'] !== 0)
|
&& (int)$settings['system']['realtime_port'] !== 0
|
||||||
|
&& function_exists('socket_create'))
|
||||||
{
|
{
|
||||||
$timeout = 15;
|
$timeout = 15;
|
||||||
$socket = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
|
//$socket = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
|
||||||
|
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
|
||||||
|
|
||||||
if($socket !== false)
|
if($socket !== false)
|
||||||
{
|
{
|
||||||
// create the request packet
|
// create the request packet
|
||||||
$packet = chr(0) . chr(1) . 'RUN' . chr(0);
|
$packet = chr(0) . chr(1) . 'RUN' . chr(0);
|
||||||
// UDP is connectionless, so we just send on it.
|
// 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']);
|
//@socket_sendto($socket, $packet, strlen($packet), 0x100, '127.0.0.1', (int)$settings['system']['realtime_port']);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* this is for TCP-Connections
|
* this is for TCP-Connections
|
||||||
*
|
*/
|
||||||
$time = time();
|
$time = time();
|
||||||
|
|
||||||
while(!@socket_connect($socket, '127.0.0.1', (int)$settings['system']['realtime_port']))
|
while(!@socket_connect($socket, '127.0.0.1', (int)$settings['system']['realtime_port']))
|
||||||
@@ -97,7 +99,9 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '')
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
/**
|
||||||
|
* close socket
|
||||||
|
*/
|
||||||
@socket_close($socket);
|
@socket_close($socket);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,26 +30,33 @@ function openRootDB($debugHandler, $lockfile)
|
|||||||
{
|
{
|
||||||
global $db_root;
|
global $db_root;
|
||||||
|
|
||||||
// If one cronscript needs root, it should say $needrootdb = true before the include
|
require dirname(dirname(dirname(__FILE__))).'/userdata.inc.php';
|
||||||
if(isset($needrootdb)
|
|
||||||
&& $needrootdb === true)
|
// Legacy sql-root-information
|
||||||
|
if(isset($sql['root_user']) && isset($sql['root_password']) && (!isset($sql_root) || !is_array($sql_root)))
|
||||||
{
|
{
|
||||||
$db_root = new db($sql_root[0]['host'], $sql_root[0]['user'], $sql_root[0]['password'], '');
|
$sql_root = array(0 => array('caption' => 'Default', 'host' => $sql['host'], 'user' => $sql['root_user'], 'password' => $sql['root_password']));
|
||||||
|
unset($sql['root_user']);
|
||||||
if($db_root->link_id == 0)
|
unset($sql['root_password']);
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Do not proceed further if no database connection could be established
|
|
||||||
*/
|
|
||||||
|
|
||||||
fclose($debugHandler);
|
|
||||||
unlink($lockfile);
|
|
||||||
die('root can\'t connect to mysqlserver. Please check userdata.inc.php! Exiting...');
|
|
||||||
}
|
|
||||||
|
|
||||||
unset($db_root->password);
|
|
||||||
fwrite($debugHandler, 'Database-rootconnection established' . "\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$db_root = new db($sql_root[0]['host'], $sql_root[0]['user'], $sql_root[0]['password'], '');
|
||||||
|
|
||||||
|
if($db_root->link_id == 0)
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Do not proceed further if no database connection could be established
|
||||||
|
*/
|
||||||
|
|
||||||
|
fclose($debugHandler);
|
||||||
|
unlink($lockfile);
|
||||||
|
die('root can\'t connect to mysqlserver. Please check userdata.inc.php! Exiting...');
|
||||||
|
}
|
||||||
|
|
||||||
|
unset($db_root->password);
|
||||||
|
fwrite($debugHandler, 'Database-rootconnection established' . "\n");
|
||||||
|
|
||||||
|
unset($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeRootDB()
|
function closeRootDB()
|
||||||
|
|||||||
@@ -134,26 +134,26 @@ function showUpdateStep($task = null, $needs_status = true)
|
|||||||
* outputs [OK] (success), [??] (warning) or [!!] (failure)
|
* outputs [OK] (success), [??] (warning) or [!!] (failure)
|
||||||
* of the last update-step
|
* of the last update-step
|
||||||
*
|
*
|
||||||
* @param int status (0 = success, 1 = warning, -1 = failure)
|
* @param int status (0 = success, 1 = warning, 2 = failure)
|
||||||
*
|
*
|
||||||
* @return string formatted output and log-entry
|
* @return string formatted output and log-entry
|
||||||
*/
|
*/
|
||||||
function lastStepStatus($status = -1)
|
function lastStepStatus($status = -1, $message = '')
|
||||||
{
|
{
|
||||||
global $updatelog;
|
global $updatelog;
|
||||||
|
|
||||||
switch($status)
|
switch($status)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
$status_sign = '[OK]';
|
$status_sign = ($message != '') ? '['.$message.']' : '[OK]';
|
||||||
$status_color = '1dcd00';
|
$status_color = '1dcd00';
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
$status_sign = '[??]';
|
$status_sign = ($message != '') ? '['.$message.']' : '[??]';
|
||||||
$status_color = 'db7100';
|
$status_color = 'db7100';
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$status_sign = '[!!]';
|
$status_sign = ($message != '') ? '['.$message.']' : '[!!]';
|
||||||
$status_color = 'ff0000';
|
$status_color = 'ff0000';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -30,6 +30,17 @@ function storeSettingField($fieldname, $fielddata, $newfieldvalue)
|
|||||||
{
|
{
|
||||||
toggleCronStatus($fielddata['cronmodule'], $newfieldvalue);
|
toggleCronStatus($fielddata['cronmodule'], $newfieldvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* satisfy dependencies
|
||||||
|
*/
|
||||||
|
if(isset($fielddata['dependency']) && is_array($fielddata['dependency']))
|
||||||
|
{
|
||||||
|
if((int)$fielddata['dependency']['onlyif'] == (int)$newfieldvalue)
|
||||||
|
{
|
||||||
|
storeSettingField($fielddata['dependency']['fieldname'], $fielddata['dependency']['fielddata'], $newfieldvalue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
|
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,13 +29,24 @@
|
|||||||
*
|
*
|
||||||
* @return null
|
* @return null
|
||||||
*/
|
*/
|
||||||
function checkLastGuid($froxlor_guid = 0)
|
function checkLastGuid()
|
||||||
{
|
{
|
||||||
global $cronlog;
|
global $log, $cronlog, $db, $settings;
|
||||||
|
|
||||||
|
$mylog = null;
|
||||||
|
if (isset($cronlog) && $cronlog instanceof FroxlorLogger) {
|
||||||
|
$mylog = $cronlog;
|
||||||
|
} else {
|
||||||
|
$mylog = $log;
|
||||||
|
}
|
||||||
|
|
||||||
$group_lines = array();
|
$group_lines = array();
|
||||||
$group_guids = array();
|
$group_guids = array();
|
||||||
$update_to_guid = 0;
|
$update_to_guid = 0;
|
||||||
|
|
||||||
|
$froxlor_guid = 0;
|
||||||
|
$result = $db->query_first("SELECT MAX(`guid`) as `fguid` FROM `".TABLE_PANEL_CUSTOMERS."`");
|
||||||
|
$froxlor_guid = $result['fguid'];
|
||||||
|
|
||||||
$g_file = '/etc/group';
|
$g_file = '/etc/group';
|
||||||
|
|
||||||
@@ -54,28 +65,44 @@ function checkLastGuid($froxlor_guid = 0)
|
|||||||
|
|
||||||
foreach($group_guids as $idx => $group)
|
foreach($group_guids as $idx => $group)
|
||||||
{
|
{
|
||||||
$guid = $group[2];
|
/**
|
||||||
|
* nogroup | nobody have very high guids
|
||||||
|
* ignore them
|
||||||
|
*/
|
||||||
|
if($group[0] == 'nogroup'
|
||||||
|
|| $group[0] == 'nobody'
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if($guid > $froxlor_guid)
|
$guid = isset($group[2]) ? (int)$group[2] : 0;
|
||||||
|
|
||||||
|
if($guid > $update_to_guid)
|
||||||
{
|
{
|
||||||
$update_to_guid = $guid;
|
$update_to_guid = $guid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($update_to_guid > $froxlor_guid)
|
if($update_to_guid < $froxlor_guid)
|
||||||
{
|
{
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Updating froxlor last guid to '.$update_to_guid);
|
$update_to_guid = $froxlor_guid;
|
||||||
saveSetting('system', 'lastguid', $update_to_guid);
|
|
||||||
|
if ($update_to_guid != $settings['system']['lastguid'])
|
||||||
|
{
|
||||||
|
$mylog->logAction(CRON_ACTION, LOG_NOTICE, 'Updating froxlor last guid to '.$update_to_guid);
|
||||||
|
saveSetting('system', 'lastguid', $update_to_guid);
|
||||||
|
$settings['system']['lastguid'] = $update_to_guid;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
|
$mylog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
|
$mylog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
15
lib/init.php
15
lib/init.php
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
header("Cache-Control: no-cache, must-revalidate");
|
header("Cache-Control: no-cache, must-revalidate");
|
||||||
header("Pragma: no-cache");
|
header("Pragma: no-cache");
|
||||||
header("Content-type: text/html; charset=utf-8");
|
header("Content-type: text/html; charset=iso-8859-1");
|
||||||
|
|
||||||
// ensure that default timezone is set
|
// ensure that default timezone is set
|
||||||
if(function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get"))
|
if(function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get"))
|
||||||
@@ -49,7 +49,8 @@ $filename = basename($_SERVER['PHP_SELF']);
|
|||||||
|
|
||||||
if(!file_exists('./lib/userdata.inc.php'))
|
if(!file_exists('./lib/userdata.inc.php'))
|
||||||
{
|
{
|
||||||
die('You have to <a href="./install/install.php">configure</a> Froxlor first!');
|
$config_hint = file_get_contents('./templates/misc/configurehint.tpl');
|
||||||
|
die($config_hint);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!is_readable('./lib/userdata.inc.php'))
|
if(!is_readable('./lib/userdata.inc.php'))
|
||||||
@@ -154,8 +155,10 @@ $settings = loadSettings(&$settings_data, &$db);
|
|||||||
/*
|
/*
|
||||||
* when upgrading from syscp, the header-graphic gets lost
|
* when upgrading from syscp, the header-graphic gets lost
|
||||||
*/
|
*/
|
||||||
if(!isset($settings['admin']['froxlor_graphic'])) {
|
if(!isset($settings['admin']['froxlor_graphic'])
|
||||||
$settings['admin']['froxlor_graphic'] = $settings['admin']['syscp_graphic'];
|
|| $settings['admin']['froxlor_graphic'] == ''
|
||||||
|
) {
|
||||||
|
$settings['admin']['froxlor_graphic'] = ($settings['admin']['syscp_graphic'] != '') ? $settings['admin']['syscp_graphic'] : 'images/header.gif';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -413,6 +416,6 @@ if($page == '')
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$mail = new PHPMailer();
|
$mail = new PHPMailer();
|
||||||
$mail->From = $settings['panel']['adminmail'];
|
$mail->SetFrom($settings['panel']['adminmail'], 'Froxlor Administrator');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -68,7 +68,8 @@ define('PACKAGE_ENABLED', 2);
|
|||||||
|
|
||||||
// VERSION INFO
|
// VERSION INFO
|
||||||
|
|
||||||
$version = '0.9';
|
$version = '0.9.3';
|
||||||
$dbversion = '2';
|
$dbversion = '2';
|
||||||
|
$branding = '';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ $lng['error']['domainname'] = $lng['domains']['domainname'];
|
|||||||
$lng['question']['question'] = 'Security question';
|
$lng['question']['question'] = 'Security question';
|
||||||
$lng['question']['admin_customer_reallydelete'] = 'Do you really want to delete the customer %s? This cannot be undone!';
|
$lng['question']['admin_customer_reallydelete'] = 'Do you really want to delete the customer %s? This cannot be undone!';
|
||||||
$lng['question']['admin_domain_reallydelete'] = 'Do you really want to delete the domain %s?';
|
$lng['question']['admin_domain_reallydelete'] = 'Do you really want to delete the domain %s?';
|
||||||
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Do you really want to deactivate these Security settings (OpenBasedir and/or SafeMode)?';
|
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Do you really want to disable these Security settings (OpenBasedir and/or SafeMode)?';
|
||||||
$lng['question']['admin_admin_reallydelete'] = 'Do you really want to delete the admin %s? Every customer and domain will be reassigned to your account.';
|
$lng['question']['admin_admin_reallydelete'] = 'Do you really want to delete the admin %s? Every customer and domain will be reassigned to your account.';
|
||||||
$lng['question']['admin_template_reallydelete'] = 'Do you really want to delete the template \'%s\'?';
|
$lng['question']['admin_template_reallydelete'] = 'Do you really want to delete the template \'%s\'?';
|
||||||
$lng['question']['domains_reallydelete'] = 'Do you really want to delete the domain %s?';
|
$lng['question']['domains_reallydelete'] = 'Do you really want to delete the domain %s?';
|
||||||
@@ -369,9 +369,9 @@ $lng['serversettings']['webftp_url']['title'] = 'WebFTP URL';
|
|||||||
$lng['serversettings']['webftp_url']['description'] = 'What\'s the URL to WebFTP? (has to start with http(s)://)';
|
$lng['serversettings']['webftp_url']['description'] = 'What\'s the URL to WebFTP? (has to start with http(s)://)';
|
||||||
$lng['serversettings']['language']['description'] = 'What\'s your standard server language?';
|
$lng['serversettings']['language']['description'] = 'What\'s your standard server language?';
|
||||||
$lng['serversettings']['maxloginattempts']['title'] = 'Max Login Attempts';
|
$lng['serversettings']['maxloginattempts']['title'] = 'Max Login Attempts';
|
||||||
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets deactivated.';
|
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets disabled.';
|
||||||
$lng['serversettings']['deactivatetime']['title'] = 'Deactivate Time';
|
$lng['serversettings']['deactivatetime']['title'] = 'Deactivation Time';
|
||||||
$lng['serversettings']['deactivatetime']['description'] = 'Time (sec.) an account gets deactivated after too many login tries.';
|
$lng['serversettings']['deactivatetime']['description'] = 'Time (sec.) an account gets disabled after too many login tries.';
|
||||||
$lng['serversettings']['pathedit']['title'] = 'Type of path input';
|
$lng['serversettings']['pathedit']['title'] = 'Type of path input';
|
||||||
$lng['serversettings']['pathedit']['description'] = 'Should a path be selected by a dropdown menu or by an input field?';
|
$lng['serversettings']['pathedit']['description'] = 'Should a path be selected by a dropdown menu or by an input field?';
|
||||||
$lng['serversettings']['nameservers']['title'] = 'Nameservers';
|
$lng['serversettings']['nameservers']['title'] = 'Nameservers';
|
||||||
@@ -425,7 +425,7 @@ $lng['panel']['urloverridespath'] = 'URL (overrides path)';
|
|||||||
$lng['panel']['pathorurl'] = 'Path or URL';
|
$lng['panel']['pathorurl'] = 'Path or URL';
|
||||||
$lng['error']['sessiontimeoutiswrong'] = 'Only numerical "Session Timeout" is allowed.';
|
$lng['error']['sessiontimeoutiswrong'] = 'Only numerical "Session Timeout" is allowed.';
|
||||||
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical "Max Login Attempts" are allowed.';
|
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical "Max Login Attempts" are allowed.';
|
||||||
$lng['error']['deactivatetimiswrong'] = 'Only numerical "Deactivate Time" is allowed.';
|
$lng['error']['deactivatetimiswrong'] = 'Only numerical "Deactivation Time" is allowed.';
|
||||||
$lng['error']['accountprefixiswrong'] = 'The "Customerprefix" is wrong.';
|
$lng['error']['accountprefixiswrong'] = 'The "Customerprefix" is wrong.';
|
||||||
$lng['error']['mysqlprefixiswrong'] = 'The "SQL Prefix" is wrong.';
|
$lng['error']['mysqlprefixiswrong'] = 'The "SQL Prefix" is wrong.';
|
||||||
$lng['error']['ftpprefixiswrong'] = 'The "FTP Prefix" is wrong.';
|
$lng['error']['ftpprefixiswrong'] = 'The "FTP Prefix" is wrong.';
|
||||||
@@ -872,7 +872,7 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
|
|||||||
// ADDED IN 1.2.19-svn18
|
// ADDED IN 1.2.19-svn18
|
||||||
|
|
||||||
$lng['serversettings']['allow_password_reset']['title'] = 'Allow password reset by customers';
|
$lng['serversettings']['allow_password_reset']['title'] = 'Allow password reset by customers';
|
||||||
$lng['pwdreminder']['notallowed'] = 'Password reset is deactivated';
|
$lng['pwdreminder']['notallowed'] = 'Password reset is disabled';
|
||||||
|
|
||||||
// ADDED IN 1.2.19-svn20
|
// ADDED IN 1.2.19-svn20
|
||||||
|
|
||||||
@@ -983,7 +983,7 @@ $lng['error']['info'] = 'Info';
|
|||||||
$lng['admin']['phpconfig']['template_replace_vars'] = 'Variables that will be replaced in the configs';
|
$lng['admin']['phpconfig']['template_replace_vars'] = 'Variables that will be replaced in the configs';
|
||||||
$lng['admin']['phpconfig']['safe_mode'] = 'Will be replaced with the safe_mode setting of the domain.';
|
$lng['admin']['phpconfig']['safe_mode'] = 'Will be replaced with the safe_mode setting of the domain.';
|
||||||
$lng['admin']['phpconfig']['pear_dir'] = 'Will be replaced with the global setting for the pear directory.';
|
$lng['admin']['phpconfig']['pear_dir'] = 'Will be replaced with the global setting for the pear directory.';
|
||||||
$lng['admin']['phpconfig']['open_basedir_c'] = 'Will insert a ; (semicolon) to comment-out/deactivate open_basedir when set';
|
$lng['admin']['phpconfig']['open_basedir_c'] = 'Will insert a ; (semicolon) to comment-out/disable open_basedir when set';
|
||||||
$lng['admin']['phpconfig']['open_basedir'] = 'Will be replaced with the open_basedir setting of the domain.';
|
$lng['admin']['phpconfig']['open_basedir'] = 'Will be replaced with the open_basedir setting of the domain.';
|
||||||
$lng['admin']['phpconfig']['tmp_dir'] = 'Will be replaced with the temporary directory of the domain.';
|
$lng['admin']['phpconfig']['tmp_dir'] = 'Will be replaced with the temporary directory of the domain.';
|
||||||
$lng['admin']['phpconfig']['open_basedir_global'] = 'Will be replaced with the global value of the path which will be attached to the open_basedir.';
|
$lng['admin']['phpconfig']['open_basedir_global'] = 'Will be replaced with the global value of the path which will be attached to the open_basedir.';
|
||||||
@@ -1110,7 +1110,7 @@ $lng['aps']['invalidzipfile'] = '<strong>Errors for <em>%s</em></strong><br/><ul
|
|||||||
$lng['aps']['successpackageupdate'] = '<strong><em>%s</em> successfully installed as a Package update</strong>';
|
$lng['aps']['successpackageupdate'] = '<strong><em>%s</em> successfully installed as a Package update</strong>';
|
||||||
$lng['aps']['successpackageinstall'] = '<strong><em>%s</em> successfully installed as a new Package</strong>';
|
$lng['aps']['successpackageinstall'] = '<strong><em>%s</em> successfully installed as a new Package</strong>';
|
||||||
$lng['aps']['class_zip_missing'] = 'SimpleXML Class, exec function or ZIP Functions missing or not enabled! For further information about this problem look into the handbook for this module.';
|
$lng['aps']['class_zip_missing'] = 'SimpleXML Class, exec function or ZIP Functions missing or not enabled! For further information about this problem look into the handbook for this module.';
|
||||||
$lng['aps']['dir_permissions'] = 'The PHP/Webserver process must be able to write in the directory /var/www/froxlor/temp/ and /var/www/froxlor/packages/';
|
$lng['aps']['dir_permissions'] = 'The PHP/Webserver process must be able to write in the directory {$path}temp/ and {$path}packages/';
|
||||||
$lng['aps']['initerror'] = '<strong>There are some problems with this module:</strong><ul>%s</ul>Fix these problems, otherwise the module cannot be used!';
|
$lng['aps']['initerror'] = '<strong>There are some problems with this module:</strong><ul>%s</ul>Fix these problems, otherwise the module cannot be used!';
|
||||||
$lng['aps']['iderror'] = 'Wrong id specified!';
|
$lng['aps']['iderror'] = 'Wrong id specified!';
|
||||||
$lng['aps']['nopacketsforinstallation'] = 'There are no packages to install.';
|
$lng['aps']['nopacketsforinstallation'] = 'There are no packages to install.';
|
||||||
@@ -1192,7 +1192,7 @@ $lng['error']['admindoesntexist'] = 'The admin you have chosen doesn\'t exist.';
|
|||||||
// ADDED IN 1.2.19-svn37
|
// ADDED IN 1.2.19-svn37
|
||||||
|
|
||||||
$lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor';
|
$lng['serversettings']['system_realtime_port']['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 ist deactivated.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="http://wiki.froxlor.org/doc/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
|
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
|
$lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
|
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
|
||||||
@@ -1290,4 +1290,19 @@ $lng['tasks']['noneoutstanding'] = 'There are currently no outstanding tasks for
|
|||||||
$lng['ticket']['nonexistingcustomer'] = '(deleted customer)';
|
$lng['ticket']['nonexistingcustomer'] = '(deleted customer)';
|
||||||
$lng['admin']['ticket_nocustomeraddingavailable'] = 'It\'s not possible to open a new support-ticket currently. You first need to add at least one customer.';
|
$lng['admin']['ticket_nocustomeraddingavailable'] = 'It\'s not possible to open a new support-ticket currently. You first need to add at least one customer.';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.1
|
||||||
|
|
||||||
|
$lng['admin']['accountdata'] = 'Account Data';
|
||||||
|
$lng['admin']['contactdata'] = 'Contact Data';
|
||||||
|
$lng['admin']['servicedata'] = 'Service Data';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.2
|
||||||
|
|
||||||
|
$lng['admin']['newerversionavailable'] = 'There is a newer version of Froxlor available';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.3
|
||||||
|
|
||||||
|
$lng['emails']['noemaildomainaddedyet'] = 'You do not have a (email-)domain in your account yet.';
|
||||||
|
$lng['error']['hiddenfieldvaluechanged'] = 'The value for the hidden field "%s" changed while editing the settings.<br /><br />This is usually not a big problem but the settings could not be saved because of this.';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -1065,7 +1065,7 @@ $lng['aps']['notazipfile'] = 'Die hochgeladene Datei ist keine gültige ZIP-
|
|||||||
$lng['aps']['filetoobig'] = 'Die Datei ist zu groß.';
|
$lng['aps']['filetoobig'] = 'Die Datei ist zu groß.';
|
||||||
$lng['aps']['filenotcomplete'] = 'Die Datei wurde nicht vollständig hochgeladen.';
|
$lng['aps']['filenotcomplete'] = 'Die Datei wurde nicht vollständig hochgeladen.';
|
||||||
$lng['aps']['phperror'] = 'Es trat ein PHP interner Fehler auf. Der Upload Fehlercode lautet #';
|
$lng['aps']['phperror'] = 'Es trat ein PHP interner Fehler auf. Der Upload Fehlercode lautet #';
|
||||||
$lng['aps']['moveproblem'] = 'Die hochgeladene Datei konnte nicht aus dem temporären Ordner verschoben werden. Prüfen Sie ob alle Rechte korrekt gesetzt sind. Dies gilt insbesondere fü die Ordner /var/www/froxlor/temp/ und /var/www/froxlor/packages/.';
|
$lng['aps']['moveproblem'] = 'Die hochgeladene Datei konnte nicht aus dem temporären Ordner verschoben werden. Prüfen Sie ob alle Rechte korrekt gesetzt sind. Dies gilt insbesondere fü die Ordner {$path}temp/ und {$path}packages/.';
|
||||||
$lng['aps']['uploaderrors'] = '<strong>Fehler für die Datei <em>%s</em></strong><br/><ul>%s</ul>';
|
$lng['aps']['uploaderrors'] = '<strong>Fehler für die Datei <em>%s</em></strong><br/><ul>%s</ul>';
|
||||||
$lng['aps']['nospecialchars'] = 'Sonderzeichen sind im Suchausdruck nicht erlaubt!';
|
$lng['aps']['nospecialchars'] = 'Sonderzeichen sind im Suchausdruck nicht erlaubt!';
|
||||||
$lng['aps']['noitemsfound'] = 'Es wurden keine Pakete gefunden!';
|
$lng['aps']['noitemsfound'] = 'Es wurden keine Pakete gefunden!';
|
||||||
@@ -1115,7 +1115,7 @@ $lng['aps']['invalidzipfile'] = '<strong>Fehler für <em>%s</em></strong><br
|
|||||||
$lng['aps']['successpackageupdate'] = '<strong><em>%s</em> erfolgreich als Paketupdate installiert</strong>';
|
$lng['aps']['successpackageupdate'] = '<strong><em>%s</em> erfolgreich als Paketupdate installiert</strong>';
|
||||||
$lng['aps']['successpackageinstall'] = '<strong><em>%s</em> erfolgreich als neues Paket installiert</strong>';
|
$lng['aps']['successpackageinstall'] = '<strong><em>%s</em> erfolgreich als neues Paket installiert</strong>';
|
||||||
$lng['aps']['class_zip_missing'] = 'SimpleXML Klasse, exec Funktion oder ZIP Funktionen nicht vorhanden bzw. aktiviert! Für genauere Informationen zu diesem Problem schauen Sie bitte in das Handbuch zu diesem Modul.';
|
$lng['aps']['class_zip_missing'] = 'SimpleXML Klasse, exec Funktion oder ZIP Funktionen nicht vorhanden bzw. aktiviert! Für genauere Informationen zu diesem Problem schauen Sie bitte in das Handbuch zu diesem Modul.';
|
||||||
$lng['aps']['dir_permissions'] = 'Der PHP bzw. Webserver Prozess muss Schreibrechte für /var/www/froxlor/temp/ und /var/www/froxlor/packages/ haben.';
|
$lng['aps']['dir_permissions'] = 'Der PHP bzw. Webserver Prozess muss Schreibrechte für {$path}temp/ und {$path}packages/ haben.';
|
||||||
$lng['aps']['initerror'] = '<strong>Es gibt ein paar Probleme mit diesem Modul:</strong><ul>%s</ul>Beheben Sie diese Probleme oder das Modul kann nicht genutzt werden!';
|
$lng['aps']['initerror'] = '<strong>Es gibt ein paar Probleme mit diesem Modul:</strong><ul>%s</ul>Beheben Sie diese Probleme oder das Modul kann nicht genutzt werden!';
|
||||||
$lng['aps']['iderror'] = 'Es wurde eine falsche Id übergeben!';
|
$lng['aps']['iderror'] = 'Es wurde eine falsche Id übergeben!';
|
||||||
$lng['aps']['nopacketsforinstallation'] = 'Es wurden keine Pakete zur Installation gefunden.';
|
$lng['aps']['nopacketsforinstallation'] = 'Es wurden keine Pakete zur Installation gefunden.';
|
||||||
@@ -1196,7 +1196,7 @@ $lng['error']['admindoesntexist'] = 'Der ausgewählte Admin existiert nicht.
|
|||||||
// ADDED IN 1.2.19-svn37
|
// ADDED IN 1.2.19-svn37
|
||||||
|
|
||||||
$lng['serversettings']['system_realtime_port']['title'] = 'Port für Realtime Froxlor';
|
$lng['serversettings']['system_realtime_port']['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="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
$lng['serversettings']['system_realtime_port']['description'] = 'Dieser Port auf localhost wird bei jedem neuen Cron-Task kontaktiert. Wenn der Wert 0 (Null) ist, dann ist dieses Feature deaktiviert.<br />Siehe dazu auch: <a href="http://wiki.froxlor.org/doc/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Erlaube gleichzeitigen Login';
|
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Erlaube gleichzeitigen Login';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Wenn diese Option aktiviert ist, können sich Nutzer mehrmals gleichzeitig anmelden.';
|
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Wenn diese Option aktiviert ist, können sich Nutzer mehrmals gleichzeitig anmelden.';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Erlaube Verschieben von Domains unter Admins';
|
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Erlaube Verschieben von Domains unter Admins';
|
||||||
@@ -1270,4 +1270,19 @@ $lng['tasks']['noneoutstanding'] = 'Zur Zeit gibt es keine ausstehenden Aufgaben
|
|||||||
$lng['ticket']['nonexistingcustomer'] = '(gelöschter Kunde)';
|
$lng['ticket']['nonexistingcustomer'] = '(gelöschter Kunde)';
|
||||||
$lng['admin']['ticket_nocustomeraddingavailable'] = 'Es können derzeit keine neuen Support-Tickets eröffnet werden. Sie müssen zuerst einen Kunden anlegen';
|
$lng['admin']['ticket_nocustomeraddingavailable'] = 'Es können derzeit keine neuen Support-Tickets eröffnet werden. Sie müssen zuerst einen Kunden anlegen';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.1
|
||||||
|
|
||||||
|
$lng['admin']['accountdata'] = 'Benutzerdaten';
|
||||||
|
$lng['admin']['contactdata'] = 'Kontaktdaten';
|
||||||
|
$lng['admin']['servicedata'] = 'Dienstleistungsdaten';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.2
|
||||||
|
|
||||||
|
$lng['admin']['newerversionavailable'] = 'Eine neuere Version von Froxlor wurde veröffentlicht';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.3
|
||||||
|
|
||||||
|
$lng['emails']['noemaildomainaddedyet'] = 'Sie haben bisher noch keine (E-Mail-)Domain in Ihrem Konto.';
|
||||||
|
$lng['error']['hiddenfieldvaluechanged'] = 'Der Wert des verborgenen Feldes "%s" hat sich während dem Ändern der Einstellungen geändert.<br /><br />Dies ist im Grunde kein schwerwiegendes Problem, allerdings konnten so die Einstellungen nicht gespeichert werden.';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PHPMailer language file.
|
|
||||||
* English Version
|
|
||||||
*/
|
|
||||||
|
|
||||||
$PHPMAILER_LANG = array();
|
|
||||||
$PHPMAILER_LANG["provide_address"] = 'You must provide at least one ' . 'recipient email address.';
|
|
||||||
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.';
|
|
||||||
$PHPMAILER_LANG["execute"] = 'Could not execute: ';
|
|
||||||
$PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.';
|
|
||||||
$PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.';
|
|
||||||
$PHPMAILER_LANG["from_failed"] = 'The following From address failed: ';
|
|
||||||
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' . 'recipients failed: ';
|
|
||||||
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.';
|
|
||||||
$PHPMAILER_LANG["connect_host"] = 'SMTP Error: Could not connect to SMTP host.';
|
|
||||||
$PHPMAILER_LANG["file_access"] = 'Could not access file: ';
|
|
||||||
$PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: ';
|
|
||||||
$PHPMAILER_LANG["encoding"] = 'Unknown encoding: ';
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -1084,7 +1084,7 @@ $lng['aps']['noinstancesexisting'] = 'Não existem estâncias para ad
|
|||||||
$lng['error']['customerdoesntexist'] = 'O cliente que você escolheu não existe';
|
$lng['error']['customerdoesntexist'] = 'O cliente que você escolheu não existe';
|
||||||
$lng['error']['admindoesntexist'] = 'O administrador que você escolheu não existe';
|
$lng['error']['admindoesntexist'] = 'O administrador que você escolheu não existe';
|
||||||
$lng['serversettings']['system_realtime_port']['title'] = 'Porta para Froxlor em tempo real';
|
$lng['serversettings']['system_realtime_port']['title'] = 'Porta para Froxlor em tempo real';
|
||||||
$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 ist deactivated.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="http://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['title'] = 'AAtiva login múltiplo';
|
$lng['serversettings']['session_allow_multiple_login']['title'] = 'AAtiva login múltiplo';
|
||||||
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Se ativado um usuário pode ter múltiplos logins';
|
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Se ativado um usuário pode ter múltiplos logins';
|
||||||
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Ativa mover domínios entre admins';
|
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Ativa mover domínios entre admins';
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ fwrite($debugHandler, 'Cronfiles have been included' . "\n");
|
|||||||
* so users in the database don't conflict with system users
|
* so users in the database don't conflict with system users
|
||||||
*/
|
*/
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Checking system\'s last guid');
|
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Checking system\'s last guid');
|
||||||
checkLastGuid($settings['system']['lastguid']);
|
checkLastGuid();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* shutdown cron
|
* shutdown cron
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$Aps = new ApsUpdater($db);
|
$Aps = new ApsUpdater($db, $cronlog);
|
||||||
$Aps->UpdateHandler();
|
$Aps->UpdateHandler();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -209,28 +209,25 @@ if($db->num_rows($result) > 0)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//send mail with mailer class
|
$_mailerror = false;
|
||||||
$mail->From = $to;
|
try {
|
||||||
$mail->FromName = $to;
|
$mail->SetFrom($to, $to);
|
||||||
$mail->Subject = $row['subject'];
|
$mail->AddReplyTo($to, $to);
|
||||||
$mail->Body = html_entity_decode($message);
|
$mail->Subject = $row['subject'];
|
||||||
$mail->AddAddress($from, $from);
|
$mail->AltBody = $message;
|
||||||
$mail->AddCustomHeader('Precedence: bulk');
|
$mail->MsgHTML(html_entity_decode($message));
|
||||||
|
$mail->AddAddress($from, $from);
|
||||||
// set correct return path
|
$mail->AddCustomHeader('Precedence: bulk');
|
||||||
$mail->Sender = $to;
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
if(!$mail->Send())
|
$mailerr_msg = $e->errorMessage();
|
||||||
{
|
$_mailerror = true;
|
||||||
if($mail->ErrorInfo != '')
|
} catch (Exception $e) {
|
||||||
{
|
$mailerr_msg = $e->getMessage();
|
||||||
$mailerr_msg = $mail->ErrorInfo;
|
$_mailerror = true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
if ($_mailerror) {
|
||||||
$mailerr_msg = $from;
|
|
||||||
}
|
|
||||||
|
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_WARNING, "Error sending autoresponder mail: " . $mailerr_msg);
|
$cronlog->logAction(CRON_ACTION, LOG_WARNING, "Error sending autoresponder mail: " . $mailerr_msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,25 @@ class apache
|
|||||||
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading apache');
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading apache');
|
||||||
safe_exec($this->settings['system']['apachereload_command']);
|
safe_exec($this->settings['system']['apachereload_command']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* define a standard <Directory>-statement, bug #32
|
||||||
|
*/
|
||||||
|
private function _createStandardDirectoryEntry()
|
||||||
|
{
|
||||||
|
$vhosts_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/05_froxlor_dirfix_nofcgid.conf');
|
||||||
|
|
||||||
|
if(!isset($this->virtualhosts_data[$vhosts_filename]))
|
||||||
|
{
|
||||||
|
$this->virtualhosts_data[$vhosts_filename] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= '# ' . basename($vhosts_filename) . "\n" . '# Created ' . date('d.m.Y H:i') . "\n" . '# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.' . "\n" . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' <Directory "' . $this->settings['system']['documentroot_prefix'] . '">' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Order allow,deny' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' allow from all' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
public function createIpPort()
|
public function createIpPort()
|
||||||
{
|
{
|
||||||
@@ -79,7 +98,7 @@ class apache
|
|||||||
|
|
||||||
fwrite($this->debugHandler, ' apache::createIpPort: creating ip/port settings for ' . $ipport . "\n");
|
fwrite($this->debugHandler, ' apache::createIpPort: creating ip/port settings for ' . $ipport . "\n");
|
||||||
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'creating ip/port settings for ' . $ipport);
|
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'creating ip/port settings for ' . $ipport);
|
||||||
$vhosts_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/10_syscp_ipandport_' . trim(str_replace(':', '.', $row_ipsandports['ip']), '.') . '.' . $row_ipsandports['port'] . '.conf');
|
$vhosts_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/10_froxlor_ipandport_' . trim(str_replace(':', '.', $row_ipsandports['ip']), '.') . '.' . $row_ipsandports['port'] . '.conf');
|
||||||
|
|
||||||
if(!isset($this->virtualhosts_data[$vhosts_filename]))
|
if(!isset($this->virtualhosts_data[$vhosts_filename]))
|
||||||
{
|
{
|
||||||
@@ -149,9 +168,13 @@ class apache
|
|||||||
$this->virtualhosts_data[$vhosts_filename].= '</VirtualHost>' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= '</VirtualHost>' . "\n";
|
||||||
$this->logger->logAction(CRON_ACTION, LOG_DEBUG, $ipport . ' :: inserted vhostcontainer');
|
$this->logger->logAction(CRON_ACTION, LOG_DEBUG, $ipport . ' :: inserted vhostcontainer');
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($vhosts_filename);
|
unset($vhosts_filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* bug #32
|
||||||
|
*/
|
||||||
|
$this->_createStandardDirectoryEntry();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -364,10 +387,14 @@ class apache
|
|||||||
{
|
{
|
||||||
// The normal access/error - logging is enabled
|
// The normal access/error - logging is enabled
|
||||||
$error_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-error.log');
|
$error_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-error.log');
|
||||||
|
// Create the logfile if it does not exist (fixes #46)
|
||||||
|
touch($error_log);
|
||||||
chown($error_log, $this->settings['system']['httpuser']);
|
chown($error_log, $this->settings['system']['httpuser']);
|
||||||
chgrp($error_log, $this->settings['system']['httpgroup']);
|
chgrp($error_log, $this->settings['system']['httpgroup']);
|
||||||
|
|
||||||
$access_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log');
|
$access_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log');
|
||||||
|
// Create the logfile if it does not exist (fixes #46)
|
||||||
|
touch($access_log);
|
||||||
chown($access_log, $this->settings['system']['httpuser']);
|
chown($access_log, $this->settings['system']['httpuser']);
|
||||||
chgrp($access_log, $this->settings['system']['httpgroup']);
|
chgrp($access_log, $this->settings['system']['httpgroup']);
|
||||||
|
|
||||||
@@ -436,11 +463,11 @@ class apache
|
|||||||
{
|
{
|
||||||
if($ssl_vhost === true)
|
if($ssl_vhost === true)
|
||||||
{
|
{
|
||||||
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_syscp_ssl_vhost_' . $domain['domain'] . '.conf');
|
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_froxlor_ssl_vhost_' . $domain['domain'] . '.conf');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_syscp_normal_vhost_' . $domain['domain'] . '.conf');
|
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_froxlor_normal_vhost_' . $domain['domain'] . '.conf');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $vhost_filename;
|
return $vhost_filename;
|
||||||
@@ -646,7 +673,7 @@ class apache
|
|||||||
{
|
{
|
||||||
$row_diroptions['path'] = makeCorrectDir($row_diroptions['path']);
|
$row_diroptions['path'] = makeCorrectDir($row_diroptions['path']);
|
||||||
mkDirWithCorrectOwnership($row_diroptions['customerroot'], $row_diroptions['path'], $row_diroptions['guid'], $row_diroptions['guid']);
|
mkDirWithCorrectOwnership($row_diroptions['customerroot'], $row_diroptions['path'], $row_diroptions['guid'], $row_diroptions['guid']);
|
||||||
$diroptions_filename = makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/40_syscp_diroption_' . md5($row_diroptions['path']) . '.conf');
|
$diroptions_filename = makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/40_froxlor_diroption_' . md5($row_diroptions['path']) . '.conf');
|
||||||
|
|
||||||
if(!isset($this->diroptions_data[$diroptions_filename]))
|
if(!isset($this->diroptions_data[$diroptions_filename]))
|
||||||
{
|
{
|
||||||
@@ -891,7 +918,7 @@ class apache
|
|||||||
if($vhost_filename != '.'
|
if($vhost_filename != '.'
|
||||||
&& $vhost_filename != '..'
|
&& $vhost_filename != '..'
|
||||||
&& !in_array($vhost_filename, $this->known_vhostfilenames)
|
&& !in_array($vhost_filename, $this->known_vhostfilenames)
|
||||||
&& preg_match('/^(10|20|30)_syscp_(ipandport|normal_vhost|wildcard_vhost|ssl_vhost)_(.+)\.conf$/', $vhost_filename)
|
&& preg_match('/^(05|10|20|30)_(froxlor|syscp)_(dirfix|ipandport|normal_vhost|wildcard_vhost|ssl_vhost)_(.+)\.conf$/', $vhost_filename)
|
||||||
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
|
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
|
||||||
{
|
{
|
||||||
fwrite($this->debugHandler, ' apache::wipeOutOldVhostConfigs: unlinking ' . $vhost_filename . "\n");
|
fwrite($this->debugHandler, ' apache::wipeOutOldVhostConfigs: unlinking ' . $vhost_filename . "\n");
|
||||||
@@ -922,7 +949,7 @@ class apache
|
|||||||
if($diroptions_filename != '.'
|
if($diroptions_filename != '.'
|
||||||
&& $diroptions_filename != '..'
|
&& $diroptions_filename != '..'
|
||||||
&& !in_array($diroptions_filename, $this->known_diroptionsfilenames)
|
&& !in_array($diroptions_filename, $this->known_diroptionsfilenames)
|
||||||
&& preg_match('/^40_syscp_diroption_(.+)\.conf$/', $diroptions_filename)
|
&& preg_match('/^40_(froxlor|syscp)_diroption_(.+)\.conf$/', $diroptions_filename)
|
||||||
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/' . $diroptions_filename)))
|
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/' . $diroptions_filename)))
|
||||||
{
|
{
|
||||||
fwrite($this->debugHandler, ' apache::wipeOutOldDiroptionConfigs: unlinking ' . $diroptions_filename . "\n");
|
fwrite($this->debugHandler, ' apache::wipeOutOldDiroptionConfigs: unlinking ' . $diroptions_filename . "\n");
|
||||||
|
|||||||
@@ -615,7 +615,7 @@ class lighttpd
|
|||||||
if($vhost_filename != '.'
|
if($vhost_filename != '.'
|
||||||
&& $vhost_filename != '..'
|
&& $vhost_filename != '..'
|
||||||
&& !in_array($vhost_filename, $this->known_filenames)
|
&& !in_array($vhost_filename, $this->known_filenames)
|
||||||
&& preg_match('/^(10|20|30)_froxlor_ipandport_(.+)\.conf$/', $vhost_filename)
|
&& preg_match('/^(05|10|20|30)_(froxlor|syscp)_ipandport_(.+)\.conf$/', $vhost_filename)
|
||||||
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
|
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
|
||||||
{
|
{
|
||||||
fwrite($this->debugHandler, ' lighttpd::wipeOutOldConfigs: unlinking ' . $vhost_filename . "\n");
|
fwrite($this->debugHandler, ' lighttpd::wipeOutOldConfigs: unlinking ' . $vhost_filename . "\n");
|
||||||
|
|||||||
@@ -55,14 +55,33 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
{
|
{
|
||||||
$awstatsclean['header'] = "## GENERATED BY FROXLOR\n";
|
$awstatsclean['header'] = "## GENERATED BY FROXLOR\n";
|
||||||
$awstatsclean['path'] = '/etc/awstats';
|
$awstatsclean['path'] = '/etc/awstats';
|
||||||
$awstatsclean['dir'] = dir($awstatsclean['path']);
|
|
||||||
while($awstatsclean['entry'] = $awstatsclean['dir']->read()) {
|
/**
|
||||||
$awstatsclean['fullentry'] = $awstatsclean['path'].'/'.$awstatsclean['entry'];
|
* dont do anyting if the directory not exists
|
||||||
$awstatsclean['fh'] = fopen($awstatsclean['fullentry'], 'r');
|
* (e.g. awstats not installed yet or whatever)
|
||||||
$awstatsclean['headerRead'] = fgets($awstatsclean['fh'], strlen($awstatsclean['header'])+1);
|
* fixes #45
|
||||||
fclose($awstatsclean['fh']);
|
*/
|
||||||
if($awstatsclean['headerRead'] == $awstatsclean['header']) {
|
if (is_dir($awstatsclean['dir']))
|
||||||
@unlink($awstatsclean['fullentry']);
|
{
|
||||||
|
$awstatsclean['dir'] = dir($awstatsclean['path']);
|
||||||
|
while($awstatsclean['entry'] = $awstatsclean['dir']->read()) {
|
||||||
|
$awstatsclean['fullentry'] = $awstatsclean['path'].'/'.$awstatsclean['entry'];
|
||||||
|
/**
|
||||||
|
* dont do anything if the file does not exist
|
||||||
|
*/
|
||||||
|
if (file_exists($awstatsclean['fullentry']))
|
||||||
|
{
|
||||||
|
$awstatsclean['fh'] = fopen($awstatsclean['fullentry'], 'r');
|
||||||
|
$awstatsclean['headerRead'] = fgets($awstatsclean['fh'], strlen($awstatsclean['header'])+1);
|
||||||
|
fclose($awstatsclean['fh']);
|
||||||
|
if($awstatsclean['headerRead'] == $awstatsclean['header']) {
|
||||||
|
@unlink($awstatsclean['fullentry']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$cronlog->logAction(CRON_ACTION, LOG_WARNING, "File '".$awstatsclean['fullentry']."' could not be found, please check if you followed all the instructions on the configuration page");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unset($awstatsclean);
|
unset($awstatsclean);
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ $yesterday = time() - (60 * 60 * 24);
|
|||||||
|
|
||||||
require (dirname(__FILE__) . '/../lib/class.phpmailer.php');
|
require (dirname(__FILE__) . '/../lib/class.phpmailer.php');
|
||||||
$mail = new PHPMailer();
|
$mail = new PHPMailer();
|
||||||
$mail->From = $settings['panel']['adminmail'];
|
$mail->SetFrom($settings['panel']['adminmail'], 'Froxlor Administrator');
|
||||||
|
|
||||||
// Warn the customers at 90% traffic-usage
|
// Warn the customers at 90% traffic-usage
|
||||||
|
|
||||||
@@ -82,15 +82,26 @@ while($row = $db->fetch_array($result))
|
|||||||
AND `templategroup`='mails'
|
AND `templategroup`='mails'
|
||||||
AND `varname`='trafficninetypercent_mailbody'");
|
AND `varname`='trafficninetypercent_mailbody'");
|
||||||
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['mailbody']), $replace_arr));
|
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['mailbody']), $replace_arr));
|
||||||
$mail->From = $row['adminmail'];
|
|
||||||
$mail->FromName = $row['adminname'];
|
$_mailerror = false;
|
||||||
$mail->Subject = $mail_subject;
|
try {
|
||||||
$mail->Body = $mail_body;
|
$mail->SetFrom($row['adminmail'], $row['adminname']);
|
||||||
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
|
$mail->MsgHTML($mail_body);
|
||||||
|
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
|
||||||
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
if(!$mail->Send())
|
if($_mailerror)
|
||||||
{
|
{
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mail->ErrorInfo);
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $_mailerror);
|
||||||
standard_error('errorsendingmail', $row["email"]);
|
standard_error('errorsendingmail', $row["email"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,15 +161,25 @@ while($row = $db->fetch_array($result))
|
|||||||
AND `templategroup`='mails'
|
AND `templategroup`='mails'
|
||||||
AND `varname`='trafficninetypercent_mailbody'");
|
AND `varname`='trafficninetypercent_mailbody'");
|
||||||
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['mailbody']), $replace_arr));
|
$mail_body = html_entity_decode(replace_variables((($result2['value'] != '') ? $result2['value'] : $lng['mails']['trafficninetypercent']['mailbody']), $replace_arr));
|
||||||
$mail->From = $row['email'];
|
|
||||||
$mail->FromName = $row['firstname'] . " " . $row['name'];
|
$_mailerror = false;
|
||||||
$mail->Subject = $mail_subject;
|
try {
|
||||||
$mail->Body = $mail_body;
|
$mail->SetFrom($row['email'], $row['firstname'] . " " . $row['name']);
|
||||||
$mail->AddAddress($row['email'], $row['name']);
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
|
$mail->MsgHTML($mail_body);
|
||||||
|
$mail->AddAddress($row['email'], $row['name']);
|
||||||
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
if(!$mail->Send())
|
if ($_mailerror) {
|
||||||
{
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mail->ErrorInfo);
|
|
||||||
standard_error('errorsendingmail', $row["email"]);
|
standard_error('errorsendingmail', $row["email"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,15 +210,25 @@ while($row = $db->fetch_array($result))
|
|||||||
|
|
||||||
$mail_body.= '---------------------------------------------' . "\n";
|
$mail_body.= '---------------------------------------------' . "\n";
|
||||||
$mail_body.= sprintf('%-15s', $row['loginname']) . ' ' . sprintf('%-12d', $row['traffic_used_total']) . ' (' . sprintf('%00.3f%%', (($row['traffic_used_total'] * 100) / $row['traffic'])) . ') ' . $row['traffic'] . "\n";
|
$mail_body.= sprintf('%-15s', $row['loginname']) . ' ' . sprintf('%-12d', $row['traffic_used_total']) . ' (' . sprintf('%00.3f%%', (($row['traffic_used_total'] * 100) / $row['traffic'])) . ') ' . $row['traffic'] . "\n";
|
||||||
$mail->From = $row['email'];
|
|
||||||
$mail->FromName = $row['name'];
|
$_mailerror = false;
|
||||||
$mail->Subject = $mail_subject;
|
try {
|
||||||
$mail->Body = $mail_body;
|
$mail->SetFrom($row['email'], $row['name']);
|
||||||
$mail->AddAddress($row['email'], $row['name']);
|
$mail->Subject = $mail_subject;
|
||||||
|
$mail->AltBody = $mail_body;
|
||||||
|
$mail->MsgHTML($mail_body);
|
||||||
|
$mail->AddAddress($row['email'], $row['name']);
|
||||||
|
$mail->Send();
|
||||||
|
} catch(phpmailerException $e) {
|
||||||
|
$mailerr_msg = $e->errorMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$mailerr_msg = $e->getMessage();
|
||||||
|
$_mailerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
if(!$mail->Send())
|
if ($_mailerror) {
|
||||||
{
|
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mailerr_msg);
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_ERR, "Error sending mail: " . $mail->ErrorInfo);
|
|
||||||
standard_error('errorsendingmail', $row["email"]);
|
standard_error('errorsendingmail', $row["email"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
||||||
<td class="field_name_border_left<if $highlight_row>_red</if>"><if $row['adminid'] != $userinfo['userid']><a href="$filename?s=$s&page=$page&action=su&id={$row['adminid']}" target="_blank">{$row['loginname']}</a></if><if $row['adminid'] == $userinfo['userid']>{$row['loginname']}</if></td>
|
<td class="field_name_border_left"><if $row['adminid'] != $userinfo['userid']><a href="$filename?s=$s&page=$page&action=su&id={$row['adminid']}" target="_blank">{$row['loginname']}</a></if><if $row['adminid'] == $userinfo['userid']>{$row['loginname']}</if></td>
|
||||||
<td class="field_name">{$row['name']}</td>
|
<td class="field_name">{$row['name']}</td>
|
||||||
<td class="field_name"><b><font color="green">{$row['customers_used']}</font></b>/<b><font color="#FD6204">{$row['customers']}</font></b><br /><b><font color="green">{$row['domains_used']}</font></b>/<b><font color="#FD6204">{$row['domains']}</font></b></td>
|
<td class="field_name"><b><font color="green">{$row['customers_used']}</font></b>/<b><font color="#FD6204">{$row['customers']}</font></b><br /><b><font color="green">{$row['domains_used']}</font></b>/<b><font color="#FD6204">{$row['domains']}</font></b></td>
|
||||||
<td class="field_name"><b><font color="green">{$row['diskspace_used']}</font></b>/<b><font color="#FD6204">{$row['diskspace']}</font></b> (MB)<br /><b><font color="green">{$row['traffic_used']}</font></b>/<b><font color="#FD6204">{$row['traffic']}</font></b> (GB)</td>
|
<td class="field_name"><b><font color="green">{$row['diskspace_used']}</font></b>/<b><font color="#FD6204">{$row['diskspace']}</font></b> (MB)<br /><b><font color="green">{$row['traffic_used']}</font></b>/<b><font color="#FD6204">{$row['traffic']}</font></b> (GB)</td>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
||||||
<td class="field_name_border_left<if $highlight_row>_red</if>"><font size="-1">{$row['domain']}<if (isset($row['standardsubdomain']) && $row['standardsubdomain'] == $row['id'])> ({$lng['admin']['stdsubdomain']})</if></font></td>
|
<td class="field_name_border_left"><font size="-1">{$row['domain']}<if (isset($row['standardsubdomain']) && $row['standardsubdomain'] == $row['id'])> ({$lng['admin']['stdsubdomain']})</if></font></td>
|
||||||
<td class="field_name"><font size="-1">{$row['ipandport']}</font></td>
|
<td class="field_name"><font size="-1">{$row['ipandport']}</font></td>
|
||||||
<td class="field_name"><font size="-1">{$row['customername']} (<a href="admin_customers.php?s=$s&page=customers&action=su&id={$row['customerid']}" target="_blank">{$row['loginname']}</a>)</font></td>
|
<td class="field_name"><font size="-1">{$row['customername']} (<a href="admin_customers.php?s=$s&page=customers&action=su&id={$row['customerid']}" target="_blank">{$row['loginname']}</a>)</font></td>
|
||||||
<td class="field_name"><a href="$filename?s=$s&page=$page&action=edit&id={$row['id']}">{$lng['panel']['edit']}</a></td>
|
<td class="field_name"><a href="$filename?s=$s&page=$page&action=edit&id={$row['id']}">{$lng['panel']['edit']}</a></td>
|
||||||
|
|||||||
@@ -119,16 +119,25 @@ $header
|
|||||||
{$cron_last_runs}
|
{$cron_last_runs}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_name_border_left">{$lng['admin']['installedversion']}:</td>
|
<td class="field_name_border_left">{$lng['admin']['installedversion']}:</td>
|
||||||
<td class="field_display">{$version}</td>
|
<td class="field_display">{$version}{$branding}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_name_border_left">{$lng['admin']['latestversion']}:</td>
|
<td class="field_name_border_left">{$lng['admin']['latestversion']}:</td>
|
||||||
<td class="field_display"><a href="$lookfornewversion_link">$lookfornewversion_lable</a></td>
|
<if $isnewerversion != 0 >
|
||||||
|
<td class="field_display"><a href="$lookfornewversion_link"><strong>$lookfornewversion_lable</strong></a></td>
|
||||||
|
<else>
|
||||||
|
<td class="field_display"><a href="$lookfornewversion_link">$lookfornewversion_lable</a></td>
|
||||||
|
</if>
|
||||||
</tr>
|
</tr>
|
||||||
<if $lookfornewversion_addinfo != ''>
|
<if $isnewerversion != 0 >
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_name_border_left" colspan="2">$lookfornewversion_addinfo</td>
|
<td class="field_name_border_left" colspan="2"><strong>{$lng['admin']['newerversionavailable']}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<if $lookfornewversion_addinfo != ''>
|
||||||
|
<tr>
|
||||||
|
<td class="field_name_border_left" colspan="2">$lookfornewversion_addinfo</td>
|
||||||
|
</tr>
|
||||||
|
</if>
|
||||||
</if>
|
</if>
|
||||||
</table>
|
</table>
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@@ -5,23 +5,23 @@ $header
|
|||||||
<input type="hidden" name="send" value="send" />
|
<input type="hidden" name="send" value="send" />
|
||||||
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
|
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="maintitle_search_left"><b><img src="images/title.gif" alt="" /> {$lng['ticket']['archivesearch']}</b></td>
|
<td class="maintitle_search_left" colspan="5"><b><img src="images/title.gif" alt="" /> {$lng['ticket']['archivesearch']}</b></td>
|
||||||
<td class="maintitle_search_right"> </td>
|
<td class="maintitle_search_right"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
<if 0 < $tickets_count >
|
<if 0 < $tickets_count >
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_display_border_left">{$lng['ticket']['archivedtime']}</td>
|
<td class="field_display_border_left">{$lng['ticket']['archivedtime']}</td>
|
||||||
<td class="field_display">{$lng['ticket']['ticket_answers']}</td>
|
<td class="field_display">{$lng['ticket']['ticket_answers']}</td>
|
||||||
<td class="field_display">{$lng['ticket']['subject']}</td>
|
<td class="field_display">{$lng['ticket']['subject']}</td>
|
||||||
<td class="field_display">{$lng['ticket']['lastreplier']}</td>
|
<td class="field_display">{$lng['ticket']['lastreplier']}</td>
|
||||||
<td class="field_display">{$lng['ticket']['priority']}</td>
|
<td class="field_display">{$lng['ticket']['priority']}</td>
|
||||||
<td class="field_display_search"> </td>
|
<td class="field_display_search"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
$tickets
|
$tickets
|
||||||
</if>
|
</if>
|
||||||
<if $tickets_count < 1 >
|
<if $tickets_count < 1 >
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_display_border_left" colspan="2">{$lng['ticket']['noresults']}</td>
|
<td class="field_display_border_left" colspan="6">{$lng['ticket']['noresults']}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</if>
|
</if>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ $header
|
|||||||
</if>
|
</if>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_display_border_left">{$lng['ticket']['category']} {$arrowcode['name']}</td>
|
<td class="field_display_border_left">{$lng['ticket']['category']} {$arrowcode['name']}</td>
|
||||||
<td class="field_display">{$lng['ticket']['ticketcount']} {$arrowcode['ticketcount']}</td>
|
<td class="field_display">{$lng['ticket']['ticketcount']} <if $categories_count < 0 >{$arrowcode['ticketcount']}</if></td>
|
||||||
<td class="field_display_search" colspan="2">{$sortcode}</td>
|
<td class="field_display_search" colspan="2">{$sortcode}</td>
|
||||||
</tr>
|
</tr>
|
||||||
$ticketcategories
|
$ticketcategories
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="field_name"><a href="{$redirect_url}">{$lng['success']['clickheretocontinue']}</a></td>
|
<td class="field_name_center"><a href="{$redirect_url}">{$lng['success']['clickheretocontinue']}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@@ -7,17 +7,23 @@ $header
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" /> {$lng['emails']['emails_add']}</b></td>
|
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" /> {$lng['emails']['emails_add']}</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<if $domains != '' >
|
||||||
<td class="main_field_name">{$lng['emails']['emailaddress']}:</td>
|
<tr>
|
||||||
<td class="main_field_display" nowrap="nowrap"><input type="text" name="email_part" value="" size="15" /> @ <select class="dropdown_noborder" name="domain">$domains</select></td>
|
<td class="main_field_name">{$lng['emails']['emailaddress']}:</td>
|
||||||
</tr>
|
<td class="main_field_display" nowrap="nowrap"><input type="text" name="email_part" value="" size="15" /> @ <select class="dropdown_noborder" name="domain">$domains</select></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class="main_field_name">{$lng['emails']['iscatchall']}</td>
|
<tr>
|
||||||
<td class="main_field_display" nowrap="nowrap">$iscatchall</td>
|
<td class="main_field_name">{$lng['emails']['iscatchall']}</td>
|
||||||
</tr>
|
<td class="main_field_display" nowrap="nowrap">$iscatchall</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['emails']['emails_add']}" /></td>
|
<tr>
|
||||||
</tr>
|
<td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['emails']['emails_add']}" /></td>
|
||||||
|
</tr>
|
||||||
|
<else
|
||||||
|
<tr>
|
||||||
|
<td class="main_field_name" colspan="2">{$lng['emails']['noemaildomainaddedyet']}</td>
|
||||||
|
</tr>
|
||||||
|
</if>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<td width="100%" class="footer">
|
<td width="100%" class="footer">
|
||||||
<br />Froxlor
|
<br />Froxlor
|
||||||
<if ($settings['admin']['show_version_login'] == '1' && $filename == 'index.php') || ($filename != 'index.php' && $settings['admin']['show_version_footer'] == '1')>
|
<if ($settings['admin']['show_version_login'] == '1' && $filename == 'index.php') || ($filename != 'index.php' && $settings['admin']['show_version_footer'] == '1')>
|
||||||
{$version}
|
{$version}{$branding}
|
||||||
</if>
|
</if>
|
||||||
© 2009-2010 by <a href="http://www.froxlor.org/" target="_blank">the Froxlor Team</a>
|
© 2009-2010 by <a href="http://www.froxlor.org/" target="_blank">the Froxlor Team</a>
|
||||||
<br />Theme based on work by: Luca Piona and Luca Longinotti
|
<br />Theme based on work by: Luca Piona and Luca Longinotti
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
||||||
<if $settings['panel']['no_robots'] == '0'>
|
<if $settings['panel']['no_robots'] == '0'>
|
||||||
<meta name="robots" content="noindex, nofollow, noarchive" />
|
<meta name="robots" content="noindex, nofollow, noarchive" />
|
||||||
<meta name="GOOGLEBOT" content="nosnippet" />
|
<meta name="GOOGLEBOT" content="nosnippet" />
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ url.access-deny = ("~", ".inc")
|
|||||||
fastcgi.server = (
|
fastcgi.server = (
|
||||||
".php" => (
|
".php" => (
|
||||||
"localhost" => (
|
"localhost" => (
|
||||||
"socket" => "/var/kunden/tmp/lighttpd-fcgi-sock-lighttpd",
|
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
|
||||||
"broken-scriptfilename" => "enable",
|
"broken-scriptfilename" => "enable",
|
||||||
"bin-path" => "/usr/bin/php5-cgi",
|
"bin-path" => "/usr/bin/php5-cgi",
|
||||||
"min-procs" => 1,
|
"min-procs" => 1,
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ alias_maps = $alias_database
|
|||||||
|
|
||||||
# Default Mailbox size, is set to 0 which means unlimited!
|
# Default Mailbox size, is set to 0 which means unlimited!
|
||||||
mailbox_size_limit = 0
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
|
|
||||||
### TLS settings
|
### TLS settings
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
service froxlor
|
service froxlor
|
||||||
{
|
{
|
||||||
id = froxlor
|
id = froxlor
|
||||||
socket_type = dgram
|
socket_type = stream
|
||||||
protocol = udp
|
protocol = tcp
|
||||||
wait = no
|
wait = no
|
||||||
|
|
||||||
user = root
|
user = root
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ url.access-deny = ("~", ".inc")
|
|||||||
fastcgi.server = (
|
fastcgi.server = (
|
||||||
".php" => (
|
".php" => (
|
||||||
"localhost" => (
|
"localhost" => (
|
||||||
"socket" => "/var/kunden/tmp/lighttpd-fcgi-sock-lighttpd",
|
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
|
||||||
"broken-scriptfilename" => "enable",
|
"broken-scriptfilename" => "enable",
|
||||||
"bin-path" => "/usr/bin/php5-cgi",
|
"bin-path" => "/usr/bin/php5-cgi",
|
||||||
"min-procs" => 1,
|
"min-procs" => 1,
|
||||||
|
|||||||
@@ -1,92 +1,93 @@
|
|||||||
# Postfix programs paths settings
|
# Postfix programs paths settings
|
||||||
command_directory = /usr/sbin
|
command_directory = /usr/sbin
|
||||||
daemon_directory = /usr/lib/postfix
|
daemon_directory = /usr/lib/postfix
|
||||||
program_directory = /usr/lib/postfix
|
program_directory = /usr/lib/postfix
|
||||||
sendmail_path = /usr/sbin/sendmail
|
sendmail_path = /usr/sbin/sendmail
|
||||||
|
|
||||||
## General Postfix configuration
|
## General Postfix configuration
|
||||||
# should be the default domain from your provider eg. "server100.provider.tld"
|
# should be the default domain from your provider eg. "server100.provider.tld"
|
||||||
mydomain = <SERVERNAME>
|
mydomain = <SERVERNAME>
|
||||||
|
|
||||||
# should be different from $mydomain eg. "mail.$mydomain"
|
# should be different from $mydomain eg. "mail.$mydomain"
|
||||||
myhostname = <SERVERNAME>
|
myhostname = <SERVERNAME>
|
||||||
|
|
||||||
mydestination = $myhostname,
|
mydestination = $myhostname,
|
||||||
$mydomain,
|
$mydomain,
|
||||||
localhost.$myhostname,
|
localhost.$myhostname,
|
||||||
localhost.$mydomain,
|
localhost.$mydomain,
|
||||||
localhost
|
localhost
|
||||||
mynetworks = 127.0.0.0/8
|
mynetworks = 127.0.0.0/8
|
||||||
inet_interfaces = all
|
inet_interfaces = all
|
||||||
append_dot_mydomain = no
|
append_dot_mydomain = no
|
||||||
biff = no
|
biff = no
|
||||||
|
|
||||||
# Postfix performance settings
|
# Postfix performance settings
|
||||||
default_destination_concurrency_limit = 20
|
default_destination_concurrency_limit = 20
|
||||||
local_destination_concurrency_limit = 2
|
local_destination_concurrency_limit = 2
|
||||||
|
|
||||||
# SMTPD Settings
|
# SMTPD Settings
|
||||||
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
|
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
|
||||||
smtpd_helo_required = yes
|
smtpd_helo_required = yes
|
||||||
smtpd_recipient_restrictions = permit_mynetworks,
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unauth_destination,
|
reject_unauth_destination,
|
||||||
reject_unauth_pipelining,
|
reject_unauth_pipelining,
|
||||||
reject_non_fqdn_recipient
|
reject_non_fqdn_recipient
|
||||||
smtpd_sender_restrictions = permit_mynetworks,
|
smtpd_sender_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unknown_hostname,
|
reject_unknown_hostname,
|
||||||
reject_unknown_recipient_domain,
|
reject_unknown_recipient_domain,
|
||||||
reject_unknown_sender_domain
|
reject_unknown_sender_domain
|
||||||
smtpd_client_restrictions = permit_mynetworks,
|
smtpd_client_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unknown_client
|
reject_unknown_client
|
||||||
# Maximum size of Message in bytes (50MB)
|
# Maximum size of Message in bytes (50MB)
|
||||||
message_size_limit = 52428800
|
message_size_limit = 52428800
|
||||||
|
|
||||||
## SASL Auth Settings
|
## SASL Auth Settings
|
||||||
smtpd_sasl_auth_enable = yes
|
smtpd_sasl_auth_enable = yes
|
||||||
smtpd_sasl_local_domain = $myhostname
|
smtpd_sasl_local_domain = $myhostname
|
||||||
smtpd_sasl_security_options = noanonymous
|
smtpd_sasl_security_options = noanonymous
|
||||||
broken_sasl_auth_clients = yes
|
broken_sasl_auth_clients = yes
|
||||||
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
||||||
## uncomment those line to use Dovecot
|
## uncomment those line to use Dovecot
|
||||||
#mailbox_command = /usr/lib/dovecot/deliver
|
#mailbox_command = /usr/lib/dovecot/deliver
|
||||||
#virtual_transport = dovecot
|
#virtual_transport = dovecot
|
||||||
#dovecot_destination_recipient_limit = 1
|
#dovecot_destination_recipient_limit = 1
|
||||||
|
|
||||||
# Virtual delivery settings
|
# Virtual delivery settings
|
||||||
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
|
|
||||||
# Local delivery settings
|
# Local delivery settings
|
||||||
local_transport = local
|
local_transport = local
|
||||||
alias_database = hash:/etc/aliases
|
alias_database = hash:/etc/aliases
|
||||||
alias_maps = $alias_database
|
alias_maps = $alias_database
|
||||||
|
|
||||||
# Default Mailbox size, is set to 0 which means unlimited!
|
# Default Mailbox size, is set to 0 which means unlimited!
|
||||||
mailbox_size_limit = 0
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
### TLS settings
|
|
||||||
###
|
### TLS settings
|
||||||
## TLS for outgoing mails from the server to another server
|
###
|
||||||
#smtp_use_tls = yes
|
## TLS for outgoing mails from the server to another server
|
||||||
#smtp_tls_note_starttls_offer = yes
|
#smtp_use_tls = yes
|
||||||
## TLS for email client
|
#smtp_tls_note_starttls_offer = yes
|
||||||
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
|
## TLS for email client
|
||||||
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
|
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
|
||||||
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
|
||||||
#smtpd_tls_auth_only = no
|
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
||||||
#smtpd_tls_loglevel = 1
|
#smtpd_tls_auth_only = no
|
||||||
#smtpd_tls_received_header = yes
|
#smtpd_tls_loglevel = 1
|
||||||
#smtpd_tls_session_cache_timeout = 3600s
|
#smtpd_tls_received_header = yes
|
||||||
#tls_random_source = dev:/dev/urandom
|
#smtpd_tls_session_cache_timeout = 3600s
|
||||||
|
#tls_random_source = dev:/dev/urandom
|
||||||
debugger_command =
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
debugger_command =
|
||||||
ddd $daemon_directory/$process_name $process_id & sleep 5
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
|
ddd $daemon_directory/$process_name $process_id & sleep 5
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
service froxlor
|
service froxlor
|
||||||
{
|
{
|
||||||
id = froxlor
|
id = froxlor
|
||||||
socket_type = dgram
|
socket_type = stream
|
||||||
protocol = udp
|
protocol = tcp
|
||||||
wait = no
|
wait = no
|
||||||
|
|
||||||
user = root
|
user = root
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
driver = mysql
|
||||||
|
connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
default_pass_scheme = CRYPT
|
||||||
|
password_query = SELECT username AS user, password_enc AS password FROM mail_users WHERE username = '%u'
|
||||||
|
user_query = SELECT CONCAT(homedir,maildir) AS home, concat('maildir:',homedir,maildir) AS mail, uid, gid FROM mail_users where username = '%u'
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
## Dovecot configuration file
|
||||||
|
#
|
||||||
|
syslog_facility = local1
|
||||||
|
#log_timestamp = .%Y-%m-%d %H:%M:%S
|
||||||
|
#login_log_format_elements = user=<%u>method=%m rip=%r lip=%l %c
|
||||||
|
#login_log_format = %$: %s
|
||||||
|
#log_path = /var/log/dovecot.log
|
||||||
|
#info_log_path = /var/log/dovecot-info.log
|
||||||
|
#mail_debug = yes
|
||||||
|
#auth_debug_passwords= yes
|
||||||
|
#auth_verbose= yes
|
||||||
|
#
|
||||||
|
#ssl=yes
|
||||||
|
#ssl_ca_file = /etc/ssl/<SERVERNAME>.crt
|
||||||
|
#ssl_cert_file = /etc/ssl/<SERVERNAME>.crt
|
||||||
|
#ssl_key_file = /etc/ssl/<SERVERNAME>.key
|
||||||
|
#ssl_key_password =
|
||||||
|
#
|
||||||
|
# imap imaps pop3 pop3s (use imaps and pop3s if configured for SSL)
|
||||||
|
|
||||||
|
protocols = imap pop3 <SSLPROTOCOLS>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Uncomment the ssl_listen statements and comment out listen if using SSL
|
||||||
|
#
|
||||||
|
protocol imap {
|
||||||
|
listen = *:143
|
||||||
|
# ssl_listen = *:993
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol pop3 {
|
||||||
|
listen = *:110
|
||||||
|
# ssl_listen = *:995
|
||||||
|
}
|
||||||
|
#
|
||||||
|
shutdown_clients = yes
|
||||||
|
|
||||||
|
login_chroot = yes
|
||||||
|
disable_plaintext_auth = no
|
||||||
|
login_process_per_connection = yes
|
||||||
|
login_processes_count = 2
|
||||||
|
login_max_processes_count = 128
|
||||||
|
login_max_connections = 256
|
||||||
|
login_greeting = Welcome to <SERVERNAME> Mail Server.
|
||||||
|
verbose_proctitle = no
|
||||||
|
maildir_copy_with_hardlinks = yes
|
||||||
|
|
||||||
|
protocol imap {
|
||||||
|
login_executable = /usr/local/libexec/dovecot/imap-login
|
||||||
|
mail_executable = /usr/local/libexec/dovecot/imap
|
||||||
|
imap_max_line_length = 65536
|
||||||
|
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol pop3 {
|
||||||
|
login_executable = /usr/local/libexec/dovecot/pop3-login
|
||||||
|
mail_executable = /usr/local/libexec/dovecot/pop3
|
||||||
|
pop3_uidl_format = %08Xu%08Xv
|
||||||
|
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol lda {
|
||||||
|
postmaster_address = postmaster@<SERVERNAME>
|
||||||
|
sendmail_path = /usr/sbin/sendmail
|
||||||
|
# mail_plugins = sieve
|
||||||
|
# log_path = /var/log/dovecot-deliver.log
|
||||||
|
# info_log_path = /var/log/dovecot-deliver.log
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol managesieve {
|
||||||
|
# Specify an alternative address:port the daemon must listen on
|
||||||
|
# (default: *:2000)
|
||||||
|
# listen = localhost:2000
|
||||||
|
# managesieve_logout_format = bytes ( in=%i : out=%o )
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
# quota = maildir
|
||||||
|
# Used by both the Sieve plugin and the ManageSieve protocol
|
||||||
|
# sieve=~/.dovecot.sieve
|
||||||
|
# sieve_dir=~/sieve
|
||||||
|
}
|
||||||
|
|
||||||
|
auth default {
|
||||||
|
mechanisms = plain login
|
||||||
|
passdb sql {
|
||||||
|
args = /usr/local/etc/dovecot-sql.conf
|
||||||
|
}
|
||||||
|
userdb sql {
|
||||||
|
args = /usr/local/etc/dovecot-sql.conf
|
||||||
|
}
|
||||||
|
user = root
|
||||||
|
count = 1
|
||||||
|
socket listen {
|
||||||
|
master {
|
||||||
|
path = /var/run/dovecot/auth-master
|
||||||
|
mode = 0660
|
||||||
|
user = vmail
|
||||||
|
group = vmail
|
||||||
|
}
|
||||||
|
client {
|
||||||
|
path = /var/spool/postfix/private/auth
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
daily_clean_hoststat_enable="NO"
|
||||||
|
daily_status_mail_rejects_enable="NO"
|
||||||
|
daily_status_include_submit_mailq="NO"
|
||||||
|
daily_submit_queuerun="NO"
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
smtpd_sender_restrictions =
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
permit_mynetworks,
|
||||||
|
reject_unknown_hostname,
|
||||||
|
reject_unknown_recipient_domain,
|
||||||
|
reject_unknown_sender_domain,
|
||||||
|
|
||||||
|
smtpd_recipient_restrictions =
|
||||||
|
permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_sender_login_mismatch,
|
||||||
|
reject_non_fqdn_hostname,
|
||||||
|
reject_non_fqdn_sender,
|
||||||
|
reject_non_fqdn_recipient,
|
||||||
|
reject_unauth_destination,
|
||||||
|
reject_unauth_pipelining,
|
||||||
|
reject_invalid_hostname,
|
||||||
|
reject_rbl_client sbl-xbl.spamhaus.org,
|
||||||
|
# sqlgrey enable
|
||||||
|
# check_policy_service inet:127.0.0.1:2501,
|
||||||
|
|
||||||
|
smtpd_client_restrictions =
|
||||||
|
permit_mynetworks,
|
||||||
|
permit_sasl_authenticated,
|
||||||
|
reject_unknown_client,
|
||||||
|
|
||||||
|
smtpd_sasl_auth_enable = yes
|
||||||
|
smtpd_sasl_authenticated_header = yes
|
||||||
|
smtpd_sasl_local_domain = $myhostname
|
||||||
|
smtpd_sasl_security_options = noanonymous
|
||||||
|
broken_sasl_auth_clients = yes
|
||||||
|
smtpd_sasl_type = dovecot
|
||||||
|
smtpd_sasl_path = private/auth
|
||||||
|
|
||||||
|
soft_bounce = yes
|
||||||
|
|
||||||
|
# Maximum size of Message in bytes (50MB)
|
||||||
|
message_size_limit = 52428800
|
||||||
|
|
||||||
|
smtp_use_tls = yes
|
||||||
|
smtpd_use_tls = yes
|
||||||
|
smtpd_tls_security_level = may
|
||||||
|
smtpd_tls_auth_only = no
|
||||||
|
smtp_tls_note_starttls_offer = yes
|
||||||
|
smtpd_tls_key_file = /etc/ssl/<SERVERNAME>.key.unencrypted
|
||||||
|
smtpd_tls_cert_file = /etc/ssl/<SERVERNAME>.crt
|
||||||
|
smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
||||||
|
smtpd_tls_loglevel = 0
|
||||||
|
smtpd_tls_received_header = yes
|
||||||
|
smtpd_tls_session_cache_timeout = 3600s
|
||||||
|
tls_random_source = dev:/dev/urandom
|
||||||
|
|
||||||
|
virtual_alias_maps = proxy:mysql:/usr/local/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
|
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||||
|
virtual_mailbox_domains = proxy:mysql:/usr/local/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
|
virtual_mailbox_maps = proxy:mysql:/usr/local/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
|
virtual_create_maildirsize = yes
|
||||||
|
virtual_mailbox_extended = yes
|
||||||
|
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps
|
||||||
|
$virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains
|
||||||
|
$relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps
|
||||||
|
$recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
|
||||||
|
virtual_mailbox_limit_override = yes
|
||||||
|
virtual_maildir_limit_message = Sorry, this user has overdrawn their diskspace quota. Please try again later.
|
||||||
|
virtual_overquota_bounce = yes
|
||||||
|
virtual_transport = virtual
|
||||||
|
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
||||||
|
# uncomment those line to use Dovecot
|
||||||
|
#mailbox_command = /usr/local/libexec/dovecot/deliver
|
||||||
|
#virtual_transport = dovecot
|
||||||
|
#dovecot_destination_recipient_limit = 1
|
||||||
|
#alias_maps = $alias_database
|
||||||
|
|
||||||
|
queue_directory = /var/spool/postfix
|
||||||
|
command_directory = /usr/local/sbin
|
||||||
|
daemon_directory = /usr/local/libexec/postfix
|
||||||
|
data_directory = /var/db/postfix
|
||||||
|
mail_owner = postfix
|
||||||
|
myhostname = <SERVERNAME>
|
||||||
|
mydomain = <SERVERNAME>
|
||||||
|
myorigin = $mydomain
|
||||||
|
inet_interfaces = all
|
||||||
|
unknown_local_recipient_reject_code = 550
|
||||||
|
mynetworks_style = host
|
||||||
|
debug_peer_level = 2
|
||||||
|
debugger_command =
|
||||||
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
|
ddd $daemon_directory/$process_name $process_id & sleep 5
|
||||||
|
sendmail_path = /usr/local/sbin/sendmail
|
||||||
|
newaliases_path = /usr/local/bin/newaliases
|
||||||
|
mailq_path = /usr/local/bin/mailq
|
||||||
|
setgid_group = maildrop
|
||||||
|
html_directory = /usr/local/share/doc/postfix
|
||||||
|
manpage_directory = /usr/local/man
|
||||||
|
sample_directory = /usr/local/etc/postfix
|
||||||
|
readme_directory = /usr/local/share/doc/postfix
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = mail_virtual
|
||||||
|
select_field = destination
|
||||||
|
where_field = email
|
||||||
|
additional_conditions = and TRIM(destination) <> ''
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = panel_domains
|
||||||
|
select_field = domain
|
||||||
|
where_field = domain
|
||||||
|
additional_conditions = and isemaildomain = '1'
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
dbname = <SQL_DB>
|
||||||
|
table = mail_users
|
||||||
|
select_field = maildir
|
||||||
|
where_field = email
|
||||||
|
hosts = <SQL_HOST>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
allow-axfr-ips=<SLAVE DNS SERVER>
|
||||||
|
allow-recursion=127.0.0.1
|
||||||
|
daemon=yes
|
||||||
|
guardian=yes
|
||||||
|
launch=bind
|
||||||
|
lazy-recursion=yes
|
||||||
|
recursor=<IP DNSRECURSION>
|
||||||
|
master=yes
|
||||||
|
bind-config=/etc/namedb/froxlor_bind.conf
|
||||||
|
bind-check-interval=180
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
# Server settings
|
||||||
|
ServerName "<SERVERNAME> FTP Server"
|
||||||
|
ServerType standalone
|
||||||
|
DefaultServer on
|
||||||
|
Port 21
|
||||||
|
UseIPv6 off
|
||||||
|
Umask 022
|
||||||
|
SyslogLevel emerg
|
||||||
|
SystemLog /var/log/xferlog
|
||||||
|
LogFormat auth "%v [%P] %h %t \"%r\" %s"
|
||||||
|
ExtendedLog /var/log/xferlog AUTH auth
|
||||||
|
|
||||||
|
# General settings
|
||||||
|
DeferWelcome off
|
||||||
|
MultilineRFC2228 on
|
||||||
|
ShowSymlinks on
|
||||||
|
TimeoutNoTransfer 600
|
||||||
|
TimeoutStalled 600
|
||||||
|
TimeoutIdle 1200
|
||||||
|
DisplayLogin welcome.msg
|
||||||
|
DisplayChdir .message
|
||||||
|
ListOptions "-l"
|
||||||
|
DenyFilter \*.*/
|
||||||
|
MaxInstances 30
|
||||||
|
CommandBufferSize 512
|
||||||
|
User nobody
|
||||||
|
Group nogroup
|
||||||
|
AllowOverwrite on
|
||||||
|
|
||||||
|
<IfModule mod_quotatab.c>
|
||||||
|
QuotaEngine off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ratio.c>
|
||||||
|
Ratios off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_delay.c>
|
||||||
|
DelayEngine off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_sql.c>
|
||||||
|
DefaultRoot ~
|
||||||
|
RequireValidShell off
|
||||||
|
AuthOrder mod_sql.c
|
||||||
|
SQLBackend mysql
|
||||||
|
SQLEngine on
|
||||||
|
SQLAuthenticate on
|
||||||
|
SQLAuthTypes Crypt
|
||||||
|
SQLAuthenticate users* groups*
|
||||||
|
SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
|
SQLUserInfo ftp_users username password uid gid homedir shell
|
||||||
|
SQLGroupInfo ftp_groups groupname gid members
|
||||||
|
SQLUserWhereClause "login_enabled = 'y'"
|
||||||
|
|
||||||
|
SQLLog PASS login
|
||||||
|
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users
|
||||||
|
|
||||||
|
SQLLog RETR download
|
||||||
|
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users
|
||||||
|
|
||||||
|
SQLLog STOR upload
|
||||||
|
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
#<IfModule mod_tls.c>
|
||||||
|
# TLSEngine on
|
||||||
|
# TLSLog /var/log/xferlog
|
||||||
|
# TLSProtocol SSLv23
|
||||||
|
# TLSRequired off
|
||||||
|
# TLSRSACertificateFile /etc/ssl/cert.pem
|
||||||
|
# TLSRSACertificateKeyFile /etc/ssl/key.pem
|
||||||
|
# TLSVerifyClient off
|
||||||
|
# TLSRenegotiate required off
|
||||||
|
#</IfModule>
|
||||||
@@ -35,7 +35,7 @@ include "mime-types.conf"
|
|||||||
fastcgi.server = (
|
fastcgi.server = (
|
||||||
".php" => (
|
".php" => (
|
||||||
"localhost" => (
|
"localhost" => (
|
||||||
"socket" => "/tmp/lighttpd-fcgi-sock-lighttpd",
|
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
|
||||||
"broken-scriptfilename" => "enable",
|
"broken-scriptfilename" => "enable",
|
||||||
"bin-path" => "/usr/bin/php-cgi",
|
"bin-path" => "/usr/bin/php-cgi",
|
||||||
"min-procs" => 1,
|
"min-procs" => 1,
|
||||||
|
|||||||
@@ -1,111 +1,112 @@
|
|||||||
# Postfix programs paths settings
|
# Postfix programs paths settings
|
||||||
command_directory = /usr/sbin
|
command_directory = /usr/sbin
|
||||||
daemon_directory = /usr/lib/postfix
|
daemon_directory = /usr/lib/postfix
|
||||||
program_directory = /usr/lib/postfix
|
program_directory = /usr/lib/postfix
|
||||||
sendmail_path = /usr/sbin/sendmail
|
sendmail_path = /usr/sbin/sendmail
|
||||||
|
|
||||||
## General Postfix configuration
|
## General Postfix configuration
|
||||||
# should be the default domain from your provider eg. "server100.provider.tld"
|
# should be the default domain from your provider eg. "server100.provider.tld"
|
||||||
mydomain = <SERVERNAME>
|
mydomain = <SERVERNAME>
|
||||||
|
|
||||||
# should be different from $mydomain eg. "mail.$mydomain"
|
# should be different from $mydomain eg. "mail.$mydomain"
|
||||||
myhostname = <SERVERNAME>
|
myhostname = <SERVERNAME>
|
||||||
|
|
||||||
mydestination = $myhostname,
|
mydestination = $myhostname,
|
||||||
$mydomain,
|
$mydomain,
|
||||||
localhost.$myhostname,
|
localhost.$myhostname,
|
||||||
localhost.$mydomain,
|
localhost.$mydomain,
|
||||||
localhost
|
localhost
|
||||||
mynetworks = 127.0.0.0/8
|
mynetworks = 127.0.0.0/8
|
||||||
inet_interfaces = all
|
inet_interfaces = all
|
||||||
append_dot_mydomain = no
|
append_dot_mydomain = no
|
||||||
biff = no
|
biff = no
|
||||||
|
|
||||||
# Postfix performance settings
|
# Postfix performance settings
|
||||||
default_destination_concurrency_limit = 20
|
default_destination_concurrency_limit = 20
|
||||||
local_destination_concurrency_limit = 2
|
local_destination_concurrency_limit = 2
|
||||||
|
|
||||||
# SMTPD Settings
|
# SMTPD Settings
|
||||||
smtpd_banner = $myhostname ESMTP $mail_name (Gentoo/GNU)
|
smtpd_banner = $myhostname ESMTP $mail_name (Gentoo/GNU)
|
||||||
smtpd_helo_required = yes
|
smtpd_helo_required = yes
|
||||||
smtpd_recipient_restrictions = permit_mynetworks,
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unauth_destination,
|
reject_unauth_destination,
|
||||||
reject_unauth_pipelining,
|
reject_unauth_pipelining,
|
||||||
reject_non_fqdn_recipient
|
reject_non_fqdn_recipient
|
||||||
smtpd_sender_restrictions = permit_mynetworks,
|
smtpd_sender_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unknown_hostname,
|
reject_unknown_hostname,
|
||||||
reject_unknown_recipient_domain,
|
reject_unknown_recipient_domain,
|
||||||
reject_unknown_sender_domain
|
reject_unknown_sender_domain
|
||||||
smtpd_client_restrictions = permit_mynetworks,
|
smtpd_client_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unknown_client
|
reject_unknown_client
|
||||||
# Maximum size of Message in bytes (50MB)
|
# Maximum size of Message in bytes (50MB)
|
||||||
message_size_limit = 52428800
|
message_size_limit = 52428800
|
||||||
|
|
||||||
## SASL Auth Settings
|
## SASL Auth Settings
|
||||||
smtpd_sasl_auth_enable = yes
|
smtpd_sasl_auth_enable = yes
|
||||||
smtpd_sasl_local_domain = $myhostname
|
smtpd_sasl_local_domain = $myhostname
|
||||||
smtpd_sasl_security_options = noanonymous
|
smtpd_sasl_security_options = noanonymous
|
||||||
broken_sasl_auth_clients = yes
|
broken_sasl_auth_clients = yes
|
||||||
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
||||||
## uncomment those line to use Dovecot
|
## uncomment those line to use Dovecot
|
||||||
#mailbox_command = /usr/libexec/dovecot/deliver
|
#mailbox_command = /usr/libexec/dovecot/deliver
|
||||||
#smtpd_sasl_type = dovecot
|
#smtpd_sasl_type = dovecot
|
||||||
#smtpd_sasl_path = private/auth
|
#smtpd_sasl_path = private/auth
|
||||||
#virtual_transport = dovecot
|
#virtual_transport = dovecot
|
||||||
#dovecot_destination_recipient_limit = 1
|
#dovecot_destination_recipient_limit = 1
|
||||||
|
|
||||||
# Virtual delivery settings
|
# Virtual delivery settings
|
||||||
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
|
|
||||||
# Local delivery settings
|
# Local delivery settings
|
||||||
local_transport = local
|
local_transport = local
|
||||||
alias_database = hash:/etc/mail/aliases
|
alias_database = hash:/etc/mail/aliases
|
||||||
alias_maps = $alias_database
|
alias_maps = $alias_database
|
||||||
|
|
||||||
# Default Mailbox size, is set to 0 which means unlimited!
|
# Default Mailbox size, is set to 0 which means unlimited!
|
||||||
mailbox_size_limit = 0
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
### TLS settings
|
|
||||||
###
|
### TLS settings
|
||||||
## TLS for outgoing mails from the server to another server
|
###
|
||||||
#smtp_use_tls = yes
|
## TLS for outgoing mails from the server to another server
|
||||||
#smtp_tls_note_starttls_offer = yes
|
#smtp_use_tls = yes
|
||||||
## TLS for email client
|
#smtp_tls_note_starttls_offer = yes
|
||||||
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
|
## TLS for email client
|
||||||
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
|
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
|
||||||
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
|
||||||
#smtpd_tls_auth_only = no
|
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
||||||
#smtpd_tls_loglevel = 1
|
#smtpd_tls_auth_only = no
|
||||||
#smtpd_tls_received_header = yes
|
#smtpd_tls_loglevel = 1
|
||||||
#smtpd_tls_session_cache_timeout = 3600s
|
#smtpd_tls_received_header = yes
|
||||||
#tls_random_source = dev:/dev/urandom
|
#smtpd_tls_session_cache_timeout = 3600s
|
||||||
|
#tls_random_source = dev:/dev/urandom
|
||||||
### Quota Settings with vda useflag
|
|
||||||
## I use only virtual as localdelivery... This permit me to have full
|
### Quota Settings with vda useflag
|
||||||
## virtual domain hosting without using a lots of maps
|
## I use only virtual as localdelivery... This permit me to have full
|
||||||
#virtual_transport = virtual
|
## virtual domain hosting without using a lots of maps
|
||||||
## Generate maildirsize files or not
|
#virtual_transport = virtual
|
||||||
#virtual_create_maildirsize = yes
|
## Generate maildirsize files or not
|
||||||
## I use Courier IMAP compatibles files.
|
#virtual_create_maildirsize = yes
|
||||||
#virtual_mailbox_extended = yes
|
## I use Courier IMAP compatibles files.
|
||||||
## Limits only INBOX part (usefull when
|
#virtual_mailbox_extended = yes
|
||||||
## using when you have IMAP users)
|
## Limits only INBOX part (usefull when
|
||||||
#virtual_mailbox_limit_inbox = yes
|
## using when you have IMAP users)
|
||||||
## maps of soft disk quotas
|
#virtual_mailbox_limit_inbox = yes
|
||||||
#virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
|
## maps of soft disk quotas
|
||||||
#virtual_mailbox_limit_override = yes
|
#virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
|
||||||
#virtual_maildir_limit_message = Sorry, this user has overdrawn their diskspace quota. Please try again later.
|
#virtual_mailbox_limit_override = yes
|
||||||
#virtual_overquota_bounce = yes
|
#virtual_maildir_limit_message = Sorry, this user has overdrawn their diskspace quota. Please try again later.
|
||||||
|
#virtual_overquota_bounce = yes
|
||||||
debugger_command =
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
debugger_command =
|
||||||
ddd $daemon_directory/$process_name $process_id & sleep 5
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
|
ddd $daemon_directory/$process_name $process_id & sleep 5
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
service froxlor
|
service froxlor
|
||||||
{
|
{
|
||||||
id = froxlor
|
id = froxlor
|
||||||
socket_type = dgram
|
socket_type = stream
|
||||||
protocol = udp
|
protocol = tcp
|
||||||
wait = no
|
wait = no
|
||||||
|
|
||||||
user = root
|
user = root
|
||||||
|
|||||||
@@ -1,63 +1,64 @@
|
|||||||
queue_directory = /var/spool/postfix
|
queue_directory = /var/spool/postfix
|
||||||
command_directory = /usr/sbin
|
command_directory = /usr/sbin
|
||||||
daemon_directory = /usr/lib/postfix
|
daemon_directory = /usr/lib/postfix
|
||||||
mail_owner = postfix
|
mail_owner = postfix
|
||||||
inet_interfaces = all
|
inet_interfaces = all
|
||||||
unknown_local_recipient_reject_code = 550
|
unknown_local_recipient_reject_code = 550
|
||||||
debug_peer_level = 2
|
debug_peer_level = 2
|
||||||
debugger_command =
|
debugger_command =
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
xxgdb $daemon_directory/$process_name $process_id & sleep 5
|
xxgdb $daemon_directory/$process_name $process_id & sleep 5
|
||||||
sendmail_path = /usr/sbin/sendmail
|
sendmail_path = /usr/sbin/sendmail
|
||||||
newaliases_path = /usr/bin/newaliases
|
newaliases_path = /usr/bin/newaliases
|
||||||
mailq_path = /usr/bin/mailq
|
mailq_path = /usr/bin/mailq
|
||||||
setgid_group = maildrop
|
setgid_group = maildrop
|
||||||
html_directory = /usr/share/doc/packages/postfix/html
|
html_directory = /usr/share/doc/packages/postfix/html
|
||||||
manpage_directory = /usr/share/man
|
manpage_directory = /usr/share/man
|
||||||
sample_directory = /usr/share/doc/packages/postfix/samples
|
sample_directory = /usr/share/doc/packages/postfix/samples
|
||||||
readme_directory = /usr/share/doc/packages/postfix/README_FILES
|
readme_directory = /usr/share/doc/packages/postfix/README_FILES
|
||||||
inet_protocols = all
|
inet_protocols = all
|
||||||
biff = no
|
biff = no
|
||||||
append_dot_mydomain = no
|
append_dot_mydomain = no
|
||||||
mail_spool_directory = /var/mail
|
mail_spool_directory = /var/mail
|
||||||
canonical_maps = hash:/etc/postfix/canonical
|
canonical_maps = hash:/etc/postfix/canonical
|
||||||
virtual_mailbox_base = /var/kunden/mail/
|
virtual_mailbox_base = /var/kunden/mail/
|
||||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
virtual_alias_domains =
|
virtual_alias_domains =
|
||||||
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
virtual_maps = hash:/etc/postfix/virtual
|
virtual_maps = hash:/etc/postfix/virtual
|
||||||
relocated_maps = hash:/etc/postfix/relocated
|
relocated_maps = hash:/etc/postfix/relocated
|
||||||
transport_maps = hash:/etc/postfix/transport
|
transport_maps = hash:/etc/postfix/transport
|
||||||
sender_canonical_maps = hash:/etc/postfix/sender_canonical
|
sender_canonical_maps = hash:/etc/postfix/sender_canonical
|
||||||
masquerade_exceptions = root
|
masquerade_exceptions = root
|
||||||
masquerade_classes = envelope_sender, header_sender, header_recipient
|
masquerade_classes = envelope_sender, header_sender, header_recipient
|
||||||
myhostname = <SERVERNAME>
|
myhostname = <SERVERNAME>
|
||||||
mydomain = <SERVERNAME>
|
mydomain = <SERVERNAME>
|
||||||
program_directory = /usr/lib/postfix
|
program_directory = /usr/lib/postfix
|
||||||
masquerade_domains =
|
masquerade_domains =
|
||||||
mydestination = $myhostname $mydomain localhost localhost.$mydomain
|
mydestination = $myhostname $mydomain localhost localhost.$mydomain
|
||||||
mynetworks = 127.0.0.0/8
|
mynetworks = 127.0.0.0/8
|
||||||
defer_transports =
|
defer_transports =
|
||||||
disable_dns_lookups = no
|
disable_dns_lookups = no
|
||||||
relayhost =
|
relayhost =
|
||||||
mailbox_command =
|
mailbox_command =
|
||||||
mailbox_transport =
|
mailbox_transport =
|
||||||
strict_8bitmime = no
|
strict_8bitmime = no
|
||||||
disable_mime_output_conversion = no
|
disable_mime_output_conversion = no
|
||||||
smtpd_client_restrictions =
|
smtpd_client_restrictions =
|
||||||
smtpd_helo_required = no
|
smtpd_helo_required = no
|
||||||
smtpd_helo_restrictions =
|
smtpd_helo_restrictions =
|
||||||
strict_rfc821_envelopes = no
|
strict_rfc821_envelopes = no
|
||||||
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
|
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
|
||||||
smtpd_sasl_auth_enable = yes
|
smtpd_sasl_auth_enable = yes
|
||||||
smtpd_sasl_local_domain = $myhostname
|
smtpd_sasl_local_domain = $myhostname
|
||||||
smtpd_sasl_security_options = noanonymous
|
smtpd_sasl_security_options = noanonymous
|
||||||
broken_sasl_auth_clients = yes
|
broken_sasl_auth_clients = yes
|
||||||
#smtpd_use_tls = no
|
#smtpd_use_tls = no
|
||||||
#smtp_use_tls = no
|
#smtp_use_tls = no
|
||||||
alias_maps = $alias_database
|
alias_maps = $alias_database
|
||||||
mailbox_size_limit = 0
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
message_size_limit = 10240000
|
message_size_limit = 10240000
|
||||||
@@ -33,7 +33,7 @@ url.access-deny = ("~", ".inc")
|
|||||||
fastcgi.server = (
|
fastcgi.server = (
|
||||||
".php" => (
|
".php" => (
|
||||||
"localhost" => (
|
"localhost" => (
|
||||||
"socket" => "/var/kunden/tmp/lighttpd-fcgi-sock-lighttpd",
|
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
|
||||||
"broken-scriptfilename" => "enable",
|
"broken-scriptfilename" => "enable",
|
||||||
"bin-path" => "/usr/bin/php5-cgi",
|
"bin-path" => "/usr/bin/php5-cgi",
|
||||||
"min-procs" => 1,
|
"min-procs" => 1,
|
||||||
|
|||||||
@@ -1,92 +1,93 @@
|
|||||||
# Postfix programs paths settings
|
# Postfix programs paths settings
|
||||||
command_directory = /usr/sbin
|
command_directory = /usr/sbin
|
||||||
daemon_directory = /usr/lib/postfix
|
daemon_directory = /usr/lib/postfix
|
||||||
program_directory = /usr/lib/postfix
|
program_directory = /usr/lib/postfix
|
||||||
sendmail_path = /usr/sbin/sendmail
|
sendmail_path = /usr/sbin/sendmail
|
||||||
|
|
||||||
## General Postfix configuration
|
## General Postfix configuration
|
||||||
# should be the default domain from your provider eg. "server100.provider.tld"
|
# should be the default domain from your provider eg. "server100.provider.tld"
|
||||||
mydomain = <SERVERNAME>
|
mydomain = <SERVERNAME>
|
||||||
|
|
||||||
# should be different from $mydomain eg. "mail.$mydomain"
|
# should be different from $mydomain eg. "mail.$mydomain"
|
||||||
myhostname = mail.<SERVERNAME>
|
myhostname = mail.<SERVERNAME>
|
||||||
|
|
||||||
mydestination = $myhostname,
|
mydestination = $myhostname,
|
||||||
$mydomain,
|
$mydomain,
|
||||||
localhost.$myhostname,
|
localhost.$myhostname,
|
||||||
localhost.$mydomain,
|
localhost.$mydomain,
|
||||||
localhost
|
localhost
|
||||||
mynetworks = 127.0.0.0/8
|
mynetworks = 127.0.0.0/8
|
||||||
inet_interfaces = all
|
inet_interfaces = all
|
||||||
append_dot_mydomain = no
|
append_dot_mydomain = no
|
||||||
biff = no
|
biff = no
|
||||||
|
|
||||||
# Postfix performance settings
|
# Postfix performance settings
|
||||||
default_destination_concurrency_limit = 20
|
default_destination_concurrency_limit = 20
|
||||||
local_destination_concurrency_limit = 2
|
local_destination_concurrency_limit = 2
|
||||||
|
|
||||||
# SMTPD Settings
|
# SMTPD Settings
|
||||||
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu/GNU)
|
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu/GNU)
|
||||||
smtpd_helo_required = yes
|
smtpd_helo_required = yes
|
||||||
smtpd_recipient_restrictions = permit_mynetworks,
|
smtpd_recipient_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unauth_destination,
|
reject_unauth_destination,
|
||||||
reject_unauth_pipelining,
|
reject_unauth_pipelining,
|
||||||
reject_non_fqdn_recipient
|
reject_non_fqdn_recipient
|
||||||
smtpd_sender_restrictions = permit_mynetworks,
|
smtpd_sender_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unknown_hostname,
|
reject_unknown_hostname,
|
||||||
reject_unknown_recipient_domain,
|
reject_unknown_recipient_domain,
|
||||||
reject_unknown_sender_domain
|
reject_unknown_sender_domain
|
||||||
smtpd_client_restrictions = permit_mynetworks,
|
smtpd_client_restrictions = permit_mynetworks,
|
||||||
permit_sasl_authenticated,
|
permit_sasl_authenticated,
|
||||||
reject_unknown_client
|
reject_unknown_client
|
||||||
# Maximum size of Message in bytes (50MB)
|
# Maximum size of Message in bytes (50MB)
|
||||||
message_size_limit = 52428800
|
message_size_limit = 52428800
|
||||||
|
|
||||||
## SASL Auth Settings
|
## SASL Auth Settings
|
||||||
smtpd_sasl_auth_enable = yes
|
smtpd_sasl_auth_enable = yes
|
||||||
smtpd_sasl_local_domain = $myhostname
|
smtpd_sasl_local_domain = $myhostname
|
||||||
smtpd_sasl_security_options = noanonymous
|
smtpd_sasl_security_options = noanonymous
|
||||||
broken_sasl_auth_clients = yes
|
broken_sasl_auth_clients = yes
|
||||||
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
## Dovecot Settings for deliver, SASL Auth and virtual transport
|
||||||
## uncomment those line to use Dovecot
|
## uncomment those line to use Dovecot
|
||||||
#mailbox_command = /usr/lib/dovecot/deliver
|
#mailbox_command = /usr/lib/dovecot/deliver
|
||||||
#virtual_transport = dovecot
|
#virtual_transport = dovecot
|
||||||
#dovecot_destination_recipient_limit = 1
|
#dovecot_destination_recipient_limit = 1
|
||||||
|
|
||||||
# Virtual delivery settings
|
# Virtual delivery settings
|
||||||
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||||
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||||
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||||
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||||
|
|
||||||
# Local delivery settings
|
# Local delivery settings
|
||||||
local_transport = local
|
local_transport = local
|
||||||
alias_database = hash:/etc/aliases
|
alias_database = hash:/etc/aliases
|
||||||
alias_maps = $alias_database
|
alias_maps = $alias_database
|
||||||
|
|
||||||
# Default Mailbox size, is set to 0 which means unlimited!
|
# Default Mailbox size, is set to 0 which means unlimited!
|
||||||
mailbox_size_limit = 0
|
mailbox_size_limit = 0
|
||||||
|
virtual_mailbox_limit = 0
|
||||||
### TLS settings
|
|
||||||
###
|
### TLS settings
|
||||||
## TLS for outgoing mails from the server to another server
|
###
|
||||||
#smtp_use_tls = yes
|
## TLS for outgoing mails from the server to another server
|
||||||
#smtp_tls_note_starttls_offer = yes
|
#smtp_use_tls = yes
|
||||||
## TLS for email client
|
#smtp_tls_note_starttls_offer = yes
|
||||||
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.crt
|
## TLS for email client
|
||||||
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.key
|
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.crt
|
||||||
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.key
|
||||||
#smtpd_tls_auth_only = no
|
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
|
||||||
#smtpd_tls_loglevel = 1
|
#smtpd_tls_auth_only = no
|
||||||
#smtpd_tls_received_header = yes
|
#smtpd_tls_loglevel = 1
|
||||||
#smtpd_tls_session_cache_timeout = 3600s
|
#smtpd_tls_received_header = yes
|
||||||
#tls_random_source = dev:/dev/urandom
|
#smtpd_tls_session_cache_timeout = 3600s
|
||||||
|
#tls_random_source = dev:/dev/urandom
|
||||||
debugger_command =
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
debugger_command =
|
||||||
ddd $daemon_directory/$process_name $process_id & sleep 5
|
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
|
||||||
|
ddd $daemon_directory/$process_name $process_id & sleep 5
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
service froxlor
|
service froxlor
|
||||||
{
|
{
|
||||||
id = froxlor
|
id = froxlor
|
||||||
socket_type = dgram
|
socket_type = stream
|
||||||
protocol = udp
|
protocol = tcp
|
||||||
wait = no
|
wait = no
|
||||||
|
|
||||||
user = root
|
user = root
|
||||||
|
|||||||
Reference in New Issue
Block a user