Compare commits

..

1 Commits
0.9.2.1 ... 0.9

Author SHA1 Message Date
Michael Kaufmann (d00p)
8d1e4889b3 tagging froxlor-0.9 2010-02-01 10:49:31 +00:00
64 changed files with 752 additions and 1155 deletions

126
TODO Normal file
View File

@@ -0,0 +1,126 @@
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)

View File

@@ -95,14 +95,6 @@ return array(
'type' => 'bool',
'default' => false,
'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(
'label' => $lng['serversettings']['allow_password_reset_admin'],
@@ -111,14 +103,6 @@ return array(
'type' => 'bool',
'default' => false,
'save_method' => 'storeSettingField',
'dependency' => array(
'fieldname' => 'panel_allow_preset',
'fielddata' => array(
'settinggroup' => 'panel',
'varname' => 'allow_preset',
),
'onlyif' => 1
)
),
),
),

View File

@@ -71,7 +71,7 @@ return array(
'label' => $lng['serversettings']['system_realtime_port'],
'settinggroup' => 'system',
'varname' => 'realtime_port',
'type' => (function_exists('socket_create') ? 'int' : 'hidden'),
'type' => 'int',
'int_max' => 65535,
'default' => 0,
'save_method' => 'storeSettingField',

View File

@@ -21,6 +21,7 @@
define('AREA', 'admin');
require ("./lib/init.php");
require ("./lib/class_apsparser.php");
$Id = 0;
if(isset($_GET['id']))$Id = (int)$_GET['id'];

View File

@@ -781,19 +781,12 @@ if($page == 'customers'
$mysqls = - 1;
}
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']))
{
$number_of_aps_packages = - 1;
}
}
else
{
$number_of_aps_packages = 0;
}
$createstdsubdomain = intval($_POST['createstdsubdomain']);
$deactivated = intval($_POST['deactivated']);

View File

@@ -570,6 +570,8 @@ if($page == 'domains'
$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();
$result_standardsubdomains = $db->query('SELECT `id` FROM `' . TABLE_PANEL_DOMAINS . '` `d`, `' . TABLE_PANEL_CUSTOMERS . '` `c` WHERE `d`.`id`=`c`.`standardsubdomain`');
@@ -613,8 +615,6 @@ if($page == 'domains'
$openbasedir = makeyesno('openbasedir', '1', '0', '1');
$safemode = makeyesno('safemode', '1', '0', '1');
$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');
eval("echo \"" . getTemplate("domains/domains_add") . "\";");
@@ -624,9 +624,7 @@ if($page == 'domains'
elseif($action == 'edit'
&& $id != 0)
{
$result = $db->query_first("SELECT `d`.*, `c`.* 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`.`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'] . "' "));
if($result['domain'] != '')
{

View File

@@ -88,34 +88,22 @@ if($page == 'overview')
{
$update_check_uri = 'http://version.froxlor.org/Froxlor/legacy/' . $version;
if(ini_get('allow_url_fopen'))
if(strtolower(ini_get('allow_url_fopen')) == 'on')
{
$latestversion = @file($update_check_uri);
if (isset($latestversion[0]))
{
$latestversion = explode('|', $latestversion[0]);
$latestversion = explode(':', $latestversion);
if(is_array($latestversion)
&& count($latestversion) >= 1)
&& count($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 = $latestversion[0];
$lookfornewversion_link = $latestversion[1];
$lookfornewversion_addinfo = '';
$lookfornewversion_lable = $_version;
$lookfornewversion_link = $_link;
$lookfornewversion_addinfo = $_message;
if (version_compare($version, $_version) == -1) {
$isnewerversion = 1;
} else {
$isnewerversion = 0;
}
}
else
if(count($latestversion) >= 3)
{
redirectTo($update_check_uri.'/pretty', NULL);
$lookfornewversion_addinfo = $latestversion[2];
}
}
else
@@ -133,7 +121,6 @@ if($page == 'overview')
$lookfornewversion_lable = $lng['admin']['lookfornewversion']['clickhere'];
$lookfornewversion_link = htmlspecialchars($filename . '?s=' . urlencode($s) . '&page=' . urlencode($page) . '&lookfornewversion=yes');
$lookfornewversion_addinfo = '';
$isnewerversion = 0;
}
$userinfo['diskspace'] = round($userinfo['diskspace'] / 1024, $settings['panel']['decimal_places']);

View File

@@ -47,7 +47,7 @@ if($page == 'message')
&& $userinfo['customers_see_all'] == '1')
{
$log->logAction(ADM_ACTION, LOG_NOTICE, "sending messages to admins");
$result = $db->query('SELECT `name`, `email` FROM `' . TABLE_PANEL_ADMINS . "`");
$result = $db->query('SELECT `firstname`, `name`, `email` FROM `' . TABLE_PANEL_ADMINS . "`");
}
elseif($_POST['receipient'] == 1)
{
@@ -78,9 +78,9 @@ if($page == 'message')
while($row = $db->fetch_array($result))
{
$mail->AddAddress($row['email'], (isset($row['firstname']) ? $row['firstname'] . ' ' : '') . $row['name']);
$mail->AddAddress($row['email'], $row['firstname'] . ' ' . $row['name']);
$mail->From = $userinfo['email'];
$mail->FromName = (isset($userinfo['firstname']) ? $userinfo['firstname'] . ' ' : '') . $userinfo['name'];
$mail->FromName = $userinfo['firstname'] . ' ' . $userinfo['name'];
if(!$mail->Send())
{

View File

@@ -742,7 +742,6 @@ elseif($page == 'archive'
$ticket_replies = '';
$mainticket = ticket::getInstanceOf($userinfo, $db, $settings, (int)$id);
$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'));
$isclosed = 1;

View File

@@ -22,25 +22,6 @@ if($page == 'overview')
{
$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'] == ''
) {
$settings['system']['dbversion'] = 2;
}
}
if(hasUpdates($version))
{
if(isset($_POST['send'])

View File

@@ -21,6 +21,7 @@
define('AREA', 'customer');
require ("./lib/init.php");
require ("./lib/class_apsparser.php");
$Id = 0;
if(isset($_GET['id']))$Id = (int)$_GET['id'];

View File

@@ -439,9 +439,9 @@ elseif($page == 'domains')
|| $ssl_redirect != $result['ssl_redirect'])
{
$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('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));

View File

@@ -23,7 +23,6 @@ define('AREA', 'customer');
* Include our init.php, which manages Sessions, Language etc.
*/
$need_db_sql_data = true;
$need_root_db_sql_data = true;
require ("./lib/init.php");

View File

@@ -75,8 +75,7 @@ if(!is_null($month)
WHERE `customerid`='" . $userinfo['customerid'] . "'
AND `month` = '" . $month . "'
AND `year` = '" . $year . "'");
$row = mysql_fetch_row($result);
rsort($row);
rsort($row = mysql_fetch_row($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
SUM(`http`) as 'http', SUM(`ftp_up`) AS 'ftp_up', SUM(`ftp_down`) as 'ftp_down', SUM(`mail`) as 'mail',
@@ -174,13 +173,17 @@ if(!is_null($month)
}
else
{
$result = $db->query("SELECT MAX(`http`), MAX(`ftp_up`+`ftp_down`), MAX(`mail`)
FROM `" . TABLE_PANEL_TRAFFIC . "`
WHERE `customerid`='" . $userinfo['customerid'] . "'
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12");
$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]));
$result = $db->query("(SELECT SUM(`http`) as sum FROM `" . TABLE_PANEL_TRAFFIC . "`
WHERE `customerid` = '" . $userinfo['customerid'] . "'
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12) UNION
(SELECT SUM(`ftp_up`+`ftp_down`) FROM `" . TABLE_PANEL_TRAFFIC . "`
WHERE `customerid` = '" . $userinfo['customerid'] . "'
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12) UNION
(SELECT SUM(`mail`) FROM `" . TABLE_PANEL_TRAFFIC . "`
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
FROM `" . TABLE_PANEL_TRAFFIC . "` WHERE `customerid` = '" . $userinfo['customerid'] . "'
GROUP BY CONCAT(`year`,`month`) ORDER BY CONCAT(`year`,`month`) DESC LIMIT 12");

View File

@@ -226,7 +226,7 @@ if($action == 'forgotpwd')
if($db->num_rows() == 0)
{
$sql = "SELECT `adminid`, `name`, `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "`
$sql = "SELECT `adminid`, `firstname`, `name`, `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "`
WHERE `loginname`='" . $db->escape($loginname) . "'
AND `email`='" . $db->escape($email) . "'";
$result = $db->query($sql);
@@ -292,7 +292,7 @@ if($action == 'forgotpwd')
$message = $lng['login']['usernotfound'];
}
unset($user);
unset($user, $adminchecked);
}
else
{
@@ -304,21 +304,10 @@ if($action == 'forgotpwd')
$message = '';
}
if($adminchecked)
{
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") . "\";");
}

View File

@@ -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 (19, 'system', 'bindconf_directory', '/etc/bind/');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.2');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
@@ -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 (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 (98, 'admin', 'froxlor_graphic', 'images/header.gif');
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 (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 (101, 'system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/');

View File

@@ -47,9 +47,6 @@ $lng['install']['next'] = 'Fortfahren';
$lng['install']['testing_mysql'] = 'Teste, ob die MySQL-Root-Benutzerdaten richtig sind...';
$lng['install']['erasing_old_db'] = 'Entferne alte Datenbank...';
$lng['install']['backup_old_db'] = 'Sichere bisherige Datenbank...';
$lng['install']['backing_up'] = 'Sicherung l&auml;ft';
$lng['install']['backing_up_binary_missing'] = '/usr/bin/mysqldump nicht vorhanden';
$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']['importing_data'] = 'Importiere Daten in die MySQL-Datenbank...';

View File

@@ -20,13 +20,13 @@ if(isFroxlorVersion('0.9-r0'))
showUpdateStep("Updating from 0.9-r0 to 0.9-r1", false);
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']) && (int)$settings['system']['dbversion'] < 1)
if(!isset($settings['system']['dbversion']) || $settings['system']['dbversion'] < '1')
{
$db->query("ALTER TABLE `panel_databases` ADD `dbserver` INT( 11 ) UNSIGNED NOT NULL default '0';");
}
if(isset($settings['system']['dbversion']) && (int)$settings['system']['dbversion'] < 2)
if(!isset($settings['system']['dbversion']) || $settings['system']['dbversion'] < '2')
{
$db->query("ALTER TABLE `panel_ipsandports` CHANGE `ssl_cert` `ssl_cert_file` VARCHAR( 255 ) NOT NULL,
ADD `ssl_key_file` VARCHAR( 255 ) NOT NULL,
@@ -276,35 +276,4 @@ if(isFroxlorVersion('0.9-r4'))
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');
}
?>

View File

@@ -45,7 +45,7 @@ class ApsInstaller extends ApsParser
{
$this->db = $db;
$this->db_root = $db_root;
$this->RootDir = dirname(dirname(dirname(dirname(__FILE__)))) . '/';
$this->RootDir = dirname(dirname(__FILE__)) . '/';
$this->Hosts = $settings['system']['mysql_access_host'];
}
@@ -135,20 +135,10 @@ class ApsInstaller extends ApsParser
{
//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/');
$Return = array();
$ReturnStatus = 0;
// 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);
$Return = safe_exec('php ' . escapeshellarg($this->RealPath . $this->DomainPath . '/install_scripts/configure install'), $ReturnStatus);
if($ReturnStatus != 0)
{

View File

@@ -37,7 +37,6 @@ class ApsParser
private $userinfo = array();
private $settings = array();
private $db = false;
private $RootDir = '';
/**
* Constructor of class, setup basic variables needed by the class
@@ -52,7 +51,6 @@ class ApsParser
$this->settings = $settings;
$this->userinfo = $userinfo;
$this->db = $db;
$this->RootDir = dirname(dirname(dirname(dirname(__FILE__)))) . '/';
}
/**
@@ -795,8 +793,7 @@ class ApsParser
}
else
{
$moveproblem = str_replace('{$path}', $this->RootDir, $lng['aps']['moveproblem']);
$Errors[] = $moveproblem;
$Errors[] = $lng['aps']['moveproblem'];
}
}
@@ -843,7 +840,7 @@ class ApsParser
{
//split all keywords
$Elements = preg_split('/[ ,;]/', trim($_GET['keyword']));
$Elements = split('[ ,;]', trim($_GET['keyword']));
if(count($Elements) == 1
&& strlen($Elements[0]) == 0)
@@ -1691,11 +1688,10 @@ class ApsParser
$Error.= '<li>' . $lng['aps']['class_zip_missing'] . '</li>';
}
if(!is_writable($this->RootDir.'temp/')
|| !is_writable($this->RootDir.'packages/'))
if(!is_writable('./temp/')
|| !is_writable('./packages/'))
{
$dirpermission = str_replace('{$path}', $this->RootDir, $lng['aps']['dir_permissions']);
$Error.= '<li>' . $dirpermission . '</li>';
$Error.= '<li>' . $lng['aps']['dir_permissions'] . '</li>';
}
if($Error != '')
@@ -1714,14 +1710,7 @@ class ApsParser
return;
}
if(isset($this->userinfo['customerid']))
{
$CustomerId = $this->userinfo['customerid'];
}
else
{
$CustomerId = -1;
}
$AdminId = $this->userinfo['adminid'];
$PackagesPerSite = $this->settings['aps']['items_per_page'];

View File

@@ -32,26 +32,18 @@ class ApsUpdater extends ApsParser
private $RootUrl = '';
private $RootDir = '';
/**
* FroxlorLogger
* @var FroxlorLogger
*/
private $_cronlog = null;
/**
* constructor of class. setup some basic variables needed by class
*
* @param db instance of the database class
* @param cronlog instance of the froxlor logger
* @param db instance of the database class from syscp
*/
public function __construct($db, $cronlog)
public function __construct($db)
{
$this->db = $db;
$this->RequestDomain = 'apscatalog.com';
$this->RootUrl = '/1/';
$this->RootDir = dirname(dirname(dirname(dirname(__FILE__)))) . '/';
$this->_cronlog = $cronlog;
$this->RootDir = dirname(dirname(__FILE__)) . '/';
}
/**
@@ -60,15 +52,13 @@ class ApsUpdater extends ApsParser
public function UpdateHandler()
{
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Changing directory to '" . $this->RootDir . "'");
chdir($this->RootDir);
//return if allow_url_fopen is disabled
if(!ini_get('allow_url_fopen'))
if(ini_get('allow_url_fopen') == '0')
{
$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";
echo ("The APS updater cronjob requires that allow_url_fopen is enabled for the PHP CLI binary!\n");
return;
}
@@ -78,7 +68,6 @@ class ApsUpdater extends ApsParser
if($this->db->num_rows($Result) == 0)
{
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "No tasks for ApsUpdater");
return;
}
@@ -88,21 +77,16 @@ class ApsUpdater extends ApsParser
$this->db->query('DELETE FROM `' . TABLE_APS_TASKS . '` WHERE `Task` = ' . $Task['Task']);
//fetch all vendors
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Fetching all Vendors from '" . $this->RootUrl . "'");
$Vendors = self::FetchSubUrls($this->RootUrl);
if($Vendors !== false)
{
foreach($Vendors as $Vendor)
{
//fetch all applications from vendors
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Fetching all from Vendor '" . $Vendor. "'");
$Applications = self::FetchSubUrls($this->RootUrl . $Vendor);
if($Applications !== false)
{
foreach($Applications as $Application)
{
//get newest version of package which is already installed
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Checking application '" . substr($Application, 0, -1) . "'");
$CurrentVersion = '';
$Result = $this->db->query('SELECT * FROM `' . TABLE_APS_PACKAGES . '` WHERE `Name` = "' . $this->db->escape(substr($Application, 0, -1)) . '"');
@@ -125,8 +109,6 @@ class ApsUpdater extends ApsParser
$NewerVersion = '';
$Versions = self::FetchSubUrls($this->RootUrl . $Vendor . $Application);
if($Versions !== false)
{
foreach($Versions as $Version)
{
$OnlineVersion = substr($Version, 0, -1);
@@ -152,7 +134,6 @@ class ApsUpdater extends ApsParser
continue;
}
}
}
else
{
if($Task['Task'] != TASK_SYSTEM_DOWNLOAD)continue;
@@ -184,8 +165,6 @@ class ApsUpdater extends ApsParser
}
}
}
}
}
/**
* download a package from the distribution server and move the downloaded file in the temporary directory
@@ -202,13 +181,11 @@ class ApsUpdater extends ApsParser
//make url valid
$path = dirname($Url);
$file = urlencode(basename($Url));
$file_url = 'http://' . $this->RequestDomain . $path . '/' . $file . '.aps' . $Downloads[0];
$Url = str_replace(' ', '%20', $Url);
//get content from website url
$this->_cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Downloading '" . $file_url . "'");
$Content = @file_get_contents($file_url);
$Content = @file_get_contents('http://' . $this->RequestDomain . $Url . '.aps' . $Downloads[0]);
if($Content != false)
{
@@ -254,13 +231,12 @@ class ApsUpdater extends ApsParser
//make url valid
$Url = str_replace(' ', '%20', $Url);
$file_url = 'http://' . $this->RequestDomain . $Url;
//get content from website url
$Content = @file($file_url);
$Content = @file('http://' . $this->RequestDomain . $Url);
if($Content !== false)
if($Content != false)
{
foreach($Content as $Temp)
{

View File

@@ -134,11 +134,8 @@ class db
$this->showerror('Trying to use database ' . $this->database . ' failed, exiting');
}
}
/*
* this is not for 0.9.x
*/
//mysql_query("SET NAMES utf8", $this->link_id);
//mysql_query("SET CHARACTER SET utf8", $this->link_id);
mysql_query("SET NAMES utf8", $this->link_id);
mysql_query("SET CHARACTER SET utf8", $this->link_id);
}
/**

View File

@@ -29,13 +29,13 @@ class idna_convert_wrapper
* @var object
*/
private $idna_converter;
var $idna_converter;
/**
* Class constructor. Creates a new idna converter
*/
public function __construct()
function idna_convert_wrapper()
{
$this->idna_converter = new idna_convert();
}
@@ -50,7 +50,7 @@ class idna_convert_wrapper
* both seperated by the same string as the input.
*/
public function encode($to_encode)
function 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.
*/
public function decode($to_decode)
function 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.
*/
private function _do_action($action, $string)
function _do_action($action, $string)
{
$string = trim($string);

View File

@@ -301,12 +301,12 @@ class ticket
}
else
{
$admin = $this->db->query_first("SELECT `name`, email` FROM `" . TABLE_PANEL_ADMINS . "` WHERE `adminid`='" . (int)$this->userinfo['adminid'] . "'");
$admin = $this->db->query_first("SELECT `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'];
$mail->Subject = $mail_subject;
$mail->Body = $mail_body;
$mail->AddAddress($admin['email'], $admin['name']);
$mail->AddAddress($admin['email'], $admin['firstname'] . ' ' . $admin['name']);
if(!$mail->Send())
{
@@ -637,7 +637,7 @@ class ticket
{
if($_cid != 0)
{
$result = $_db->query('SELECT `id` FROM `' . TABLE_PANEL_TICKETS . '` WHERE `customerid` ="'.(int)$_cid.'"');
$result = $_db->query('SELECT `id` FROM `' . TABLE_PANEL_TICKETS . '` WHERE `customer` ="'.(int)$_cid.'"');
$tickets = array();
while($row = $_db->fetch_array($result))

View File

@@ -68,8 +68,8 @@ return Array(
'label' => 'Bind9',
'commands' => Array(
'apt-get install bind9',
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
),
'restart' => Array(
'/etc/init.d/bind9 restart'
@@ -93,7 +93,7 @@ return Array(
'postfix' => Array(
'label' => 'Postfix',
'commands' => Array(
'apt-get install postfix postfix-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql',
'apt-get install postfix postfix-mysql libsasl2 libsasl2-modules libsasl2-modules-sql',
'mkdir -p /etc/postfix/sasl',
'mkdir -p /var/spool/postfix/etc/pam.d',
'mkdir -p /var/spool/postfix/var/run/mysqld',
@@ -254,7 +254,6 @@ 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')
),
'commands' => Array(
'apt-get install awstats',
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
),
'restart' => Array(

View File

@@ -1,168 +0,0 @@
<?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'],
'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',
'etc_postfix_main.cf' => '/etc/postfix/main.cf',
'etc_postfix_mysql-virtual_alias_maps.cf' => '/etc/postfix/mysql-virtual_alias_maps.cf',
'etc_postfix_mysql-virtual_mailbox_domains.cf' => '/etc/postfix/mysql-virtual_mailbox_domains.cf',
'etc_postfix_mysql-virtual_mailbox_maps.cf' => '/etc/postfix/mysql-virtual_mailbox_maps.cf'
),
'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'
)
)
)
)
)
)
);
?>

View File

@@ -72,10 +72,10 @@ return Array(
'etc_bind_default.zone' => '/etc/bind/default.zone'
),
'commands' => Array(
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
'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'
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf',
'chown root:0 ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf',
'chmod 0600 ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
),
'restart' => Array(
'rc-update add named default',

View File

@@ -67,8 +67,8 @@ return Array(
'bind' => Array(
'label' => 'Bind9',
'commands' => Array(
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
),
'restart' => Array(
'/etc/init.d/bind9 restart'
@@ -248,7 +248,6 @@ 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')
),
'commands' => Array(
'apt-get install awstats',
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
),
'restart' => Array(

View File

@@ -68,8 +68,8 @@ return Array(
'label' => 'Bind9',
'commands' => Array(
'apt-get install bind9',
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/bind/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
),
'restart' => Array(
'/etc/init.d/bind9 restart'
@@ -93,7 +93,7 @@ return Array(
'postfix' => Array(
'label' => 'Postfix',
'commands' => Array(
'apt-get install postfix postfix-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql',
'apt-get install postfix postfix-mysql libsasl2 libsasl2-modules libsasl2-modules-sql',
'mkdir -p /etc/postfix/sasl',
'mkdir -p /var/spool/postfix/etc/pam.d',
'mkdir -p /var/spool/postfix/var/run/mysqld',
@@ -255,7 +255,6 @@ 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')
),
'commands' => Array(
'apt-get install awstats',
($settings['system']['webserver'] == 'lighttpd' ? 'echo "include \"froxlor-awstats.conf\"" >> /etc/lighttpd/lighttpd.conf' : '')
),
'restart' => Array(

View File

@@ -45,8 +45,8 @@ return Array(
'bind' => Array(
'label' => 'Bind9',
'commands' => Array(
'echo "include \"' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf\";" >> /etc/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'froxlor_bind.conf'
'echo "include \"' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf\";" >> /etc/named.conf',
'touch ' . $settings['system']['bindconf_directory'] . 'syscp_bind.conf'
),
'restart' => Array(
'/etc/init.d/named restart'

View File

@@ -48,7 +48,7 @@ function makePathfield($path, $uid, $gid, $fieldType, $value = '')
if(sizeof($dirList) > 0)
{
if(sizeof($dirList) <= 100)
if(sizeof(dirList) <= 100)
{
$field = '<select name="path">';
foreach($dirList as $key => $dir)

View File

@@ -60,17 +60,16 @@ function getNextCronjobs()
function includeCronjobs($debugHandler, $pathtophpfiles)
{
global $settings;
$cronjobs = getNextCronjobs();
$jobs_to_run = array();
$cron_path = makeCorrectDir($pathtophpfiles.'/scripts/jobs/');
if($cronjobs !== false
&& is_array($cronjobs)
&& isset($cronjobs[0]))
{
$cron_path = makeCorrectDir($pathtophpfiles.'/scripts/jobs/');
foreach($cronjobs as $cronjob)
{
$cron_file = makeCorrectFile($cron_path.$cronjob);
@@ -78,17 +77,6 @@ function includeCronjobs($debugHandler, $pathtophpfiles)
}
}
/**
* if we're on realtime and cron_tasks is not one
* of the jobs to run, we add it so the changes are being applied
*/
if ($settings['system']['realtime_port'] !== 0) {
$cron_file = makeCorrectFile($cron_path.'/cron_tasks.php');
if (!in_array($cron_file, $jobs_to_run)) {
$jobs_to_run[] = $cron_file;
}
}
return $jobs_to_run;
}

View File

@@ -64,23 +64,21 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '')
}
if($doupdate === true
&& (int)$settings['system']['realtime_port'] !== 0
&& function_exists('socket_create'))
&& (int)$settings['system']['realtime_port'] !== 0)
{
$timeout = 15;
//$socket = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$socket = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if($socket !== false)
{
// create the request packet
$packet = chr(0) . chr(1) . 'RUN' . chr(0);
// UDP is connectionless, so we just send on it.
//@socket_sendto($socket, $packet, strlen($packet), 0x100, '127.0.0.1', (int)$settings['system']['realtime_port']);
@socket_sendto($socket, $packet, strlen($packet), 0x100, '127.0.0.1', (int)$settings['system']['realtime_port']);
/*
* this is for TCP-Connections
*/
*
$time = time();
while(!@socket_connect($socket, '127.0.0.1', (int)$settings['system']['realtime_port']))
@@ -99,8 +97,6 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '')
continue;
}
}
/**
* close socket
*/
@socket_close($socket);
}

View File

@@ -30,16 +30,10 @@ function openRootDB($debugHandler, $lockfile)
{
global $db_root;
require dirname(dirname(dirname(__FILE__))).'/userdata.inc.php';
// Legacy sql-root-information
if(isset($sql['root_user']) && isset($sql['root_password']) && (!isset($sql_root) || !is_array($sql_root)))
// If one cronscript needs root, it should say $needrootdb = true before the include
if(isset($needrootdb)
&& $needrootdb === true)
{
$sql_root = array(0 => array('caption' => 'Default', 'host' => $sql['host'], 'user' => $sql['root_user'], 'password' => $sql['root_password']));
unset($sql['root_user']);
unset($sql['root_password']);
}
$db_root = new db($sql_root[0]['host'], $sql_root[0]['user'], $sql_root[0]['password'], '');
if($db_root->link_id == 0)
@@ -55,8 +49,7 @@ function openRootDB($debugHandler, $lockfile)
unset($db_root->password);
fwrite($debugHandler, 'Database-rootconnection established' . "\n");
unset($sql);
}
}
function closeRootDB()

View File

@@ -134,26 +134,26 @@ function showUpdateStep($task = null, $needs_status = true)
* outputs [OK] (success), [??] (warning) or [!!] (failure)
* of the last update-step
*
* @param int status (0 = success, 1 = warning, 2 = failure)
* @param int status (0 = success, 1 = warning, -1 = failure)
*
* @return string formatted output and log-entry
*/
function lastStepStatus($status = -1, $message = '')
function lastStepStatus($status = -1)
{
global $updatelog;
switch($status)
{
case 0:
$status_sign = ($message != '') ? '['.$message.']' : '[OK]';
$status_sign = '[OK]';
$status_color = '1dcd00';
break;
case 1:
$status_sign = ($message != '') ? '['.$message.']' : '[??]';
$status_sign = '[??]';
$status_color = 'db7100';
break;
case 2:
$status_sign = ($message != '') ? '['.$message.']' : '[!!]';
$status_sign = '[!!]';
$status_color = 'ff0000';
break;
default:

View File

@@ -31,17 +31,6 @@ function storeSettingField($fieldname, $fielddata, $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);
}
else

View File

@@ -29,25 +29,14 @@
*
* @return null
*/
function checkLastGuid()
function checkLastGuid($froxlor_guid = 0)
{
global $log, $cronlog, $db, $settings;
$mylog = null;
if (isset($cronlog) && $cronlog instanceof FroxlorLogger) {
$mylog = $cronlog;
} else {
$mylog = $log;
}
global $cronlog;
$group_lines = array();
$group_guids = array();
$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';
if(file_exists($g_file))
@@ -65,44 +54,28 @@ function checkLastGuid()
foreach($group_guids as $idx => $group)
{
/**
* nogroup | nobody have very high guids
* ignore them
*/
if($group[0] == 'nogroup'
|| $group[0] == 'nobody'
) {
continue;
}
$guid = $group[2];
$guid = isset($group[2]) ? (int)$group[2] : 0;
if($guid > $update_to_guid)
if($guid > $froxlor_guid)
{
$update_to_guid = $guid;
}
}
if($update_to_guid < $froxlor_guid)
if($update_to_guid > $froxlor_guid)
{
$update_to_guid = $froxlor_guid;
if ($update_to_guid != $settings['system']['lastguid'])
{
$mylog->logAction(CRON_ACTION, LOG_NOTICE, 'Updating froxlor last guid to '.$update_to_guid);
$cronlog->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
{
$mylog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
}
}
else
{
$mylog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
}
}
else
{
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'File /etc/group not readable; cannot check for latest guid');
}
}
else

View File

@@ -21,7 +21,7 @@
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: text/html; charset=iso-8859-1");
header("Content-type: text/html; charset=utf-8");
// ensure that default timezone is set
if(function_exists("date_default_timezone_set") && function_exists("date_default_timezone_get"))
@@ -49,8 +49,7 @@ $filename = basename($_SERVER['PHP_SELF']);
if(!file_exists('./lib/userdata.inc.php'))
{
$config_hint = file_get_contents('./templates/misc/configurehint.tpl');
die($config_hint);
die('You have to <a href="./install/install.php">configure</a> Froxlor first!');
}
if(!is_readable('./lib/userdata.inc.php'))
@@ -155,10 +154,8 @@ $settings = loadSettings(&$settings_data, &$db);
/*
* when upgrading from syscp, the header-graphic gets lost
*/
if(!isset($settings['admin']['froxlor_graphic'])
|| $settings['admin']['froxlor_graphic'] == ''
) {
$settings['admin']['froxlor_graphic'] = ($settings['admin']['syscp_graphic'] != '') ? $settings['admin']['syscp_graphic'] : 'images/header.gif';
if(!isset($settings['admin']['froxlor_graphic'])) {
$settings['admin']['froxlor_graphic'] = $settings['admin']['syscp_graphic'];
}
/**

View File

@@ -68,7 +68,7 @@ define('PACKAGE_ENABLED', 2);
// VERSION INFO
$version = '0.9.2';
$version = '0.9';
$dbversion = '2';
?>

View File

@@ -243,7 +243,7 @@ $lng['error']['domainname'] = $lng['domains']['domainname'];
$lng['question']['question'] = 'Security question';
$lng['question']['admin_customer_reallydelete'] = 'Do you really want to delete the customer %s? This cannot be undone!';
$lng['question']['admin_domain_reallydelete'] = 'Do you really want to delete the domain %s?';
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Do you really want to disable these Security settings (OpenBasedir and/or SafeMode)?';
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Do you really want to deactivate these Security settings (OpenBasedir and/or SafeMode)?';
$lng['question']['admin_admin_reallydelete'] = 'Do you really want to delete the admin %s? Every customer and domain will be reassigned to your account.';
$lng['question']['admin_template_reallydelete'] = 'Do you really want to delete the template \'%s\'?';
$lng['question']['domains_reallydelete'] = 'Do you really want to delete the domain %s?';
@@ -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']['language']['description'] = 'What\'s your standard server language?';
$lng['serversettings']['maxloginattempts']['title'] = 'Max Login Attempts';
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets disabled.';
$lng['serversettings']['deactivatetime']['title'] = 'Deactivation Time';
$lng['serversettings']['deactivatetime']['description'] = 'Time (sec.) an account gets disabled after too many login tries.';
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets deactivated.';
$lng['serversettings']['deactivatetime']['title'] = 'Deactivate Time';
$lng['serversettings']['deactivatetime']['description'] = 'Time (sec.) an account gets deactivated after too many login tries.';
$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']['nameservers']['title'] = 'Nameservers';
@@ -425,7 +425,7 @@ $lng['panel']['urloverridespath'] = 'URL (overrides path)';
$lng['panel']['pathorurl'] = 'Path or URL';
$lng['error']['sessiontimeoutiswrong'] = 'Only numerical &quot;Session Timeout&quot; is allowed.';
$lng['error']['maxloginattemptsiswrong'] = 'Only numerical &quot;Max Login Attempts&quot; are allowed.';
$lng['error']['deactivatetimiswrong'] = 'Only numerical &quot;Deactivation Time&quot; is allowed.';
$lng['error']['deactivatetimiswrong'] = 'Only numerical &quot;Deactivate Time&quot; is allowed.';
$lng['error']['accountprefixiswrong'] = 'The &quot;Customerprefix&quot; is wrong.';
$lng['error']['mysqlprefixiswrong'] = 'The &quot;SQL Prefix&quot; is wrong.';
$lng['error']['ftpprefixiswrong'] = 'The &quot;FTP Prefix&quot; is wrong.';
@@ -872,7 +872,7 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
// ADDED IN 1.2.19-svn18
$lng['serversettings']['allow_password_reset']['title'] = 'Allow password reset by customers';
$lng['pwdreminder']['notallowed'] = 'Password reset is disabled';
$lng['pwdreminder']['notallowed'] = 'Password reset is deactivated';
// 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']['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']['open_basedir_c'] = 'Will insert a ; (semicolon) to comment-out/disable open_basedir when set';
$lng['admin']['phpconfig']['open_basedir_c'] = 'Will insert a ; (semicolon) to comment-out/deactivate open_basedir when set';
$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']['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']['successpackageinstall'] = '<strong><em>%s</em> successfully installed as a new Package</strong>';
$lng['aps']['class_zip_missing'] = 'SimpleXML Class, exec function or ZIP Functions missing or not enabled! For further information about this problem look into the handbook for this module.';
$lng['aps']['dir_permissions'] = 'The PHP/Webserver process must be able to write in the directory {$path}temp/ and {$path}packages/';
$lng['aps']['dir_permissions'] = 'The PHP/Webserver process must be able to write in the directory /var/www/froxlor/temp/ and /var/www/froxlor/packages/';
$lng['aps']['initerror'] = '<strong>There are some problems with this module:</strong><ul>%s</ul>Fix these problems, otherwise the module cannot be used!';
$lng['aps']['iderror'] = 'Wrong id specified!';
$lng['aps']['nopacketsforinstallation'] = 'There are no packages to install.';
@@ -1192,7 +1192,7 @@ $lng['error']['admindoesntexist'] = 'The admin you have chosen doesn\'t exist.';
// ADDED IN 1.2.19-svn37
$lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor';
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="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 ist deactivated.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
$lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
@@ -1290,14 +1290,4 @@ $lng['tasks']['noneoutstanding'] = 'There are currently no outstanding tasks for
$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.';
// 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';
?>

View File

@@ -1065,7 +1065,7 @@ $lng['aps']['notazipfile'] = 'Die hochgeladene Datei ist keine g&uuml;ltige ZIP-
$lng['aps']['filetoobig'] = 'Die Datei ist zu gro&szlig;.';
$lng['aps']['filenotcomplete'] = 'Die Datei wurde nicht vollst&auml;ndig hochgeladen.';
$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&auml;ren Ordner verschoben werden. Pr&uuml;fen Sie ob alle Rechte korrekt gesetzt sind. Dies gilt insbesondere f&uuml; die Ordner {$path}temp/ und {$path}packages/.';
$lng['aps']['moveproblem'] = 'Die hochgeladene Datei konnte nicht aus dem tempor&auml;ren Ordner verschoben werden. Pr&uuml;fen Sie ob alle Rechte korrekt gesetzt sind. Dies gilt insbesondere f&uuml; die Ordner /var/www/froxlor/temp/ und /var/www/froxlor/packages/.';
$lng['aps']['uploaderrors'] = '<strong>Fehler f&uuml;r die Datei <em>%s</em></strong><br/><ul>%s</ul>';
$lng['aps']['nospecialchars'] = 'Sonderzeichen sind im Suchausdruck nicht erlaubt!';
$lng['aps']['noitemsfound'] = 'Es wurden keine Pakete gefunden!';
@@ -1115,7 +1115,7 @@ $lng['aps']['invalidzipfile'] = '<strong>Fehler f&uuml;r <em>%s</em></strong><br
$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']['class_zip_missing'] = 'SimpleXML Klasse, exec Funktion oder ZIP Funktionen nicht vorhanden bzw. aktiviert! F&uuml;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&uuml;r {$path}temp/ und {$path}packages/ haben.';
$lng['aps']['dir_permissions'] = 'Der PHP bzw. Webserver Prozess muss Schreibrechte f&uuml;r /var/www/froxlor/temp/ und /var/www/froxlor/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']['iderror'] = 'Es wurde eine falsche Id &uuml;bergeben!';
$lng['aps']['nopacketsforinstallation'] = 'Es wurden keine Pakete zur Installation gefunden.';
@@ -1270,14 +1270,4 @@ $lng['tasks']['noneoutstanding'] = 'Zur Zeit gibt es keine ausstehenden Aufgaben
$lng['ticket']['nonexistingcustomer'] = '(gel&ouml;schter Kunde)';
$lng['admin']['ticket_nocustomeraddingavailable'] = 'Es k&ouml;nnen derzeit keine neuen Support-Tickets er&ouml;ffnet werden. Sie m&uuml;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&ouml;ffentlicht';
?>

View File

@@ -32,7 +32,7 @@ fwrite($debugHandler, 'Cronfiles have been included' . "\n");
* so users in the database don't conflict with system users
*/
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Checking system\'s last guid');
checkLastGuid();
checkLastGuid($settings['system']['lastguid']);
/*
* shutdown cron

View File

@@ -17,7 +17,7 @@
* @version $Id$
*/
$Aps = new ApsUpdater($db, $cronlog);
$Aps = new ApsUpdater($db);
$Aps->UpdateHandler();
?>

View File

@@ -62,25 +62,6 @@ class apache
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()
{
$result_ipsandports = $this->db->query("SELECT * FROM `" . TABLE_PANEL_IPSANDPORTS . "` ORDER BY `ip` ASC, `port` ASC");
@@ -98,7 +79,7 @@ class apache
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);
$vhosts_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/10_froxlor_ipandport_' . trim(str_replace(':', '.', $row_ipsandports['ip']), '.') . '.' . $row_ipsandports['port'] . '.conf');
$vhosts_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/10_syscp_ipandport_' . trim(str_replace(':', '.', $row_ipsandports['ip']), '.') . '.' . $row_ipsandports['port'] . '.conf');
if(!isset($this->virtualhosts_data[$vhosts_filename]))
{
@@ -168,13 +149,9 @@ class apache
$this->virtualhosts_data[$vhosts_filename].= '</VirtualHost>' . "\n";
$this->logger->logAction(CRON_ACTION, LOG_DEBUG, $ipport . ' :: inserted vhostcontainer');
}
unset($vhosts_filename);
}
/**
* bug #32
*/
$this->_createStandardDirectoryEntry();
}
/*
@@ -459,11 +436,11 @@ class apache
{
if($ssl_vhost === true)
{
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_froxlor_ssl_vhost_' . $domain['domain'] . '.conf');
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_syscp_ssl_vhost_' . $domain['domain'] . '.conf');
}
else
{
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_froxlor_normal_vhost_' . $domain['domain'] . '.conf');
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/20_syscp_normal_vhost_' . $domain['domain'] . '.conf');
}
return $vhost_filename;
@@ -669,7 +646,7 @@ class apache
{
$row_diroptions['path'] = makeCorrectDir($row_diroptions['path']);
mkDirWithCorrectOwnership($row_diroptions['customerroot'], $row_diroptions['path'], $row_diroptions['guid'], $row_diroptions['guid']);
$diroptions_filename = makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/40_froxlor_diroption_' . md5($row_diroptions['path']) . '.conf');
$diroptions_filename = makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/40_syscp_diroption_' . md5($row_diroptions['path']) . '.conf');
if(!isset($this->diroptions_data[$diroptions_filename]))
{
@@ -914,7 +891,7 @@ class apache
if($vhost_filename != '.'
&& $vhost_filename != '..'
&& !in_array($vhost_filename, $this->known_vhostfilenames)
&& preg_match('/^(05|10|20|30)_(froxlor|syscp)_(dirfix|ipandport|normal_vhost|wildcard_vhost|ssl_vhost)_(.+)\.conf$/', $vhost_filename)
&& preg_match('/^(10|20|30)_syscp_(ipandport|normal_vhost|wildcard_vhost|ssl_vhost)_(.+)\.conf$/', $vhost_filename)
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
{
fwrite($this->debugHandler, ' apache::wipeOutOldVhostConfigs: unlinking ' . $vhost_filename . "\n");
@@ -945,7 +922,7 @@ class apache
if($diroptions_filename != '.'
&& $diroptions_filename != '..'
&& !in_array($diroptions_filename, $this->known_diroptionsfilenames)
&& preg_match('/^40_(froxlor|syscp)_diroption_(.+)\.conf$/', $diroptions_filename)
&& preg_match('/^40_syscp_diroption_(.+)\.conf$/', $diroptions_filename)
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_diroptions'] . '/' . $diroptions_filename)))
{
fwrite($this->debugHandler, ' apache::wipeOutOldDiroptionConfigs: unlinking ' . $diroptions_filename . "\n");

View File

@@ -615,7 +615,7 @@ class lighttpd
if($vhost_filename != '.'
&& $vhost_filename != '..'
&& !in_array($vhost_filename, $this->known_filenames)
&& preg_match('/^(05|10|20|30)_(froxlor|syscp)_ipandport_(.+)\.conf$/', $vhost_filename)
&& preg_match('/^(10|20|30)_froxlor_ipandport_(.+)\.conf$/', $vhost_filename)
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
{
fwrite($this->debugHandler, ' lighttpd::wipeOutOldConfigs: unlinking ' . $vhost_filename . "\n");

View File

@@ -1,5 +1,5 @@
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
<td class="field_name_border_left"><if $row['adminid'] != $userinfo['userid']><a href="$filename?s=$s&amp;page=$page&amp;action=su&amp;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 $highlight_row>_red</if>"><if $row['adminid'] != $userinfo['userid']><a href="$filename?s=$s&amp;page=$page&amp;action=su&amp;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"><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>

View File

@@ -1,5 +1,5 @@
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
<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_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"><font size="-1">{$row['ipandport']}</font></td>
<td class="field_name"><font size="-1">{$row['customername']} (<a href="admin_customers.php?s=$s&amp;page=customers&amp;action=su&amp;id={$row['customerid']}" target="_blank">{$row['loginname']}</a>)</font></td>
<td class="field_name"><a href="$filename?s=$s&amp;page=$page&amp;action=edit&amp;id={$row['id']}">{$lng['panel']['edit']}</a></td>

View File

@@ -123,22 +123,13 @@ $header
</tr>
<tr>
<td class="field_name_border_left">{$lng['admin']['latestversion']}:</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>
<if $isnewerversion != 0 >
<tr>
<td class="field_name_border_left" colspan="2"><strong>{$lng['admin']['newerversionavailable']}</strong></td>
</tr>
<if $lookfornewversion_addinfo != ''>
<tr>
<td class="field_name_border_left" colspan="2">$lookfornewversion_addinfo</td>
</tr>
</if>
</if>
</table>
<br />
<br />

View File

@@ -5,7 +5,7 @@ $header
<input type="hidden" name="send" value="send" />
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
<tr>
<td class="maintitle_search_left" colspan="5"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['ticket']['archivesearch']}</b></td>
<td class="maintitle_search_left"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['ticket']['archivesearch']}</b></td>
<td class="maintitle_search_right">&nbsp;</td>
</tr>
<if 0 < $tickets_count >
@@ -21,7 +21,7 @@ $header
</if>
<if $tickets_count < 1 >
<tr>
<td class="field_display_border_left" colspan="5">{$lng['ticket']['noresults']}</td>
<td class="field_display_border_left" colspan="2">{$lng['ticket']['noresults']}</td>
</tr>
</if>
</table>

View File

@@ -15,7 +15,7 @@ $header
</if>
<tr>
<td class="field_display_border_left">{$lng['ticket']['category']}&nbsp;&nbsp;{$arrowcode['name']}</td>
<td class="field_display">{$lng['ticket']['ticketcount']}&nbsp;&nbsp;<if $categories_count < 0 >{$arrowcode['ticketcount']}</if></td>
<td class="field_display">{$lng['ticket']['ticketcount']}&nbsp;&nbsp;{$arrowcode['ticketcount']}</td>
<td class="field_display_search" colspan="2">{$sortcode}</td>
</tr>
$ticketcategories

View File

@@ -2,7 +2,7 @@
</td>
</tr>
<tr>
<td class="field_name_center"><a href="{$redirect_url}">{$lng['success']['clickheretocontinue']}</a></td>
<td class="field_name"><a href="{$redirect_url}">{$lng['success']['clickheretocontinue']}</a></td>
</tr>
</table>
<br />

View File

@@ -1,7 +1,7 @@
<!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">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<if $settings['panel']['no_robots'] == '0'>
<meta name="robots" content="noindex, nofollow, noarchive" />
<meta name="GOOGLEBOT" content="nosnippet" />

View File

@@ -70,7 +70,6 @@ alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0
virtual_mailbox_limit = 0
### TLS settings
###

View File

@@ -1,8 +1,8 @@
service froxlor
{
id = froxlor
socket_type = stream
protocol = tcp
socket_type = dgram
protocol = udp
wait = no
user = root

View File

@@ -70,7 +70,6 @@ alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0
virtual_mailbox_limit = 0
### TLS settings
###

View File

@@ -1,8 +1,8 @@
service froxlor
{
id = froxlor
socket_type = stream
protocol = tcp
socket_type = dgram
protocol = udp
wait = no
user = root

View File

@@ -1,4 +0,0 @@
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

View File

@@ -1,10 +0,0 @@
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

View File

@@ -1,76 +0,0 @@
# 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>

View File

@@ -72,7 +72,6 @@ alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0
virtual_mailbox_limit = 0
### TLS settings
###

View File

@@ -1,8 +1,8 @@
service froxlor
{
id = froxlor
socket_type = stream
protocol = tcp
socket_type = dgram
protocol = udp
wait = no
user = root

View File

@@ -60,5 +60,4 @@ broken_sasl_auth_clients = yes
#smtp_use_tls = no
alias_maps = $alias_database
mailbox_size_limit = 0
virtual_mailbox_limit = 0
message_size_limit = 10240000

View File

@@ -70,7 +70,6 @@ alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0
virtual_mailbox_limit = 0
### TLS settings
###

View File

@@ -1,8 +1,8 @@
service froxlor
{
id = froxlor
socket_type = stream
protocol = tcp
socket_type = dgram
protocol = udp
wait = no
user = root