first few implementations of new Setting-class, refs #1325

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2013-12-15 11:47:23 +01:00
parent 4667ccbe43
commit 276d6b30d1
20 changed files with 448 additions and 247 deletions

View File

@@ -42,7 +42,7 @@ if ($page == 'admins'
'traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')', 'traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')',
'deactivated' => $lng['admin']['deactivated'] 'deactivated' => $lng['admin']['deactivated']
); );
$paging = new paging($userinfo, TABLE_PANEL_ADMINS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_ADMINS, $fields);
$admins = ''; $admins = '';
$result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_ADMINS . "` " . $paging->getSqlWhere(false) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit()); $result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_ADMINS . "` " . $paging->getSqlWhere(false) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
$numrows_admins = Database::num_rows(); $numrows_admins = Database::num_rows();
@@ -54,14 +54,16 @@ if ($page == 'admins'
$i = 0; $i = 0;
$count = 0; $count = 0;
$dec_places = Settings::Get('panel.decimal_places');
while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) { while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
if ($paging->checkDisplay($i)) { if ($paging->checkDisplay($i)) {
$row['traffic_used'] = round($row['traffic_used'] / (1024 * 1024), $settings['panel']['decimal_places']); $row['traffic_used'] = round($row['traffic_used'] / (1024 * 1024), $dec_places);
$row['traffic'] = round($row['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']); $row['traffic'] = round($row['traffic'] / (1024 * 1024), $dec_places);
$row['diskspace_used'] = round($row['diskspace_used'] / 1024, $settings['panel']['decimal_places']); $row['diskspace_used'] = round($row['diskspace_used'] / 1024, $dec_places);
$row['diskspace'] = round($row['diskspace'] / 1024, $settings['panel']['decimal_places']); $row['diskspace'] = round($row['diskspace'] / 1024, $dec_places);
// percent-values for progressbar // percent-values for progressbar
// For Disk usage // For Disk usage
@@ -223,7 +225,7 @@ if ($page == 'admins'
$email_forwarders = - 1; $email_forwarders = - 1;
} }
if ($settings['system']['mail_quota_enabled'] == '1') { if (Settings::Get('system.mail_quota_enabled') == '1') {
$email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', '')); $email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', ''));
if (isset($_POST['email_quota_ul'])) { if (isset($_POST['email_quota_ul'])) {
@@ -238,7 +240,7 @@ if ($page == 'admins'
$ftps = - 1; $ftps = - 1;
} }
if ($settings['ticket']['enabled'] == 1) { if (Settings::Get('ticket.enabled') == 1) {
$tickets = intval_ressource($_POST['tickets']); $tickets = intval_ressource($_POST['tickets']);
if (isset($_POST['tickets_ul'])) { if (isset($_POST['tickets_ul'])) {
@@ -312,8 +314,8 @@ if ($page == 'admins'
standard_error('loginnameexists', $loginname); standard_error('loginnameexists', $loginname);
} }
// Accounts which match systemaccounts are not allowed, filtering them // Accounts which match systemaccounts are not allowed, filtering them
elseif (preg_match('/^' . preg_quote($settings['customer']['accountprefix'], '/') . '([0-9]+)/', $loginname)) { elseif (preg_match('/^' . preg_quote(Settings::Get('customer.accountprefix'), '/') . '([0-9]+)/', $loginname)) {
standard_error('loginnameissystemaccount', $settings['customer']['accountprefix']); standard_error('loginnameissystemaccount', Settings::Get('customer.accountprefix'));
} }
elseif (!validateUsername($loginname)) { elseif (!validateUsername($loginname)) {
standard_error('loginnameiswrong', $loginname); standard_error('loginnameiswrong', $loginname);
@@ -352,7 +354,7 @@ if ($page == 'admins'
$tickets_see_all = '0'; $tickets_see_all = '0';
} }
$_theme = $settings['panel']['default_theme']; $_theme = Settings::Get('panel.default_theme');
$ins_data = array( $ins_data = array(
'loginname' => $loginname, 'loginname' => $loginname,
@@ -537,7 +539,7 @@ if ($page == 'admins'
$email_forwarders = -1; $email_forwarders = -1;
} }
if ($settings['system']['mail_quota_enabled'] == '1') { if (Settings('system.mail_quota_enabled') == '1') {
$email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', '')); $email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', ''));
if (isset($_POST['email_quota_ul'])) { if (isset($_POST['email_quota_ul'])) {
$email_quota = -1; $email_quota = -1;
@@ -551,7 +553,7 @@ if ($page == 'admins'
$ftps = -1; $ftps = -1;
} }
if ($settings['ticket']['enabled'] == 1) { if (Settings::Get('ticket.enabled') == 1) {
$tickets = intval_ressource($_POST['tickets']); $tickets = intval_ressource($_POST['tickets']);
if (isset($_POST['tickets_ul'])) { if (isset($_POST['tickets_ul'])) {
$tickets = -1; $tickets = -1;
@@ -749,8 +751,9 @@ if ($page == 'admins'
} else { } else {
$result['traffic'] = round($result['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']); $dec_places = Settings::Get('panel.decimal_places');
$result['diskspace'] = round($result['diskspace'] / 1024, $settings['panel']['decimal_places']); $result['traffic'] = round($result['traffic'] / (1024 * 1024), $dec_places);
$result['diskspace'] = round($result['diskspace'] / 1024, $dec_places);
$result['email'] = $idna_convert->decode($result['email']); $result['email'] = $idna_convert->decode($result['email']);
$customers_ul = makecheckbox('customers_ul', $lng['customer']['unlimited'], '-1', false, $result['customers'], true, true); $customers_ul = makecheckbox('customers_ul', $lng['customer']['unlimited'], '-1', false, $result['customers'], true, true);

View File

@@ -85,19 +85,19 @@ if($userinfo['change_serversettings'] == '1')
'<SQL_UNPRIVILEGED_PASSWORD>' => 'MYSQL_PASSWORD', '<SQL_UNPRIVILEGED_PASSWORD>' => 'MYSQL_PASSWORD',
'<SQL_DB>' => $sql['db'], '<SQL_DB>' => $sql['db'],
'<SQL_HOST>' => $sql['host'], '<SQL_HOST>' => $sql['host'],
'<SERVERNAME>' => $settings['system']['hostname'], '<SERVERNAME>' => Settings::Get('system.hostname'),
'<SERVERIP>' => $settings['system']['ipaddress'], '<SERVERIP>' => Settings::Get('system.ipaddress'),
'<NAMESERVERS>' => $settings['system']['nameservers'], '<NAMESERVERS>' => Settings::Get('system.nameservers'),
'<VIRTUAL_MAILBOX_BASE>' => $settings['system']['vmail_homedir'], '<VIRTUAL_MAILBOX_BASE>' => Settings::Get('system.vmail_homedir'),
'<VIRTUAL_UID_MAPS>' => $settings['system']['vmail_uid'], '<VIRTUAL_UID_MAPS>' => Settings::Get('system.vmail_uid'),
'<VIRTUAL_GID_MAPS>' => $settings['system']['vmail_gid'], '<VIRTUAL_GID_MAPS>' => Settings::Get('system.vmail_gid'),
'<SSLPROTOCOLS>' => ($settings['system']['use_ssl'] == '1') ? 'imaps pop3s' : '', '<SSLPROTOCOLS>' => (Settings::Get('system.use_ssl') == '1') ? 'imaps pop3s' : '',
'<CUSTOMER_TMP>' => ($settings['system']['mod_fcgid_tmpdir'] != '') ? makeCorrectDir($settings['system']['mod_fcgid_tmpdir']) : '/tmp/', '<CUSTOMER_TMP>' => (Settings::Get('system.mod_fcgid_tmpdir') != '') ? makeCorrectDir(Settings::Get('system.mod_fcgid_tmpdir')) : '/tmp/',
'<BASE_PATH>' => makeCorrectDir(dirname(__FILE__)), '<BASE_PATH>' => makeCorrectDir(FROXLOR_INSTALL_DIR),
'<BIND_CONFIG_PATH>' => makeCorrectDir($settings['system']['bindconf_directory']), '<BIND_CONFIG_PATH>' => makeCorrectDir(Settings::Get('system.bindconf_directory')),
'<WEBSERVER_RELOAD_CMD>' => $settings['system']['apachereload_command'], '<WEBSERVER_RELOAD_CMD>' => Settings::Get('system.apachereload_command'),
'<CUSTOMER_LOGS>' => makeCorrectDir($settings['system']['logfiles_directory']), '<CUSTOMER_LOGS>' => makeCorrectDir(Settings::Get('system.logfiles_directory')),
'<FPM_IPCDIR>' => makeCorrectDir($settings['phpfpm']['fastcgi_ipcdir']) '<FPM_IPCDIR>' => makeCorrectDir(Settings::Get('phpfpm.fastcgi_ipcdir'))
); );
$files = ''; $files = '';
$configpage = ''; $configpage = '';

View File

@@ -33,7 +33,7 @@ if ($page == 'cronjobs' || $page == 'overview') {
'c.interval' => $lng['cron']['interval'], 'c.interval' => $lng['cron']['interval'],
'c.isactive' => $lng['cron']['isactive'] 'c.isactive' => $lng['cron']['isactive']
); );
$paging = new paging($userinfo, TABLE_PANEL_CRONRUNS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_CRONRUNS, $fields);
/* /*
* @TODO Fix sorting * @TODO Fix sorting

View File

@@ -47,7 +47,7 @@ if ($page == 'customers'
'c.traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')' 'c.traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')'
); );
$paging = new paging($userinfo, TABLE_PANEL_CUSTOMERS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_CUSTOMERS, $fields);
$customers = ''; $customers = '';
$result_stmt = Database::prepare(" $result_stmt = Database::prepare("
SELECT `c`.*, `a`.`loginname` AS `adminname` SELECT `c`.*, `a`.`loginname` AS `adminname`
@@ -56,7 +56,7 @@ if ($page == 'customers'
($userinfo['customers_see_all'] ? '' : " `c`.`adminid` = :adminid AND ") . " ($userinfo['customers_see_all'] ? '' : " `c`.`adminid` = :adminid AND ") . "
`c`.`adminid` = `a`.`adminid` " . `c`.`adminid` = `a`.`adminid` " .
$paging->getSqlWhere(true) . " " . $paging->getSqlWhere(true) . " " .
$paging->getSqlOrderBy($settings['panel']['natsorting']) . " " . $paging->getSqlOrderBy() . " " .
$paging->getSqlLimit() $paging->getSqlLimit()
); );
Database::pexecute($result_stmt, array('adminid' => $userinfo['adminid'])); Database::pexecute($result_stmt, array('adminid' => $userinfo['adminid']));
@@ -83,10 +83,11 @@ if ($page == 'customers'
Database::pexecute($domains_stmt, array('cid' => $row['customerid'], 'stdd' => $row['standardsubdomain'])); Database::pexecute($domains_stmt, array('cid' => $row['customerid'], 'stdd' => $row['standardsubdomain']));
$domains = $domains_stmt->fetch(PDO::FETCH_ASSOC); $domains = $domains_stmt->fetch(PDO::FETCH_ASSOC);
$row['domains'] = intval($domains['domains']); $row['domains'] = intval($domains['domains']);
$row['traffic_used'] = round($row['traffic_used'] / (1024 * 1024), $settings['panel']['decimal_places']); $dec_places = Settings::Get('panel.decimal_places');
$row['traffic'] = round($row['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']); $row['traffic_used'] = round($row['traffic_used'] / (1024 * 1024), $dec_places);
$row['diskspace_used'] = round($row['diskspace_used'] / 1024, $settings['panel']['decimal_places']); $row['traffic'] = round($row['traffic'] / (1024 * 1024), $dec_places);
$row['diskspace'] = round($row['diskspace'] / 1024, $settings['panel']['decimal_places']); $row['diskspace_used'] = round($row['diskspace_used'] / 1024, $dec_places);
$row['diskspace'] = round($row['diskspace'] / 1024, $dec_places);
$last_login = ((int)$row['lastlogin_succ'] == 0) ? $lng['panel']['neverloggedin'] : date('d.m.Y', $row['lastlogin_succ']); $last_login = ((int)$row['lastlogin_succ'] == 0) ? $lng['panel']['neverloggedin'] : date('d.m.Y', $row['lastlogin_succ']);
/** /**
@@ -110,8 +111,8 @@ if ($page == 'customers'
} }
$islocked = 0; $islocked = 0;
if ($row['loginfail_count'] >= $settings['login']['maxloginattempts'] if ($row['loginfail_count'] >= Settings::Get('login.maxloginattempts')
&& $row['lastlogin_fail'] > (time() - $settings['login']['deactivatetime']) && $row['lastlogin_fail'] > (time() - Settings::Get('login.deactivatetime'))
) { ) {
$islocked = 1; $islocked = 1;
} }
@@ -243,7 +244,7 @@ if ($page == 'customers'
Database::needRoot(true); Database::needRoot(true);
$last_dbserver = 0; $last_dbserver = 0;
$dbm = new DbManager($settings, $log); $dbm = new DbManager($log);
while ($row_database = $databases_stmt->fetch(PDO::FETCH_ASSOC)) { while ($row_database = $databases_stmt->fetch(PDO::FETCH_ASSOC)) {
@@ -359,6 +360,7 @@ if ($page == 'customers'
if ($tickets !== false && isset($tickets[0])) { if ($tickets !== false && isset($tickets[0])) {
foreach ($tickets as $ticket) { foreach ($tickets as $ticket) {
$now = time(); $now = time();
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$ticket); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$ticket);
$mainticket->Set('lastchange', $now, true, true); $mainticket->Set('lastchange', $now, true, true);
$mainticket->Set('lastreplier', '1', true, true); $mainticket->Set('lastreplier', '1', true, true);
@@ -426,7 +428,7 @@ if ($page == 'customers'
$email_forwarders = - 1; $email_forwarders = - 1;
} }
if ($settings['system']['mail_quota_enabled'] == '1') { if (Settings::Get('system.mail_quota_enabled') == '1') {
$email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', '')); $email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', ''));
if (isset($_POST['email_quota_ul'])) { if (isset($_POST['email_quota_ul'])) {
$email_quota = - 1; $email_quota = - 1;
@@ -453,9 +455,9 @@ if ($page == 'customers'
$ftps = - 1; $ftps = - 1;
} }
$tickets = ($settings['ticket']['enabled'] == 1 ? intval_ressource($_POST['tickets']) : 0); $tickets = (Settings::Get('ticket.enabled') == 1 ? intval_ressource($_POST['tickets']) : 0);
if (isset($_POST['tickets_ul']) if (isset($_POST['tickets_ul'])
&& $settings['ticket']['enabled'] == '1' && Settings::Get('ticket.enabled') == '1'
) { ) {
$tickets = - 1; $tickets = - 1;
} }
@@ -510,7 +512,7 @@ if ($page == 'customers'
|| ((($userinfo['emails_used'] + $emails) > $userinfo['emails']) && $userinfo['emails'] != '-1') || ((($userinfo['emails_used'] + $emails) > $userinfo['emails']) && $userinfo['emails'] != '-1')
|| ((($userinfo['email_accounts_used'] + $email_accounts) > $userinfo['email_accounts']) && $userinfo['email_accounts'] != '-1') || ((($userinfo['email_accounts_used'] + $email_accounts) > $userinfo['email_accounts']) && $userinfo['email_accounts'] != '-1')
|| ((($userinfo['email_forwarders_used'] + $email_forwarders) > $userinfo['email_forwarders']) && $userinfo['email_forwarders'] != '-1') || ((($userinfo['email_forwarders_used'] + $email_forwarders) > $userinfo['email_forwarders']) && $userinfo['email_forwarders'] != '-1')
|| ((($userinfo['email_quota_used'] + $email_quota) > $userinfo['email_quota']) && $userinfo['email_quota'] != '-1' && $settings['system']['mail_quota_enabled'] == '1') || ((($userinfo['email_quota_used'] + $email_quota) > $userinfo['email_quota']) && $userinfo['email_quota'] != '-1' && Settings::Get('system.mail_quota_enabled') == '1')
|| ((($userinfo['ftps_used'] + $ftps) > $userinfo['ftps']) && $userinfo['ftps'] != '-1') || ((($userinfo['ftps_used'] + $ftps) > $userinfo['ftps']) && $userinfo['ftps'] != '-1')
|| ((($userinfo['tickets_used'] + $tickets) > $userinfo['tickets']) && $userinfo['tickets'] != '-1') || ((($userinfo['tickets_used'] + $tickets) > $userinfo['tickets']) && $userinfo['tickets'] != '-1')
|| ((($userinfo['subdomains_used'] + $subdomains) > $userinfo['subdomains']) && $userinfo['subdomains'] != '-1') || ((($userinfo['subdomains_used'] + $subdomains) > $userinfo['subdomains']) && $userinfo['subdomains'] != '-1')
@@ -519,7 +521,7 @@ if ($page == 'customers'
|| ($emails == '-1' && $userinfo['emails'] != '-1') || ($emails == '-1' && $userinfo['emails'] != '-1')
|| ($email_accounts == '-1' && $userinfo['email_accounts'] != '-1') || ($email_accounts == '-1' && $userinfo['email_accounts'] != '-1')
|| ($email_forwarders == '-1' && $userinfo['email_forwarders'] != '-1') || ($email_forwarders == '-1' && $userinfo['email_forwarders'] != '-1')
|| ($email_quota == '-1' && $userinfo['email_quota'] != '-1' && $settings['system']['mail_quota_enabled'] == '1') || ($email_quota == '-1' && $userinfo['email_quota'] != '-1' && Settings::Get('system.mail_quota_enabled') == '1')
|| ($ftps == '-1' && $userinfo['ftps'] != '-1') || ($ftps == '-1' && $userinfo['ftps'] != '-1')
|| ($tickets == '-1' && $userinfo['tickets'] != '-1') || ($tickets == '-1' && $userinfo['tickets'] != '-1')
|| ($subdomains == '-1' && $userinfo['subdomains'] != '-1') || ($subdomains == '-1' && $userinfo['subdomains'] != '-1')
@@ -546,12 +548,12 @@ if ($page == 'customers'
if (isset($_POST['new_loginname']) if (isset($_POST['new_loginname'])
&& $_POST['new_loginname'] != '' && $_POST['new_loginname'] != ''
) { ) {
$accountnumber = intval($settings['system']['lastaccountnumber']); $accountnumber = intval(Settings::Get('system.lastaccountnumber'));
$loginname = validate($_POST['new_loginname'], 'loginname', '/^[a-z][a-z0-9\-_]+$/i'); $loginname = validate($_POST['new_loginname'], 'loginname', '/^[a-z][a-z0-9\-_]+$/i');
// Accounts which match systemaccounts are not allowed, filtering them // Accounts which match systemaccounts are not allowed, filtering them
if (preg_match('/^' . preg_quote($settings['customer']['accountprefix'], '/') . '([0-9]+)/', $loginname)) { if (preg_match('/^' . preg_quote(Settings::Get('customer.accountprefix'), '/') . '([0-9]+)/', $loginname)) {
standard_error('loginnameissystemaccount', $settings['customer']['accountprefix']); standard_error('loginnameissystemaccount', Settings::Get('customer.accountprefix'));
} }
// Additional filtering for Bug #962 // Additional filtering for Bug #962
@@ -559,12 +561,12 @@ if ($page == 'customers'
&& !in_array("posix_getpwnam", explode(",", ini_get('disable_functions'))) && !in_array("posix_getpwnam", explode(",", ini_get('disable_functions')))
&& posix_getpwnam($loginname) && posix_getpwnam($loginname)
) { ) {
standard_error('loginnameissystemaccount', $settings['customer']['accountprefix']); standard_error('loginnameissystemaccount', Settings::Get('customer.accountprefix'));
} }
} else { } else {
$accountnumber = intval($settings['system']['lastaccountnumber']) + 1; $accountnumber = intval(Settings::Get('system.lastaccountnumber')) + 1;
$loginname = $settings['customer']['accountprefix'] . $accountnumber; $loginname = Settings::Get('customer.accountprefix') . $accountnumber;
} }
// Check if the account already exists // Check if the account already exists
@@ -583,16 +585,16 @@ if ($page == 'customers'
) { ) {
standard_error('loginnameexists', $loginname); standard_error('loginnameexists', $loginname);
} elseif (!validateUsername($loginname, $settings['panel']['unix_names'], 14 - strlen($settings['customer']['mysqlprefix']))) { } elseif (!validateUsername($loginname, Settings::Get('panel.unix_names'), 14 - strlen(Settings::Get('customer.mysqlprefix')))) {
if (strlen($loginname) > 14 - strlen($settings['customer']['mysqlprefix'])) { if (strlen($loginname) > 14 - strlen(Settings::Get('customer.mysqlprefix'))) {
standard_error('loginnameiswrong2', 14 - strlen($settings['customer']['mysqlprefix'])); standard_error('loginnameiswrong2', 14 - strlen(Settings::Get('customer.mysqlprefix')));
} else { } else {
standard_error('loginnameiswrong', $loginname); standard_error('loginnameiswrong', $loginname);
} }
} }
$guid = intval($settings['system']['lastguid']) + 1; $guid = intval(Settings::Get('system.lastguid')) + 1;
$documentroot = makeCorrectDir($settings['system']['documentroot_prefix'] . '/' . $loginname); $documentroot = makeCorrectDir(Settings::Get('system.documentroot_prefix') . '/' . $loginname);
if (file_exists($documentroot)) { if (file_exists($documentroot)) {
standard_error('documentrootexists', $documentroot); standard_error('documentrootexists', $documentroot);
@@ -614,7 +616,7 @@ if ($page == 'customers'
$password = substr(md5(uniqid(microtime(), 1)), 12, 6); $password = substr(md5(uniqid(microtime(), 1)), 12, 6);
} }
$_theme = $settings['panel']['default_theme']; $_theme = Settings::Get('panel.default_theme');
$ins_data = array( $ins_data = array(
'adminid' => $userinfo['adminid'], 'adminid' => $userinfo['adminid'],
@@ -722,7 +724,7 @@ if ($page == 'customers'
} }
if ($tickets != '-1' if ($tickets != '-1'
&& $settings['ticket']['enabled'] == 1 && Settings::Get('ticket.enabled') == 1
) { ) {
$admin_update_query.= ", `tickets_used` = `tickets_used` + 0" . (int)$tickets; $admin_update_query.= ", `tickets_used` = `tickets_used` + 0" . (int)$tickets;
} }
@@ -741,7 +743,7 @@ if ($page == 'customers'
); );
Database::pexecute($upd_stmt, array('guid' => $guid)); Database::pexecute($upd_stmt, array('guid' => $guid));
if ($accountnumber != intval($settings['system']['lastaccountnumber'])) { if ($accountnumber != intval(Settings::Get('system.lastaccountnumber'))) {
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
UPDATE `" . TABLE_PANEL_SETTINGS . "` SET UPDATE `" . TABLE_PANEL_SETTINGS . "` SET
`value` = :accno `value` = :accno
@@ -777,7 +779,7 @@ if ($page == 'customers'
'passwd' => $htpasswdPassword 'passwd' => $htpasswdPassword
); );
if ($settings['system']['awstats_enabled'] == '1') { if (Settings::Get('system.awstats_enabled') == '1') {
$ins_data['path'] = makeCorrectDir($documentroot . '/awstats/'); $ins_data['path'] = makeCorrectDir($documentroot . '/awstats/');
$log->logAction(ADM_ACTION, LOG_NOTICE, "automatically added awstats htpasswd for user '" . $loginname . "'"); $log->logAction(ADM_ACTION, LOG_NOTICE, "automatically added awstats htpasswd for user '" . $loginname . "'");
} else { } else {
@@ -809,7 +811,7 @@ if ($page == 'customers'
'customerid' => $customerid, 'customerid' => $customerid,
'groupname' => $loginname, 'groupname' => $loginname,
'guid' => $guid, 'guid' => $guid,
'members' => $loginname.','.$settings['system']['httpuser'] 'members' => $loginname.','.Settings::Get('system.httpuser')
); );
Database::pexecute($ins_stmt, $ins_data); Database::pexecute($ins_stmt, $ins_data);
// FTP-Quotatallies // FTP-Quotatallies
@@ -824,12 +826,12 @@ if ($page == 'customers'
if ($createstdsubdomain == '1') { if ($createstdsubdomain == '1') {
if (isset($settings['system']['stdsubdomain']) if (Settings::Get('system.stdsubdomain') !== null
&& $settings['system']['stdsubdomain'] != '' && Settings::Get('system.stdsubdomain') != ''
) { ) {
$_stdsubdomain = $loginname . '.' . $settings['system']['stdsubdomain']; $_stdsubdomain = $loginname . '.' . Settings::Get('system.stdsubdomain');
} else { } else {
$_stdsubdomain = $loginname . '.' . $settings['system']['hostname']; $_stdsubdomain = $loginname . '.' . Settings::Get('system.hostname');
} }
$ins_data = array( $ins_data = array(
@@ -861,7 +863,7 @@ if ($page == 'customers'
$ins_stmt = Database::prepare(" $ins_stmt = Database::prepare("
INSERT INTO `".TABLE_DOMAINTOIP."` SET `id_domain` = :domainid, `id_ipandports` = :ipid" INSERT INTO `".TABLE_DOMAINTOIP."` SET `id_domain` = :domainid, `id_ipandports` = :ipid"
); );
Database::pexecute($ins_stmt, array('domainid' => $domainid, 'ipid' => $settings['system']['defaultip'])); Database::pexecute($ins_stmt, array('domainid' => $domainid, 'ipid' => Settings::Get('system.defaultip')));
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `standardsubdomain` = :domainid WHERE `customerid` = :customerid" UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `standardsubdomain` = :domainid WHERE `customerid` = :customerid"
@@ -873,8 +875,8 @@ if ($page == 'customers'
if ($sendpassword == '1') { if ($sendpassword == '1') {
$srv_hostname = $settings['system']['hostname']; $srv_hostname = Settings::Get('system.hostname');
if ($settings['system']['froxlordirectlyviahostname'] == '0') { if (Settings::Get('system.froxlordirectlyviahostname') == '0') {
$srv_hostname .= '/froxlor'; $srv_hostname .= '/froxlor';
} }
@@ -882,7 +884,7 @@ if ($page == 'customers'
SELECT ip, port FROM `".TABLE_PANEL_IPSANDPORTS."` SELECT ip, port FROM `".TABLE_PANEL_IPSANDPORTS."`
WHERE `id` = :defaultip WHERE `id` = :defaultip
"); ");
$srv_ip = Database::pexecute_first($srv_ip_stmt, array('defaultip' => $settings['system']['defaultip'])); $srv_ip = Database::pexecute_first($srv_ip_stmt, array('defaultip' => Settings::Get('system.defaultip')));
$replace_arr = array( $replace_arr = array(
'FIRSTNAME' => $firstname, 'FIRSTNAME' => $firstname,
@@ -942,7 +944,7 @@ if ($page == 'customers'
$language_options = ''; $language_options = '';
while (list($language_file, $language_name) = each($languages)) { while (list($language_file, $language_name) = each($languages)) {
$language_options.= makeoption($language_name, $language_file, $settings['panel']['standardlanguage'], true); $language_options.= makeoption($language_name, $language_file, Settings::Get('panel.standardlanguage'), true);
} }
$diskspace_ul = makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true); $diskspace_ul = makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
@@ -1034,7 +1036,7 @@ if ($page == 'customers'
$email_forwarders = - 1; $email_forwarders = - 1;
} }
if ($settings['system']['mail_quota_enabled'] == '1') { if (Settings::Get('system.mail_quota_enabled') == '1') {
$email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', '')); $email_quota = validate($_POST['email_quota'], 'email_quota', '/^\d+$/', 'vmailquotawrong', array('0', ''));
if (isset($_POST['email_quota_ul'])) { if (isset($_POST['email_quota_ul'])) {
$email_quota = - 1; $email_quota = - 1;
@@ -1061,9 +1063,9 @@ if ($page == 'customers'
$ftps = - 1; $ftps = - 1;
} }
$tickets = ($settings['ticket']['enabled'] == 1 ? intval_ressource($_POST['tickets']) : 0); $tickets = (Settings::Get('ticket.enabled') == 1 ? intval_ressource($_POST['tickets']) : 0);
if (isset($_POST['tickets_ul']) if (isset($_POST['tickets_ul'])
&& $settings['ticket']['enabled'] == '1' && Settings::Get('ticket.enabled') == '1'
) { ) {
$tickets = - 1; $tickets = - 1;
} }
@@ -1109,7 +1111,7 @@ if ($page == 'customers'
|| ((($userinfo['emails_used'] + $emails - $result['emails']) > $userinfo['emails']) && $userinfo['emails'] != '-1') || ((($userinfo['emails_used'] + $emails - $result['emails']) > $userinfo['emails']) && $userinfo['emails'] != '-1')
|| ((($userinfo['email_accounts_used'] + $email_accounts - $result['email_accounts']) > $userinfo['email_accounts']) && $userinfo['email_accounts'] != '-1') || ((($userinfo['email_accounts_used'] + $email_accounts - $result['email_accounts']) > $userinfo['email_accounts']) && $userinfo['email_accounts'] != '-1')
|| ((($userinfo['email_forwarders_used'] + $email_forwarders - $result['email_forwarders']) > $userinfo['email_forwarders']) && $userinfo['email_forwarders'] != '-1') || ((($userinfo['email_forwarders_used'] + $email_forwarders - $result['email_forwarders']) > $userinfo['email_forwarders']) && $userinfo['email_forwarders'] != '-1')
|| ((($userinfo['email_quota_used'] + $email_quota - $result['email_quota']) > $userinfo['email_quota']) && $userinfo['email_quota'] != '-1' && $settings['system']['mail_quota_enabled'] == '1') || ((($userinfo['email_quota_used'] + $email_quota - $result['email_quota']) > $userinfo['email_quota']) && $userinfo['email_quota'] != '-1' && Settings::Get('system.mail_quota_enabled') == '1')
|| ((($userinfo['ftps_used'] + $ftps - $result['ftps']) > $userinfo['ftps']) && $userinfo['ftps'] != '-1') || ((($userinfo['ftps_used'] + $ftps - $result['ftps']) > $userinfo['ftps']) && $userinfo['ftps'] != '-1')
|| ((($userinfo['tickets_used'] + $tickets - $result['tickets']) > $userinfo['tickets']) && $userinfo['tickets'] != '-1') || ((($userinfo['tickets_used'] + $tickets - $result['tickets']) > $userinfo['tickets']) && $userinfo['tickets'] != '-1')
|| ((($userinfo['subdomains_used'] + $subdomains - $result['subdomains']) > $userinfo['subdomains']) && $userinfo['subdomains'] != '-1') || ((($userinfo['subdomains_used'] + $subdomains - $result['subdomains']) > $userinfo['subdomains']) && $userinfo['subdomains'] != '-1')
@@ -1118,7 +1120,7 @@ if ($page == 'customers'
|| ($emails == '-1' && $userinfo['emails'] != '-1') || ($emails == '-1' && $userinfo['emails'] != '-1')
|| ($email_accounts == '-1' && $userinfo['email_accounts'] != '-1') || ($email_accounts == '-1' && $userinfo['email_accounts'] != '-1')
|| ($email_forwarders == '-1' && $userinfo['email_forwarders'] != '-1') || ($email_forwarders == '-1' && $userinfo['email_forwarders'] != '-1')
|| ($email_quota == '-1' && $userinfo['email_quota'] != '-1' && $settings['system']['mail_quota_enabled'] == '1') || ($email_quota == '-1' && $userinfo['email_quota'] != '-1' && Settings::Get('system.mail_quota_enabled') == '1')
|| ($ftps == '-1' && $userinfo['ftps'] != '-1') || ($ftps == '-1' && $userinfo['ftps'] != '-1')
|| ($tickets == '-1' && $userinfo['tickets'] != '-1') || ($tickets == '-1' && $userinfo['tickets'] != '-1')
|| ($subdomains == '-1' && $userinfo['subdomains'] != '-1') || ($subdomains == '-1' && $userinfo['subdomains'] != '-1')
@@ -1157,12 +1159,12 @@ if ($page == 'customers'
&& $result['standardsubdomain'] == '0' && $result['standardsubdomain'] == '0'
) { ) {
if (isset($settings['system']['stdsubdomain']) if (Settings::Get('system.stdsubdomain') !== null
&& $settings['system']['stdsubdomain'] != '' && Settings::Get('system.stdsubdomain') != ''
) { ) {
$_stdsubdomain = $result['loginname'] . '.' . $settings['system']['stdsubdomain']; $_stdsubdomain = $result['loginname'] . '.' . Settings::Get('system.stdsubdomain');
} else { } else {
$_stdsubdomain = $result['loginname'] . '.' . $settings['system']['hostname']; $_stdsubdomain = $result['loginname'] . '.' . Settings::Get('system.hostname');
} }
$ins_data = array( $ins_data = array(
@@ -1194,7 +1196,7 @@ if ($page == 'customers'
$ins_stmt = Database::prepare(" $ins_stmt = Database::prepare("
INSERT INTO `".TABLE_DOMAINTOIP."` SET `id_domain` = :domainid, `id_ipandports` = :ipid" INSERT INTO `".TABLE_DOMAINTOIP."` SET `id_domain` = :domainid, `id_ipandports` = :ipid"
); );
Database::pexecute($ins_stmt, array('domainid' => $domainid, 'ipid' => $settings['system']['defaultip'])); Database::pexecute($ins_stmt, array('domainid' => $domainid, 'ipid' => Settings::Get('system.defaultip')));
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `standardsubdomain` = :domainid WHERE `customerid` = :customerid" UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `standardsubdomain` = :domainid WHERE `customerid` = :customerid"
@@ -1265,7 +1267,7 @@ if ($page == 'customers'
Database::needRoot(true); Database::needRoot(true);
$last_dbserver = 0; $last_dbserver = 0;
$dbm = new DbManager($settings, $log); $dbm = new DbManager($log);
// For each of them // For each of them
while ($row_database = $databases_stmt->fetch(PDO::FETCH_ASSOC)) { while ($row_database = $databases_stmt->fetch(PDO::FETCH_ASSOC)) {
@@ -1276,7 +1278,7 @@ if ($page == 'customers'
$last_dbserver = $row_database['dbserver']; $last_dbserver = $row_database['dbserver'];
} }
foreach (array_unique(explode(',', $settings['system']['mysql_access_host'])) as $mysql_access_host) { foreach (array_unique(explode(',', Settings::Get('system.mysql_access_host'))) as $mysql_access_host) {
$mysql_access_host = trim($mysql_access_host); $mysql_access_host = trim($mysql_access_host);
// Prevent access, if deactivated // Prevent access, if deactivated
@@ -1497,8 +1499,9 @@ if ($page == 'customers'
$language_options.= makeoption($language_name, $language_file, $result['def_language'], true); $language_options.= makeoption($language_name, $language_file, $result['def_language'], true);
} }
$result['traffic'] = round($result['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']); $dec_places = Settings::Get('panel.decimal_places');
$result['diskspace'] = round($result['diskspace'] / 1024, $settings['panel']['decimal_places']); $result['traffic'] = round($result['traffic'] / (1024 * 1024), $dec_places);
$result['diskspace'] = round($result['diskspace'] / 1024, $dec_places);
$result['email'] = $idna_convert->decode($result['email']); $result['email'] = $idna_convert->decode($result['email']);
$diskspace_ul = makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, $result['diskspace'], true, true); $diskspace_ul = makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, $result['diskspace'], true, true);

View File

@@ -51,7 +51,7 @@ if ($page == 'domains'
'c.loginname' => $lng['login']['username'], 'c.loginname' => $lng['login']['username'],
'd.aliasdomain' => $lng['domains']['aliasdomain'] 'd.aliasdomain' => $lng['domains']['aliasdomain']
); );
$paging = new paging($userinfo, TABLE_PANEL_DOMAINS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_DOMAINS, $fields);
$domains = ''; $domains = '';
$result_stmt = Database::prepare(" $result_stmt = Database::prepare("
SELECT `d`.*, `c`.`loginname`, `c`.`name`, `c`.`firstname`, `c`.`company`, `c`.`standardsubdomain`, `ad`.`id` AS `aliasdomainid`, `ad`.`domain` AS `aliasdomain` SELECT `d`.*, `c`.`loginname`, `c`.`name`, `c`.`firstname`, `c`.`company`, `c`.`standardsubdomain`, `ad`.`id` AS `aliasdomainid`, `ad`.`domain` AS `aliasdomain`
@@ -283,7 +283,7 @@ if ($page == 'domains'
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
if ($_POST['domain'] == $settings['system']['hostname']) { if ($_POST['domain'] == Settings::Get('system.hostname')) {
standard_error('admin_domain_emailsystemhostname'); standard_error('admin_domain_emailsystemhostname');
exit; exit;
} }
@@ -361,7 +361,7 @@ if ($page == 'domains'
$isbinddomain = '0'; $isbinddomain = '0';
$zonefile = ''; $zonefile = '';
if ($settings['system']['bind_enable'] == '1') { if (Settings::Get('system.bind_enable') == '1') {
if (isset($_POST['isbinddomain'])) { if (isset($_POST['isbinddomain'])) {
$isbinddomain = intval($_POST['isbinddomain']); $isbinddomain = intval($_POST['isbinddomain']);
} }
@@ -391,14 +391,14 @@ if ($page == 'domains'
} }
} elseif (isset($_POST['documentroot']) } elseif (isset($_POST['documentroot'])
&& ($_POST['documentroot'] == '') && ($_POST['documentroot'] == '')
&& ($settings['system']['documentroot_use_default_value'] == 1) && (Settings::Get('system.documentroot_use_default_value') == 1)
) { ) {
$documentroot = makeCorrectDir($customer['documentroot'] . '/' . $domain); $documentroot = makeCorrectDir($customer['documentroot'] . '/' . $domain);
} }
} else { } else {
$isbinddomain = '0'; $isbinddomain = '0';
if ($settings['system']['bind_enable'] == '1') { if (Settings::Get('system.bind_enable') == '1') {
$isbinddomain = '1'; $isbinddomain = '1';
} }
$caneditdomain = '1'; $caneditdomain = '1';
@@ -413,8 +413,8 @@ if ($page == 'domains'
$openbasedir = isset($_POST['openbasedir']) ? intval($_POST['openbasedir']) : 0; $openbasedir = isset($_POST['openbasedir']) ? intval($_POST['openbasedir']) : 0;
if ((int)$settings['system']['mod_fcgid'] == 1 if ((int)Settings::Get('system.mod_fcgid') == 1
|| (int)$settings['phpfpm']['enabled'] == 1 || (int)Settings::Get('phpfpm.enabled') == 1
) { ) {
$phpsettingid = (int)$_POST['phpsettingid']; $phpsettingid = (int)$_POST['phpsettingid'];
$phpsettingid_check_stmt = Database::prepare(" $phpsettingid_check_stmt = Database::prepare("
@@ -430,7 +430,7 @@ if ($page == 'domains'
standard_error('phpsettingidwrong'); standard_error('phpsettingidwrong');
} }
if ((int)$settings['system']['mod_fcgid'] == 1) { if ((int)Settings::Get('system.mod_fcgid') == 1) {
$mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', ''));
$mod_fcgid_maxrequests = validate($_POST['mod_fcgid_maxrequests'], 'mod_fcgid_maxrequests', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_maxrequests = validate($_POST['mod_fcgid_maxrequests'], 'mod_fcgid_maxrequests', '/^[0-9]*$/', '', array('-1', ''));
} else { } else {
@@ -440,10 +440,10 @@ if ($page == 'domains'
} else { } else {
if ((int)$settings['phpfpm']['enabled'] == 1) { if ((int)Settings::Get('phpfpm.enabled') == 1) {
$phpsettingid = $settings['phpfpm']['defaultini']; $phpsettingid = Settings::Get('phpfpm.defaultini');
} else { } else {
$phpsettingid = $settings['system']['mod_fcgid_defaultini']; $phpsettingid = Settings::Get('system.mod_fcgid_defaultini');
} }
$mod_fcgid_starter = '-1'; $mod_fcgid_starter = '-1';
$mod_fcgid_maxrequests = '-1'; $mod_fcgid_maxrequests = '-1';
@@ -452,10 +452,10 @@ if ($page == 'domains'
} else { } else {
$openbasedir = '1'; $openbasedir = '1';
if ((int)$settings['phpfpm']['enabled'] == 1) { if ((int)Settings::Get('phpfpm.enabled') == 1) {
$phpsettingid = $settings['phpfpm']['defaultini']; $phpsettingid = Settings::Get('phpfpm.defaultini');
} else { } else {
$phpsettingid = $settings['system']['mod_fcgid_defaultini']; $phpsettingid = Settings::Get('system.mod_fcgid_defaultini');
} }
$mod_fcgid_starter = '-1'; $mod_fcgid_starter = '-1';
$mod_fcgid_maxrequests = '-1'; $mod_fcgid_maxrequests = '-1';
@@ -501,7 +501,7 @@ if ($page == 'domains'
} }
} }
if ($settings['system']['use_ssl'] == "1" if (Settings::Get('system.use_ssl') == "1"
&& isset($_POST['ssl_ipandport']) && isset($_POST['ssl_ipandport'])
) { ) {
$ssl_redirect = 0; $ssl_redirect = 0;
@@ -646,7 +646,7 @@ if ($page == 'domains'
standard_error(array('stringisempty', 'mydomain')); standard_error(array('stringisempty', 'mydomain'));
} }
// Check whether domain validation is enabled and if, validate the domain // Check whether domain validation is enabled and if, validate the domain
elseif ($settings['system']['validate_domain'] && !validateDomain($domain)) { elseif (Settings::Get('system.validate_domain') && !validateDomain($domain)) {
standard_error(array('stringiswrong', 'mydomain')); standard_error(array('stringiswrong', 'mydomain'));
} elseif($documentroot == '') { } elseif($documentroot == '') {
standard_error(array('stringisempty', 'mydocumentroot')); standard_error(array('stringisempty', 'mydocumentroot'));
@@ -935,10 +935,10 @@ if ($page == 'domains'
$configs = Database::query("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "`"); $configs = Database::query("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "`");
while ($row = $configs->fetch(PDO::FETCH_ASSOC)) { while ($row = $configs->fetch(PDO::FETCH_ASSOC)) {
if ((int)$settings['phpfpm']['enabled'] == 1) { if ((int)Settings::Get('phpfpm.enabled') == 1) {
$phpconfigs.= makeoption($row['description'], $row['id'], $settings['phpfpm']['defaultini'], true, true); $phpconfigs.= makeoption($row['description'], $row['id'], Settings::Get('phpfpm.defaultini'), true, true);
} else { } else {
$phpconfigs.= makeoption($row['description'], $row['id'], $settings['system']['mod_fcgid_defaultini'], true, true); $phpconfigs.= makeoption($row['description'], $row['id'], Settings::Get('system.mod_fcgid_defaultini'), true, true);
} }
} }
@@ -1046,7 +1046,7 @@ if ($page == 'domains'
if ($customerid > 0 if ($customerid > 0
&& $customerid != $result['customerid'] && $customerid != $result['customerid']
&& $settings['panel']['allow_domain_change_customer'] == '1' && Settings::Get('panel.allow_domain_change_customer') == '1'
) { ) {
$customer_stmt = Database::prepare(" $customer_stmt = Database::prepare("
@@ -1094,7 +1094,7 @@ if ($page == 'domains'
if ($adminid > 0 if ($adminid > 0
&& $adminid != $result['adminid'] && $adminid != $result['adminid']
&& $settings['panel']['allow_domain_change_admin'] == '1' && Settings::Get('panel.allow_domain_change_admin') == '1'
) { ) {
$admin_stmt = Database::prepare(" $admin_stmt = Database::prepare("
@@ -1150,7 +1150,7 @@ if ($page == 'domains'
if ($userinfo['change_serversettings'] == '1') { if ($userinfo['change_serversettings'] == '1') {
$isbinddomain = $result['isbinddomain']; $isbinddomain = $result['isbinddomain'];
$zonefile = $result['zonefile']; $zonefile = $result['zonefile'];
if ($settings['system']['bind_enable'] == '1') { if (Settings::Get('system.bind_enable') == '1') {
if (isset($_POST['isbinddomain'])) { if (isset($_POST['isbinddomain'])) {
$isbinddomain = (int)$_POST['isbinddomain']; $isbinddomain = (int)$_POST['isbinddomain'];
} else { } else {
@@ -1159,7 +1159,7 @@ if ($page == 'domains'
$zonefile = validate($_POST['zonefile'], 'zonefile'); $zonefile = validate($_POST['zonefile'], 'zonefile');
} }
if ($settings['dkim']['use_dkim'] == '1') { if (Settings::Get('dkim.use_dkim') == '1') {
$dkim = isset($_POST['dkim']) ? 1 : 0; $dkim = isset($_POST['dkim']) ? 1 : 0;
} else { } else {
$dkim = $result['dkim']; $dkim = $result['dkim'];
@@ -1171,7 +1171,7 @@ if ($page == 'domains'
if ($documentroot == '') { if ($documentroot == '') {
// If path is empty and 'Use domain name as default value for DocumentRoot path' is enabled in settings, // If path is empty and 'Use domain name as default value for DocumentRoot path' is enabled in settings,
// set default path to subdomain or domain name // set default path to subdomain or domain name
if ($settings['system']['documentroot_use_default_value'] == 1) { if (Settings::Get('system.documentroot_use_default_value') == 1) {
$documentroot = makeCorrectDir($customer['documentroot'] . '/' . $result['domain']); $documentroot = makeCorrectDir($customer['documentroot'] . '/' . $result['domain']);
} else { } else {
$documentroot = $customer['documentroot']; $documentroot = $customer['documentroot'];
@@ -1200,8 +1200,8 @@ if ($page == 'domains'
$openbasedir = isset($_POST['openbasedir']) ? intval($_POST['openbasedir']) : 0; $openbasedir = isset($_POST['openbasedir']) ? intval($_POST['openbasedir']) : 0;
if ((int)$settings['system']['mod_fcgid'] == 1 if ((int)Settings::Get('system.mod_fcgid') == 1
|| (int)$settings['phpfpm']['enabled'] == 1 || (int)Settings::Get('phpfpm.enabled') == 1
) { ) {
$phpsettingid = (int)$_POST['phpsettingid']; $phpsettingid = (int)$_POST['phpsettingid'];
$phpsettingid_check_stmt = Database::prepare(" $phpsettingid_check_stmt = Database::prepare("
@@ -1216,7 +1216,7 @@ if ($page == 'domains'
standard_error('phpsettingidwrong'); standard_error('phpsettingidwrong');
} }
if ((int)$settings['system']['mod_fcgid'] == 1) { if ((int)Settings::Get('system.mod_fcgid') == 1) {
$mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', ''));
$mod_fcgid_maxrequests = validate($_POST['mod_fcgid_maxrequests'], 'mod_fcgid_maxrequests', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_maxrequests = validate($_POST['mod_fcgid_maxrequests'], 'mod_fcgid_maxrequests', '/^[0-9]*$/', '', array('-1', ''));
} else { } else {
@@ -1261,7 +1261,7 @@ if ($page == 'domains'
} }
} }
if ($settings['system']['use_ssl'] == '1' if (Settings::Get('system.use_ssl') == '1'
&& isset($_POST['ssl_ipandport']) && isset($_POST['ssl_ipandport'])
) { ) {
$ssl = 1; // if ssl is set and != 0, it can only be 1 $ssl = 1; // if ssl is set and != 0, it can only be 1
@@ -1490,7 +1490,7 @@ if ($page == 'domains'
} }
if ($customerid != $result['customerid'] if ($customerid != $result['customerid']
&& $settings['panel']['allow_domain_change_customer'] == '1' && Settings::Get('panel.allow_domain_change_customer') == '1'
) { ) {
$upd_data = array('customerid' => $customerid, 'domainid' => $result['id']); $upd_data = array('customerid' => $customerid, 'domainid' => $result['id']);
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
@@ -1526,7 +1526,7 @@ if ($page == 'domains'
} }
if ($adminid != $result['adminid'] if ($adminid != $result['adminid']
&& $settings['panel']['allow_domain_change_admin'] == '1' && Settings::Get('panel.allow_domain_change_admin') == '1'
) { ) {
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
UPDATE `" . TABLE_PANEL_ADMINS . "` SET `domains_used` = `domains_used` + 1 WHERE `adminid` = :adminid UPDATE `" . TABLE_PANEL_ADMINS . "` SET `domains_used` = `domains_used` + 1 WHERE `adminid` = :adminid
@@ -1688,7 +1688,7 @@ if ($page == 'domains'
} else { } else {
if ($settings['panel']['allow_domain_change_customer'] == '1') { if (Settings::Get('panel.allow_domain_change_customer') == '1') {
$customers = ''; $customers = '';
$result_customers_stmt = Database::prepare(" $result_customers_stmt = Database::prepare("
SELECT `customerid`, `loginname`, `name`, `firstname`, `company` FROM `" . TABLE_PANEL_CUSTOMERS . "` SELECT `customerid`, `loginname`, `name`, `firstname`, `company` FROM `" . TABLE_PANEL_CUSTOMERS . "`
@@ -1725,7 +1725,7 @@ if ($page == 'domains'
} }
if ($userinfo['customers_see_all'] == '1') { if ($userinfo['customers_see_all'] == '1') {
if ($settings['panel']['allow_domain_change_admin'] == '1') { if (Settings::Get('panel.allow_domain_change_admin') == '1') {
$admins = ''; $admins = '';
$result_admins_stmt = Database::prepare(" $result_admins_stmt = Database::prepare("

View File

@@ -26,7 +26,7 @@ if ($action == 'logout') {
$params = array('adminid' => (int)$userinfo['adminid']); $params = array('adminid' => (int)$userinfo['adminid']);
if ($settings['session']['allow_multiple_login'] == '1') { if (Settings::Get('session.allow_multiple_login') == '1') {
$stmt = Database::prepare("DELETE FROM `" . TABLE_PANEL_SESSIONS . "` $stmt = Database::prepare("DELETE FROM `" . TABLE_PANEL_SESSIONS . "`
WHERE `userid` = :adminid WHERE `userid` = :adminid
AND `adminsession` = '1' AND `adminsession` = '1'
@@ -67,8 +67,9 @@ if ($page == 'overview') {
FROM `" . TABLE_PANEL_CUSTOMERS . "`" . ($userinfo['customers_see_all'] ? '' : " WHERE `adminid` = :adminid ")); FROM `" . TABLE_PANEL_CUSTOMERS . "`" . ($userinfo['customers_see_all'] ? '' : " WHERE `adminid` = :adminid "));
$overview = Database::pexecute_first($overview_stmt, array('adminid' => $userinfo['adminid'])); $overview = Database::pexecute_first($overview_stmt, array('adminid' => $userinfo['adminid']));
$overview['traffic_used'] = round($overview['traffic_used'] / (1024 * 1024), $settings['panel']['decimal_places']); $dec_places = Settings::Get('panel.decimal_places');
$overview['diskspace_used'] = round($overview['diskspace_used'] / 1024, $settings['panel']['decimal_places']); $overview['traffic_used'] = round($overview['traffic_used'] / (1024 * 1024), $dec_places);
$overview['diskspace_used'] = round($overview['diskspace_used'] / 1024, $dec_places);
$number_domains_stmt = Database::prepare(" $number_domains_stmt = Database::prepare("
SELECT COUNT(*) AS `number_domains` FROM `" . TABLE_PANEL_DOMAINS . "` SELECT COUNT(*) AS `number_domains` FROM `" . TABLE_PANEL_DOMAINS . "`
@@ -132,10 +133,11 @@ if ($page == 'overview') {
$isnewerversion = 0; $isnewerversion = 0;
} }
$userinfo['diskspace'] = round($userinfo['diskspace'] / 1024, $settings['panel']['decimal_places']); $dec_places = Settings::Get('panel.decimal_places');
$userinfo['diskspace_used'] = round($userinfo['diskspace_used'] / 1024, $settings['panel']['decimal_places']); $userinfo['diskspace'] = round($userinfo['diskspace'] / 1024, $dec_places);
$userinfo['traffic'] = round($userinfo['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']); $userinfo['diskspace_used'] = round($userinfo['diskspace_used'] / 1024, $dec_places);
$userinfo['traffic_used'] = round($userinfo['traffic_used'] / (1024 * 1024), $settings['panel']['decimal_places']); $userinfo['traffic'] = round($userinfo['traffic'] / (1024 * 1024), $dec_places);
$userinfo['traffic_used'] = round($userinfo['traffic_used'] / (1024 * 1024), $dec_places);
$userinfo = str_replace_array('-1', $lng['customer']['unlimited'], $userinfo, 'customers domains diskspace traffic mysqls emails email_accounts email_forwarders email_quota ftps tickets subdomains'); $userinfo = str_replace_array('-1', $lng['customer']['unlimited'], $userinfo, 'customers domains diskspace traffic mysqls emails email_accounts email_forwarders email_quota ftps tickets subdomains');
$cron_last_runs = getCronjobsLastRun(); $cron_last_runs = getCronjobsLastRun();
@@ -266,7 +268,7 @@ if ($page == 'overview') {
$language_options = ''; $language_options = '';
$default_lang = $settings['panel']['standardlanguage']; $default_lang = Settings::Get('panel.standardlanguage');
if ($userinfo['def_language'] != '') { if ($userinfo['def_language'] != '') {
$default_lang = $userinfo['def_language']; $default_lang = $userinfo['def_language'];
} }
@@ -312,7 +314,7 @@ if ($page == 'overview') {
$theme_options = ''; $theme_options = '';
$default_theme = $settings['panel']['default_theme']; $default_theme = Settings::Get('panel.default_theme');
if ($userinfo['theme'] != '') { if ($userinfo['theme'] != '') {
$default_theme = $userinfo['theme']; $default_theme = $userinfo['theme'];
} }
@@ -326,7 +328,7 @@ if ($page == 'overview') {
} }
} elseif ($page == 'send_error_report' } elseif ($page == 'send_error_report'
&& $settings['system']['allow_error_report_admin'] == '1' && Settings::Get('system.allow_error_report_admin') == '1'
) { ) {
// only show this if we really have an exception to report // only show this if we really have an exception to report

View File

@@ -37,7 +37,7 @@ if ($page == 'ipsandports'
'ip' => $lng['admin']['ipsandports']['ip'], 'ip' => $lng['admin']['ipsandports']['ip'],
'port' => $lng['admin']['ipsandports']['port'] 'port' => $lng['admin']['ipsandports']['port']
); );
$paging = new paging($userinfo, TABLE_PANEL_IPSANDPORTS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_IPSANDPORTS, $fields);
$ipsandports = ''; $ipsandports = '';
$result_stmt = Database::prepare("SELECT * FROM `" . TABLE_PANEL_IPSANDPORTS . "` " . $paging->getSqlWhere(false) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit()); $result_stmt = Database::prepare("SELECT * FROM `" . TABLE_PANEL_IPSANDPORTS . "` " . $paging->getSqlWhere(false) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
Database::pexecute($result_stmt); Database::pexecute($result_stmt);
@@ -79,7 +79,7 @@ if ($page == 'ipsandports'
$result_checkdomain = Database::pexecute_first($result_checkdomain_stmt, array('id' => $id)); $result_checkdomain = Database::pexecute_first($result_checkdomain_stmt, array('id' => $id));
if ($result_checkdomain['id'] == '') { if ($result_checkdomain['id'] == '') {
if ($result['id'] != $settings['system']['defaultip']) { if ($result['id'] != Settings::Get('system.defaultip')) {
$result_sameipotherport_stmt = Database::prepare(" $result_sameipotherport_stmt = Database::prepare("
SELECT `id` FROM `" . TABLE_PANEL_IPSANDPORTS . "` SELECT `id` FROM `" . TABLE_PANEL_IPSANDPORTS . "`
@@ -87,8 +87,8 @@ if ($page == 'ipsandports'
); );
$result_sameipotherport = Database::pexecute_first($result_sameipotherport_stmt, array('id' => $id, 'ip' => $result['ip'])); $result_sameipotherport = Database::pexecute_first($result_sameipotherport_stmt, array('id' => $id, 'ip' => $result['ip']));
if (($result['ip'] != $settings['system']['ipaddress']) if (($result['ip'] != Settings::Get('system.ipaddress'))
|| ($result['ip'] == $settings['system']['ipaddress'] || ($result['ip'] == Settings::Get('system.ipaddress')
&& $result_sameipotherport['id'] != '') && $result_sameipotherport['id'] != '')
) { ) {
$result_stmt = Database::prepare(" $result_stmt = Database::prepare("
@@ -152,7 +152,7 @@ if ($page == 'ipsandports'
$default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/'); $default_vhostconf_domain = validate(str_replace("\r\n", "\n", $_POST['default_vhostconf_domain']), 'default_vhostconf_domain', '/^[^\0]*$/');
$docroot = validate($_POST['docroot'], 'docroot'); $docroot = validate($_POST['docroot'], 'docroot');
if ((int)$settings['system']['use_ssl'] == 1) { if ((int)Settings::Get('system.use_ssl') == 1) {
$ssl = isset($_POST['ssl']) ? intval($_POST['ssl']) : 0; $ssl = isset($_POST['ssl']) ? intval($_POST['ssl']) : 0;
$ssl_cert_file = validate($_POST['ssl_cert_file'], 'ssl_cert_file'); $ssl_cert_file = validate($_POST['ssl_cert_file'], 'ssl_cert_file');
$ssl_key_file = validate($_POST['ssl_key_file'], 'ssl_key_file'); $ssl_key_file = validate($_POST['ssl_key_file'], 'ssl_key_file');
@@ -304,7 +304,7 @@ if ($page == 'ipsandports'
); );
$result_sameipotherport = Database::pexecute_first($result_sameipotherport_stmt, array('ip' => $ip, 'id' => $id)); $result_sameipotherport = Database::pexecute_first($result_sameipotherport_stmt, array('ip' => $ip, 'id' => $id));
if ((int)$settings['system']['use_ssl'] == 1 if ((int)Settings::Get('system.use_ssl') == 1
&& isset($_POST['ssl']) && isset($_POST['ssl'])
&& $_POST['ssl'] != 0 && $_POST['ssl'] != 0
) { ) {
@@ -364,7 +364,7 @@ if ($page == 'ipsandports'
} }
if ($result['ip'] != $ip if ($result['ip'] != $ip
&& $result['ip'] == $settings['system']['ipaddress'] && $result['ip'] == Settings::Get('system.ipaddress')
&& $result_sameipotherport['id'] == '' && $result_sameipotherport['id'] == ''
) { ) {
standard_error('cantchangesystemip'); standard_error('cantchangesystemip');

View File

@@ -30,9 +30,7 @@ if ($page == 'log'
'user' => $lng['logger']['user'], 'user' => $lng['logger']['user'],
'text' => $lng['logger']['action'] 'text' => $lng['logger']['action']
); );
$paging = new paging($userinfo, TABLE_PANEL_LOG, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_LOG, $fields, null, null, 0, 'desc');
$paging->sortfield = 'date';
$paging->sortorder = 'desc';
$result_stmt = Database::query(' $result_stmt = Database::query('
SELECT * FROM `' . TABLE_PANEL_LOG . '` ' . $paging->getSqlWhere(false) . ' ' . $paging->getSqlOrderBy() . ' ' . $paging->getSqlLimit() SELECT * FROM `' . TABLE_PANEL_LOG . '` ' . $paging->getSqlWhere(false) . ' ' . $paging->getSqlOrderBy() . ' ' . $paging->getSqlLimit()
); );

View File

@@ -48,7 +48,7 @@ if ($page == 'overview') {
$query_params['adminid'] = $userinfo['adminid']; $query_params['adminid'] = $userinfo['adminid'];
} }
if ((int)$settings['panel']['phpconfigs_hidestdsubdomain'] == 1) { if ((int)Settings::Get('panel.phpconfigs_hidestdsubdomain') == 1) {
$ssdids_res = Database::query(" $ssdids_res = Database::query("
SELECT DISTINCT `standardsubdomain` FROM `".TABLE_PANEL_CUSTOMERS."` SELECT DISTINCT `standardsubdomain` FROM `".TABLE_PANEL_CUSTOMERS."`
WHERE `standardsubdomain` > 0 ORDER BY `standardsubdomain` ASC;" WHERE `standardsubdomain` > 0 ORDER BY `standardsubdomain` ASC;"
@@ -91,7 +91,7 @@ if ($page == 'overview') {
$description = validate($_POST['description'], 'description'); $description = validate($_POST['description'], 'description');
$phpsettings = validate(str_replace("\r\n", "\n", $_POST['phpsettings']), 'phpsettings', '/^[^\0]*$/'); $phpsettings = validate(str_replace("\r\n", "\n", $_POST['phpsettings']), 'phpsettings', '/^[^\0]*$/');
if ($settings['system']['mod_fcgid'] == 1) { if (Settings::Get('system.mod_fcgid') == 1) {
$binary = makeCorrectFile(validate($_POST['binary'], 'binary')); $binary = makeCorrectFile(validate($_POST['binary'], 'binary'));
$file_extensions = validate($_POST['file_extensions'], 'file_extensions', '/^[a-zA-Z0-9\s]*$/'); $file_extensions = validate($_POST['file_extensions'], 'file_extensions', '/^[a-zA-Z0-9\s]*$/');
$mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', ''));
@@ -101,7 +101,7 @@ if ($page == 'overview') {
$fpm_reqtermtimeout = 0; $fpm_reqtermtimeout = 0;
$fpm_reqslowtimeout = 0; $fpm_reqslowtimeout = 0;
} }
elseif ($settings['phpfpm']['enabled'] == 1) { elseif (Settings::Get('phpfpm.enabled') == 1) {
$fpm_enableslowlog = isset($_POST['phpfpm_enable_slowlog']) ? (int)$_POST['phpfpm_enable_slowlog'] : 0; $fpm_enableslowlog = isset($_POST['phpfpm_enable_slowlog']) ? (int)$_POST['phpfpm_enable_slowlog'] : 0;
$fpm_reqtermtimeout = validate($_POST['phpfpm_reqtermtimeout'], 'phpfpm_reqtermtimeout', '/^([0-9]+)(|s|m|h|d)$/'); $fpm_reqtermtimeout = validate($_POST['phpfpm_reqtermtimeout'], 'phpfpm_reqtermtimeout', '/^([0-9]+)(|s|m|h|d)$/');
$fpm_reqslowtimeout = validate($_POST['phpfpm_reqslowtimeout'], 'phpfpm_reqslowtimeout', '/^([0-9]+)(|s|m|h|d)$/'); $fpm_reqslowtimeout = validate($_POST['phpfpm_reqslowtimeout'], 'phpfpm_reqslowtimeout', '/^([0-9]+)(|s|m|h|d)$/');
@@ -225,7 +225,7 @@ if ($page == 'overview') {
$description = validate($_POST['description'], 'description'); $description = validate($_POST['description'], 'description');
$phpsettings = validate(str_replace("\r\n", "\n", $_POST['phpsettings']), 'phpsettings', '/^[^\0]*$/'); $phpsettings = validate(str_replace("\r\n", "\n", $_POST['phpsettings']), 'phpsettings', '/^[^\0]*$/');
if ($settings['system']['mod_fcgid'] == 1) { if (Settings::Get('system.mod_fcgid') == 1) {
$binary = makeCorrectFile(validate($_POST['binary'], 'binary')); $binary = makeCorrectFile(validate($_POST['binary'], 'binary'));
$file_extensions = validate($_POST['file_extensions'], 'file_extensions', '/^[a-zA-Z0-9\s]*$/'); $file_extensions = validate($_POST['file_extensions'], 'file_extensions', '/^[a-zA-Z0-9\s]*$/');
$mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', ''));
@@ -235,7 +235,7 @@ if ($page == 'overview') {
$fpm_reqtermtimeout = 0; $fpm_reqtermtimeout = 0;
$fpm_reqslowtimeout = 0; $fpm_reqslowtimeout = 0;
} }
elseif ($settings['phpfpm']['enabled'] == 1) { elseif (Settings::Get('phpfpm.enabled') == 1) {
$fpm_enableslowlog = isset($_POST['phpfpm_enable_slowlog']) ? (int)$_POST['phpfpm_enable_slowlog'] : 0; $fpm_enableslowlog = isset($_POST['phpfpm_enable_slowlog']) ? (int)$_POST['phpfpm_enable_slowlog'] : 0;
$fpm_reqtermtimeout = validate($_POST['phpfpm_reqtermtimeout'], 'phpfpm_reqtermtimeout', '/^([0-9]+)(|s|m|h|d)$/'); $fpm_reqtermtimeout = validate($_POST['phpfpm_reqtermtimeout'], 'phpfpm_reqtermtimeout', '/^([0-9]+)(|s|m|h|d)$/');
$fpm_reqslowtimeout = validate($_POST['phpfpm_reqslowtimeout'], 'phpfpm_reqslowtimeout', '/^([0-9]+)(|s|m|h|d)$/'); $fpm_reqslowtimeout = validate($_POST['phpfpm_reqslowtimeout'], 'phpfpm_reqslowtimeout', '/^([0-9]+)(|s|m|h|d)$/');

View File

@@ -245,7 +245,7 @@ if ($page == 'overview' && $userinfo['change_serversettings'] == '1') {
"); ");
while ($array = $result_stmt->fetch(PDO::FETCH_ASSOC)) { while ($array = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
$difference = $settings['system']['mail_quota'] - $array['quota']; $difference = Settings::Get('system.mail_quota') - $array['quota'];
Database::pexecute($upd_stmt, array('diff' => $difference, 'customerid' => $customerid)); Database::pexecute($upd_stmt, array('diff' => $difference, 'customerid' => $customerid));
} }
} }
@@ -254,11 +254,11 @@ if ($page == 'overview' && $userinfo['change_serversettings'] == '1') {
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
UPDATE `" . TABLE_MAIL_USERS . "` SET `quota` = :quota UPDATE `" . TABLE_MAIL_USERS . "` SET `quota` = :quota
"); ");
Database::pexecute($upd_stmt, array('quota' => $settings['system']['mail_quota'])); Database::pexecute($upd_stmt, array('quota' => Settings::Get('system.mail_quota')));
// Update the Customer, if the used quota is bigger than the allowed quota // Update the Customer, if the used quota is bigger than the allowed quota
Database::query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `email_quota` = `email_quota_used` WHERE `email_quota` < `email_quota_used`"); Database::query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `email_quota` = `email_quota_used` WHERE `email_quota` < `email_quota_used`");
$log->logAction(ADM_ACTION, LOG_WARNING, 'enforcing mailquota to all customers: ' . $settings['system']['mail_quota'] . ' MB'); $log->logAction(ADM_ACTION, LOG_WARNING, 'enforcing mailquota to all customers: ' . Settings::Get('system.mail_quota') . ' MB');
redirectTo('admin_settings.php', array('s' => $s)); redirectTo('admin_settings.php', array('s' => $s));
} else { } else {

View File

@@ -45,14 +45,14 @@ $available_templates = array(
); );
// only show templates of features that are enabled #1191 // only show templates of features that are enabled #1191
if ((int)$settings['system']['report_enable'] == 1) { if ((int)Settings::Get('system.report_enable') == 1) {
array_push($available_templates, array_push($available_templates,
'trafficmaxpercent', 'trafficmaxpercent',
'diskmaxpercent' 'diskmaxpercent'
); );
} }
if ((int)$settings['ticket']['enabled'] == 1) { if ((int)Settings::Get('ticket.enabled') == 1) {
array_push($available_templates, array_push($available_templates,
'new_ticket_by_customer', 'new_ticket_by_customer',
'new_ticket_for_customer', 'new_ticket_for_customer',
@@ -70,7 +70,7 @@ if ($action == '') {
//email templates //email templates
$log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_templates"); $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_templates");
if ($settings['panel']['sendalternativemail'] == 1) { if (Settings::Get('panel.sendalternativemail') == 1) {
$available_templates[] = 'pop_success_alternative'; $available_templates[] = 'pop_success_alternative';
} }
@@ -206,7 +206,7 @@ if ($action == '') {
} elseif($action == 'add') { } elseif($action == 'add') {
if ($settings['panel']['sendalternativemail'] == 1) { if (Settings::Get('panel.sendalternativemail') == 1) {
$available_templates[] = 'pop_success_alternative'; $available_templates[] = 'pop_success_alternative';
} }

View File

@@ -67,7 +67,7 @@ if ($page == 'tickets'
'subject' => $lng['ticket']['subject'], 'subject' => $lng['ticket']['subject'],
'lastreplier' => $lng['ticket']['lastreplier'] 'lastreplier' => $lng['ticket']['lastreplier']
); );
$paging = new paging($userinfo, TABLE_PANEL_TICKETS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_TICKETS, $fields, null, null, 1, 'desc');
$result_stmt = Database::prepare(" $result_stmt = Database::prepare("
SELECT `main`.`id`, `main`.`customerid`, ( SELECT `main`.`id`, `main`.`customerid`, (
SELECT COUNT(`sub`.`id`) SELECT COUNT(`sub`.`id`)
@@ -179,6 +179,7 @@ if ($page == 'tickets'
if (isset($_POST['send']) if (isset($_POST['send'])
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
// FIXME ticket -> settings
$newticket = ticket::getInstanceOf($userinfo, $settings, -1); $newticket = ticket::getInstanceOf($userinfo, $settings, -1);
$newticket->Set('subject', validate($_POST['subject'], 'subject'), true, false); $newticket->Set('subject', validate($_POST['subject'], 'subject'), true, false);
$newticket->Set('priority', validate($_POST['priority'], 'priority'), true, false); $newticket->Set('priority', validate($_POST['priority'], 'priority'), true, false);
@@ -246,9 +247,10 @@ if ($page == 'tickets'
$customers.= makeoption(getCorrectFullUserDetails($row_customer) . ' (' . $row_customer['loginname'] . ')', $row_customer['customerid']); $customers.= makeoption(getCorrectFullUserDetails($row_customer) . ' (' . $row_customer['loginname'] . ')', $row_customer['customerid']);
} }
$priorities = makeoption($lng['ticket']['high'], '1', $settings['ticket']['default_priority']); $def_prio = Settings::Get('ticket.default_priority');
$priorities.= makeoption($lng['ticket']['normal'], '2', $settings['ticket']['default_priority']); $priorities = makeoption($lng['ticket']['high'], '1', $def_prio);
$priorities.= makeoption($lng['ticket']['low'], '3', $settings['ticket']['default_priority']); $priorities.= makeoption($lng['ticket']['normal'], '2', $def_prio);
$priorities.= makeoption($lng['ticket']['low'], '3', $def_prio);
$ticket_new_data = include_once dirname(__FILE__).'/lib/formfields/admin/tickets/formfield.ticket_new.php'; $ticket_new_data = include_once dirname(__FILE__).'/lib/formfields/admin/tickets/formfield.ticket_new.php';
$ticket_new_form = htmlform::genHTMLForm($ticket_new_data); $ticket_new_form = htmlform::genHTMLForm($ticket_new_data);
@@ -269,7 +271,7 @@ if ($page == 'tickets'
if (isset($_POST['send']) if (isset($_POST['send'])
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
// FIXME ticket -> settings
$replyticket = ticket::getInstanceOf($userinfo, $settings, -1); $replyticket = ticket::getInstanceOf($userinfo, $settings, -1);
$replyticket->Set('subject', validate($_POST['subject'], 'subject'), true, false); $replyticket->Set('subject', validate($_POST['subject'], 'subject'), true, false);
$replyticket->Set('priority', validate($_POST['priority'], 'priority'), true, false); $replyticket->Set('priority', validate($_POST['priority'], 'priority'), true, false);
@@ -279,6 +281,7 @@ if ($page == 'tickets'
standard_error(array('stringisempty', 'mymessage')); standard_error(array('stringisempty', 'mymessage'));
} else { } else {
$now = time(); $now = time();
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$replyticket->Set('customer', $mainticket->Get('customer'), true, true); $replyticket->Set('customer', $mainticket->Get('customer'), true, true);
$replyticket->Set('lastchange', $now, true, true); $replyticket->Set('lastchange', $now, true, true);
@@ -305,6 +308,7 @@ if ($page == 'tickets'
} else { } else {
$ticket_replies = ''; $ticket_replies = '';
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$dt = date("d.m.Y H:i\h", $mainticket->Get('dt')); $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'));
@@ -348,7 +352,7 @@ if ($page == 'tickets'
$numrows_andere = Database::num_rows(); $numrows_andere = Database::num_rows();
while ($row2 = $andere_stmt->fetch(PDO::FETCH_ASSOC)) { while ($row2 = $andere_stmt->fetch(PDO::FETCH_ASSOC)) {
// FIXME ticket -> settings
$subticket = ticket::getInstanceOf($userinfo, $settings, (int)$row2['id']); $subticket = ticket::getInstanceOf($userinfo, $settings, (int)$row2['id']);
$lastchange = date("d.m.Y H:i\h", $subticket->Get('lastchange')); $lastchange = date("d.m.Y H:i\h", $subticket->Get('lastchange'));
@@ -396,6 +400,7 @@ if ($page == 'tickets'
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
$now = time(); $now = time();
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$mainticket->Set('lastchange', $now, true, true); $mainticket->Set('lastchange', $now, true, true);
$mainticket->Set('lastreplier', '1', true, true); $mainticket->Set('lastreplier', '1', true, true);
@@ -404,6 +409,7 @@ if ($page == 'tickets'
$log->logAction(ADM_ACTION, LOG_NOTICE, "closed ticket '" . $mainticket->Get('subject') . "'"); $log->logAction(ADM_ACTION, LOG_NOTICE, "closed ticket '" . $mainticket->Get('subject') . "'");
redirectTo($filename, array('page' => $page, 's' => $s)); redirectTo($filename, array('page' => $page, 's' => $s));
} else { } else {
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
ask_yesno('ticket_reallyclose', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject')); ask_yesno('ticket_reallyclose', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject'));
} }
@@ -412,6 +418,7 @@ if ($page == 'tickets'
&& $id != 0 && $id != 0
) { ) {
$now = time(); $now = time();
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$mainticket->Set('lastchange', $now, true, true); $mainticket->Set('lastchange', $now, true, true);
$mainticket->Set('lastreplier', '1', true, true); $mainticket->Set('lastreplier', '1', true, true);
@@ -427,6 +434,7 @@ if ($page == 'tickets'
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
$now = time(); $now = time();
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$mainticket->Set('lastchange', $now, true, true); $mainticket->Set('lastchange', $now, true, true);
$mainticket->Set('lastreplier', '1', true, true); $mainticket->Set('lastreplier', '1', true, true);
@@ -436,6 +444,7 @@ if ($page == 'tickets'
$log->logAction(ADM_ACTION, LOG_NOTICE, "archived ticket '" . $mainticket->Get('subject') . "'"); $log->logAction(ADM_ACTION, LOG_NOTICE, "archived ticket '" . $mainticket->Get('subject') . "'");
redirectTo($filename, array('page' => $page, 's' => $s)); redirectTo($filename, array('page' => $page, 's' => $s));
} else { } else {
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
ask_yesno('ticket_reallyarchive', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject')); ask_yesno('ticket_reallyarchive', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject'));
} }
@@ -446,11 +455,13 @@ if ($page == 'tickets'
if (isset($_POST['send']) if (isset($_POST['send'])
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$log->logAction(ADM_ACTION, LOG_INFO, "deleted ticket '" . $mainticket->Get('subject') . "'"); $log->logAction(ADM_ACTION, LOG_INFO, "deleted ticket '" . $mainticket->Get('subject') . "'");
$mainticket->Delete(); $mainticket->Delete();
redirectTo($filename, array('page' => $page, 's' => $s)); redirectTo($filename, array('page' => $page, 's' => $s));
} else { } else {
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
ask_yesno('ticket_reallydelete', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject')); ask_yesno('ticket_reallydelete', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject'));
} }
@@ -471,7 +482,7 @@ if ($page == 'tickets'
if ($userinfo['tickets_see_all'] != '1') { if ($userinfo['tickets_see_all'] != '1') {
$where = " `main`.`adminid` = :adminid"; $where = " `main`.`adminid` = :adminid";
} }
$paging = new paging($userinfo, TABLE_PANEL_TICKET_CATS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_TICKET_CATS, $fields);
$result_stmt = Database::prepare(" $result_stmt = Database::prepare("
SELECT `main`.`id`, `main`.`name`, `main`.`logicalorder`, ( SELECT `main`.`id`, `main`.`name`, `main`.`logicalorder`, (
SELECT COUNT(`sub`.`id`) FROM `" . TABLE_PANEL_TICKETS . "` `sub` SELECT COUNT(`sub`.`id`) FROM `" . TABLE_PANEL_TICKETS . "` `sub`
@@ -636,12 +647,10 @@ if ($page == 'tickets'
$fields = array( $fields = array(
'lastchange' => $lng['ticket']['lastchange'], 'lastchange' => $lng['ticket']['lastchange'],
'ticket_answers' => $lng['ticket']['ticket_answers'],
'subject' => $lng['ticket']['subject'], 'subject' => $lng['ticket']['subject'],
'lastreplier' => $lng['ticket']['lastreplier'], 'lastreplier' => $lng['ticket']['lastreplier']
'priority' => $lng['ticket']['priority']
); );
$paging = new paging($userinfo, TABLE_PANEL_TICKETS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, TABLE_PANEL_TICKETS, $fields);
$result_stmt = Database::prepare($query . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit()); $result_stmt = Database::prepare($query . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
Database::pexecute($result_stmt, $archive_params); Database::pexecute($result_stmt, $archive_params);
$sortcode = $paging->getHtmlSortCode($lng); $sortcode = $paging->getHtmlSortCode($lng);
@@ -795,6 +804,7 @@ if ($page == 'tickets'
) { ) {
$log->logAction(ADM_ACTION, LOG_NOTICE, "viewed archived-ticket #" . $id); $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed archived-ticket #" . $id);
$ticket_replies = ''; $ticket_replies = '';
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $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')); $dt = date("d.m.Y H:i\h", $mainticket->Get('dt'));
@@ -845,7 +855,7 @@ if ($page == 'tickets'
$numrows_andere = Database::num_rows(); $numrows_andere = Database::num_rows();
while ($row2 = $andere_stmt->fetch(PDO::FETCH_ASSOC)) { while ($row2 = $andere_stmt->fetch(PDO::FETCH_ASSOC)) {
// FIXME ticket -> settings
$subticket = ticket::getInstanceOf($userinfo, $settings, (int)$row2['id']); $subticket = ticket::getInstanceOf($userinfo, $settings, (int)$row2['id']);
$lastchange = date("d.m.Y H:i\h", $subticket->Get('lastchange')); $lastchange = date("d.m.Y H:i\h", $subticket->Get('lastchange'));
@@ -897,11 +907,13 @@ if ($page == 'tickets'
if (isset($_POST['send']) if (isset($_POST['send'])
&& $_POST['send'] == 'send' && $_POST['send'] == 'send'
) { ) {
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
$log->logAction(ADM_ACTION, LOG_INFO, "deleted archived ticket '" . $mainticket->Get('subject') . "'"); $log->logAction(ADM_ACTION, LOG_INFO, "deleted archived ticket '" . $mainticket->Get('subject') . "'");
$mainticket->Delete(); $mainticket->Delete();
redirectTo($filename, array('page' => $page, 's' => $s)); redirectTo($filename, array('page' => $page, 's' => $s));
} else { } else {
// FIXME ticket -> settings
$mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id); $mainticket = ticket::getInstanceOf($userinfo, $settings, (int)$id);
ask_yesno('ticket_reallydelete', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject')); ask_yesno('ticket_reallydelete', $filename, array('id' => $id, 'page' => $page, 'action' => $action), $mainticket->Get('subject'));
} }

View File

@@ -122,7 +122,7 @@ if ($page == 'overview' || $page == 'customers') {
Database::pexecute($traffic_list_stmt, array('year' => (date("Y")-$years), 'id' => $customer_name['customerid'])); Database::pexecute($traffic_list_stmt, array('year' => (date("Y")-$years), 'id' => $customer_name['customerid']));
while ($traffic_month = $traffic_list_stmt->fetch(PDO::FETCH_ASSOC)) { while ($traffic_month = $traffic_list_stmt->fetch(PDO::FETCH_ASSOC)) {
$virtual_host[$months[(int)$traffic_month['month']]] = size_readable($traffic_month['traffic'], 'GiB', 'bi', '%01.'.(int)$settings['panel']['decimal_places'].'f %s'); $virtual_host[$months[(int)$traffic_month['month']]] = size_readable($traffic_month['traffic'], 'GiB', 'bi', '%01.'.(int)Settings::Get('panel.decimal_places').'f %s');
$totals[$months[(int)$traffic_month['month']]] += $traffic_month['traffic']; $totals[$months[(int)$traffic_month['month']]] += $traffic_month['traffic'];
} }
eval("\$domain_list .= sprintf(\"%s\", \"" . getTemplate("traffic/index_table_row") . "\");"); eval("\$domain_list .= sprintf(\"%s\", \"" . getTemplate("traffic/index_table_row") . "\");");
@@ -132,7 +132,7 @@ if ($page == 'overview' || $page == 'customers') {
'name' => $lng['traffic']['months']['total'], 'name' => $lng['traffic']['months']['total'],
); );
foreach ($totals as $month => $bytes) { foreach ($totals as $month => $bytes) {
$virtual_host[$month] = ($bytes == 0 ? '-' : size_readable($bytes, 'GiB', 'bi', '%01.'.(int)$settings['panel']['decimal_places'].'f %s')); $virtual_host[$month] = ($bytes == 0 ? '-' : size_readable($bytes, 'GiB', 'bi', '%01.'.(int)Settings::Get('panel.decimal_places').'f %s'));
} }
$customerview = 0; $customerview = 0;
eval("\$total_list = sprintf(\"%s\", \"" . getTemplate("traffic/index_table_row") . "\");"); eval("\$total_list = sprintf(\"%s\", \"" . getTemplate("traffic/index_table_row") . "\");");

View File

@@ -27,20 +27,13 @@ if ($page == 'overview') {
* so we have to set them both to run a correct upgrade * so we have to set them both to run a correct upgrade
*/ */
if (!isFroxlor()) { if (!isFroxlor()) {
if (!isset($settings['panel']['version']) if (Settings::Get('panel.version') == null
|| $settings['panel']['version'] == '' || Settings::Get('panel.version') == ''
) { ) {
$settings['panel']['version'] = '1.4.2.1'; Settings::Set('panel.version', '1.4.2.1');
$stmt = Database::prepare("
INSERT INTO `" . TABLE_PANEL_SETTINGS . "` SET
`settinggroup` = 'panel',
`varname` = 'version',
`value` = :version"
);
Database::pexecute($stmt, array('version' => $settings['panel']['version']));
} }
if (!isset($settings['system']['dbversion']) if (Settings::Get('system.dbversion') == null
|| $settings['system']['dbversion'] == '' || Settings::Get('system.dbversion') == ''
) { ) {
/** /**
* for syscp-stable (1.4.2.1) this value has to be 0 * for syscp-stable (1.4.2.1) this value has to be 0
@@ -54,9 +47,9 @@ if ($page == 'overview') {
$result = $result_stmt->fetch(PDO::FETCH_ASSOC); $result = $result_stmt->fetch(PDO::FETCH_ASSOC);
if (isset($result['value'])) { if (isset($result['value'])) {
$settings['system']['dbversion'] = (int)$result['value']; Settings::Set('system.dbversion', (int)$result['value'], false);
} else { } else {
$settings['system']['dbversion'] = 0; Settings::Set('system.dbversion', 0, false);
} }
} }
} }
@@ -91,7 +84,7 @@ if ($page == 'overview') {
} }
if (!$successful_update) { if (!$successful_update) {
$current_version = $settings['panel']['version']; $current_version = Settings::Get('panel.version');
$new_version = $version; $new_version = $version;
$ui_text = $lng['update']['update_information']['part_a']; $ui_text = $lng['update']['update_information']['part_a'];

View File

@@ -32,12 +32,6 @@
*/ */
class DbManager { class DbManager {
/**
* Settings array
* @var array
*/
private $_settings = null;
/** /**
* FroxlorLogger object * FroxlorLogger object
* @var object * @var object
@@ -53,11 +47,9 @@ class DbManager {
/** /**
* main constructor * main constructor
* *
* @param array $settings
* @param FroxlorLogger $log * @param FroxlorLogger $log
*/ */
public function __construct($settings, &$log = null) { public function __construct(&$log = null) {
$this->_settings = $settings;
$this->_log = $log; $this->_log = $log;
$this->_setManager(); $this->_setManager();
} }
@@ -79,7 +71,7 @@ class DbManager {
Database::needRoot(true); Database::needRoot(true);
// check whether we shall create a random username // check whether we shall create a random username
if (strtoupper($this->_settings['customer']['mysqlprefix']) == 'RANDOM') { if (strtoupper(Settings::Get('customer.mysqlprefix')) == 'RANDOM') {
// get all usernames from db-manager // get all usernames from db-manager
$allsqlusers = $this->getManager()->getAllSqlUsers(); $allsqlusers = $this->getManager()->getAllSqlUsers();
// generate random username // generate random username
@@ -89,7 +81,7 @@ class DbManager {
$username = $loginname . '-' . substr(md5(uniqid(microtime(), 1)), 20, 3); $username = $loginname . '-' . substr(md5(uniqid(microtime(), 1)), 20, 3);
} }
} else { } else {
$username = $loginname . $this->_settings['customer']['mysqlprefix'] . (intval($last_accnumber) + 1); $username = $loginname . Settings::Get('customer.mysqlprefix') . (intval($last_accnumber) + 1);
} }
// now create the database itself // now create the database itself
@@ -97,7 +89,7 @@ class DbManager {
$this->_log->logAction(USR_ACTION, LOG_INFO, "created database '" . $username . "'"); $this->_log->logAction(USR_ACTION, LOG_INFO, "created database '" . $username . "'");
// and give permission to the user on every access-host we have // and give permission to the user on every access-host we have
foreach (array_map('trim', explode(',', $this->_settings['system']['mysql_access_host'])) as $mysql_access_host) { foreach (array_map('trim', explode(',', Settings::Get('system.mysql_access_host'))) as $mysql_access_host) {
$this->getManager()->grantPrivilegesTo($username, $password, $mysql_access_host); $this->getManager()->grantPrivilegesTo($username, $password, $mysql_access_host);
$this->_log->logAction(USR_ACTION, LOG_NOTICE, "grant all privileges for '" . $username . "'@'" . $mysql_access_host . "'"); $this->_log->logAction(USR_ACTION, LOG_NOTICE, "grant all privileges for '" . $username . "'@'" . $mysql_access_host . "'");
} }
@@ -125,6 +117,6 @@ class DbManager {
*/ */
private function _setManager() { private function _setManager() {
// TODO read different dbms from settings later // TODO read different dbms from settings later
$this->_manager = new DbManagerMySQL($this->_settings, $this->_log); $this->_manager = new DbManagerMySQL($this->_log);
} }
} }

View File

@@ -32,12 +32,6 @@
*/ */
class DbManagerMySQL { class DbManagerMySQL {
/**
* Settings array
* @var array
*/
private $_settings = null;
/** /**
* FroxlorLogger object * FroxlorLogger object
* @var object * @var object
@@ -47,11 +41,9 @@ class DbManagerMySQL {
/** /**
* main constructor * main constructor
* *
* @param array $settings
* @param FroxlorLogger $log * @param FroxlorLogger $log
*/ */
public function __construct($settings, &$log = null) { public function __construct(&$log = null) {
$this->_settings = $settings;
$this->_log = $log; $this->_log = $log;
} }

View File

@@ -27,67 +27,67 @@ class paging {
* Userinfo * Userinfo
* @var array * @var array
*/ */
var $userinfo = array(); private $userinfo = array();
/** /**
* MySQL-Table * MySQL-Table
* @var string * @var string
*/ */
var $table = ''; private $table = '';
/** /**
* Fields with description which should be selectable * Fields with description which should be selectable
* @var array * @var array
*/ */
var $fields = array(); private $fields = array();
/** /**
* Entries per page * Entries per page
* @var int * @var int
*/ */
var $entriesperpage = 0; private $entriesperpage = 0;
/** /**
* Number of entries of table * Number of entries of table
* @var int * @var int
*/ */
var $entries = 0; private $entries = 0;
/** /**
* Sortorder, asc or desc * Sortorder, asc or desc
* @var string * @var string
*/ */
var $sortorder = 'asc'; public $sortorder = 'asc';
/** /**
* Sortfield * Sortfield
* @var string * @var string
*/ */
var $sortfield = ''; public $sortfield = '';
/** /**
* Searchfield * Searchfield
* @var string * @var string
*/ */
var $searchfield = ''; private $searchfield = '';
/** /**
* Searchtext * Searchtext
* @var string * @var string
*/ */
var $searchtext = ''; private $searchtext = '';
/** /**
* Pagenumber * Pagenumber
* @var int * @var int
*/ */
var $pageno = 0; private $pageno = 0;
/** /**
* Switch natsorting on/off * Switch natsorting on/off
* @var bool * @var bool
*/ */
var $natSorting = false; private $natSorting = false;
/** /**
* Class constructor. Loads settings from request or from userdata and saves them to session. * Class constructor. Loads settings from request or from userdata and saves them to session.
@@ -95,10 +95,19 @@ class paging {
* @param array userinfo * @param array userinfo
* @param string Name of Table * @param string Name of Table
* @param array Fields, in format array( 'fieldname_in_mysql' => 'field_caption' ) * @param array Fields, in format array( 'fieldname_in_mysql' => 'field_caption' )
* @param int entries per page * @param int *deprecated* entries per page
* @param bool Switch natsorting on/off (global, affects all calls of sort) * @param bool *deprecated* Switch natsorting on/off (global, affects all calls of sort)
* @param int $default_field default sorting-field-index
* @param string $default_order default sorting order 'asc' or 'desc'
*
*/ */
function paging($userinfo, $table, $fields, $entriesperpage, $natSorting = false) { public function __construct($userinfo, $table, $fields, $entriesperpage = 0, $natSorting = false, $default_field = 0, $default_order = 'asc') {
// entries per page and natsorting-flag are not
// passed as parameter anymore, because these are
// from the settings anyway
$entriesperpage = Settings::Get('panel.paging');
$natSorting = Settings::Get('panel.natsorting');
$this->userinfo = $userinfo; $this->userinfo = $userinfo;
@@ -129,7 +138,7 @@ class paging {
$this->sortorder = strtolower($this->userinfo['lastpaging']['sortorder']); $this->sortorder = strtolower($this->userinfo['lastpaging']['sortorder']);
} else { } else {
$this->sortorder = 'asc'; $this->sortorder = $default_order;
} }
} }
@@ -147,7 +156,7 @@ class paging {
$this->sortfield = $this->userinfo['lastpaging']['sortfield']; $this->sortfield = $this->userinfo['lastpaging']['sortfield'];
} else { } else {
$fieldnames = array_keys($fields); $fieldnames = array_keys($fields);
$this->sortfield = $fieldnames[0]; $this->sortfield = $fieldnames[$default_field];
} }
} }
@@ -228,7 +237,7 @@ class paging {
* *
* @param int entries * @param int entries
*/ */
function setEntries($entries) { public function setEntries($entries) {
$this->entries = $entries; $this->entries = $entries;
@@ -245,7 +254,7 @@ class paging {
* @param int number of row * @param int number of row
* @return bool to display or not to display, that's the question * @return bool to display or not to display, that's the question
*/ */
function checkDisplay($count) { public function checkDisplay($count) {
$begin = (intval($this->pageno) - 1) * intval($this->entriesperpage); $begin = (intval($this->pageno) - 1) * intval($this->entriesperpage);
$end = (intval($this->pageno) * intval($this->entriesperpage)); $end = (intval($this->pageno) * intval($this->entriesperpage));
return (($count >= $begin && $count < $end) || $this->entriesperpage == 0); return (($count >= $begin && $count < $end) || $this->entriesperpage == 0);
@@ -257,7 +266,7 @@ class paging {
* @param bool should returned condition code start with WHERE (false) or AND (true)? * @param bool should returned condition code start with WHERE (false) or AND (true)?
* @return string the condition code * @return string the condition code
*/ */
function getSqlWhere($append = false) { public function getSqlWhere($append = false) {
if ($this->searchtext != '') { if ($this->searchtext != '') {
if ($append == true) { if ($append == true) {
$condition = ' AND '; $condition = ' AND ';
@@ -326,7 +335,7 @@ class paging {
* @param bool Switch natsorting on/off (local, affects just this call) * @param bool Switch natsorting on/off (local, affects just this call)
* @return string the "order by"-code * @return string the "order by"-code
*/ */
function getSqlOrderBy($natSorting = null) { public function getSqlOrderBy($natSorting = null) {
$sortfield = explode('.', $this->sortfield); $sortfield = explode('.', $this->sortfield);
foreach ($sortfield as $id => $field) { foreach ($sortfield as $id => $field) {
@@ -366,7 +375,7 @@ class paging {
* *
* @return string always empty * @return string always empty
*/ */
function getSqlLimit() { public function getSqlLimit() {
/** /**
* currently not in use * currently not in use
*/ */
@@ -379,7 +388,7 @@ class paging {
* @param array Language array * @param array Language array
* @return string the html sortcode * @return string the html sortcode
*/ */
function getHtmlSortCode($lng, $break = false) { public function getHtmlSortCode($lng, $break = false) {
$sortcode = ''; $sortcode = '';
$fieldoptions = ''; $fieldoptions = '';
@@ -405,7 +414,7 @@ class paging {
* @param string If set, only this field will be returned * @param string If set, only this field will be returned
* @return mixed An array or a string (if field is set) of html code of arrows * @return mixed An array or a string (if field is set) of html code of arrows
*/ */
function getHtmlArrowCode($baseurl, $field = '') { public function getHtmlArrowCode($baseurl, $field = '') {
global $theme; global $theme;
@@ -433,7 +442,7 @@ class paging {
* @param array Language array * @param array Language array
* @return string the html searchcode * @return string the html searchcode
*/ */
function getHtmlSearchCode($lng) { public function getHtmlSearchCode($lng) {
$searchcode = ''; $searchcode = '';
$fieldoptions = ''; $fieldoptions = '';
@@ -451,7 +460,7 @@ class paging {
* @param string URL to use as base for links * @param string URL to use as base for links
* @return string the html pagingcode * @return string the html pagingcode
*/ */
function getHtmlPagingCode($baseurl) { public function getHtmlPagingCode($baseurl) {
if ($this->entriesperpage == 0) { if ($this->entriesperpage == 0) {
return ''; return '';
} else { } else {

View File

@@ -0,0 +1,205 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Michael Kaufmann <mkaufmann@nutime.de>
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Classes
*
* @since 0.9.31
*
*/
/**
* Class Settings
*
* Interaction with settings from the db
*
* @copyright (c) the authors
* @author Michael Kaufmann <mkaufmann@nutime.de>
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Classes
*/
class Settings {
/**
* current settings object
*
* @var object
*/
private static $_obj = null;
/**
* settings data
*
* @var array
*/
private static $_data = null;
/**
* changed and unsaved settings data
*
* @var array
*/
private static $_updatedata = null;
/**
* prepared statement for updating the
* settings table
*
* @var PDOStatement
*/
private static $_updstmt = null;
/**
* private constructor, reads in all settings
*/
private function __construct() {
$this->_readSettings();
self::$_updatedata = array();
// prepare statement
self::$_updstmt = Database::prepare("
UPDATE `".TABLE_PANEL_SETTINGS."` SET `value` = :value
WHERE `settinggroup` = :group AND `varname` = :varname
");
}
/**
* Read in all settings from the database
* and set the internal $_data array
*/
private function _readSettings() {
$settings_data = loadConfigArrayDir('actions/admin/settings/');
self::$_data = loadSettings($settings_data);
}
/**
* update a value in the database
*
* @param string $group
* @param string $varname
* @param string $value
*/
private function _storeSetting($group = null, $varname = null, $value = null) {
$upd_data = array(
'group' => $group,
'varname' => $varname,
'value' => $value
);
Database::pexecute(self::$_updstmt, $upd_data);
}
/**
* return a setting-value by its group and varname
*
* @param string $setting a group and a varname separated by a dot (group.varname)
*
* @return mixed
*/
public function pGet($setting = null) {
$sstr = explode(".", $setting);
// no separator - do'h
if (!isset($sstr[1])) {
return null;
}
$result = null;
if (isset(self::$_data[$sstr[0]][$sstr[1]])) {
$result = self::$_data[$sstr[0]][$sstr[1]];
}
return $result;
}
/**
* update a setting / set a new value
*
* @param string $setting a group and a varname separated by a dot (group.varname)
* @param string $value
* @param boolean $instant_save
*/
public function pSet($setting = null, $value = null, $instant_save = true) {
// check whether the setting exists
if (Settings::Get($setting) !== null) {
// set new value in array
$sstr = explode(".", $setting);
self::$_data[$sstr[0]][$sstr[1]] = $value;
// should we store to db instantly?
if ($instant_save) {
$this->_storeSetting($sstr[0], $sstr[1], $value);
} else {
if (!is_array(self::$_data[$sstr[0]])) {
self::$_data[$sstr[0]] = array();
}
self::$_data[$sstr[0]][$sstr[1]] = $value;
}
}
}
/**
* Store all un-saved changes to the database and
* re-read in all settings
*/
public function pFlush() {
if (is_array(self::$_updatedata) && count(self::$_updatedata) > 0) {
// save all un-saved changes to the settings
foreach ($self::$_updatedata as $group => $vargroup) {
foreach ($vargroup as $varname => $value) {
$this->_storeSetting($group, $varname, $value);
}
}
// now empty the array
self::$_updatedata = array();
// re-read in all settings
$this->_readSettings();
}
}
/**
* forget all un-saved changes to settings
*/
public function pStash() {
// empty update array
self::$_updatedata = array();
}
/**
* create new object and return instance
*
* @return object
*/
private static function getInstance() {
// do we got an object already?
if (self::$_obj == null) {
self::$_obj = new self();
}
// return it
return self::$_obj;
}
/**
* let's us interact with the settings-Object by using static
* call like "Settings::function()"
*
* @param string $name
* @param mixed $args
*
* @return mixed
*/
public static function __callStatic($name, $args) {
// as our functions are not static and therefore cannot
// be called statically, we prefix a 'p' to all of
// our public functions so we can use Settings::functionname()
// which looks cooler and is easier to use
$callback = array(self::getInstance(), "p".$name);
$result = call_user_func_array($callback, $args);
return $result;
}
}

View File

@@ -19,7 +19,7 @@
function correctMysqlUsers($mysql_access_host_array) { function correctMysqlUsers($mysql_access_host_array) {
global $settings, $log; global $log;
// get sql-root access data // get sql-root access data
Database::needRoot(true); Database::needRoot(true);
@@ -36,7 +36,7 @@ function correctMysqlUsers($mysql_access_host_array) {
Database::needSqlData(); Database::needSqlData();
$sql_root = Database::getSqlData(); $sql_root = Database::getSqlData();
$dbm = new DbManager($settings, $log); $dbm = new DbManager($log);
$users = $dbm->getManager()->getAllSqlUsers(false); $users = $dbm->getManager()->getAllSqlUsers(false);
$databases = array( $databases = array(

View File

@@ -21,21 +21,19 @@
* updates the panel.version field * updates the panel.version field
* to the given value (no checks here!) * to the given value (no checks here!)
* *
* @param string new-version * @param string $new_version new-version
* *
* @return bool true on success, else false * @return bool true on success, else false
*/ */
function updateToVersion($new_version = null) { function updateToVersion($new_version = null) {
global $settings;
if ($new_version !== null && $new_version != '') { if ($new_version !== null && $new_version != '') {
$upd_stmt = Database::prepare(" $upd_stmt = Database::prepare("
UPDATE `".TABLE_PANEL_SETTINGS."` SET `value` = :newversion UPDATE `".TABLE_PANEL_SETTINGS."` SET `value` = :newversion
WHERE `settinggroup` = 'panel' AND `varname` = 'version'" WHERE `settinggroup` = 'panel' AND `varname` = 'version'"
); );
Database::pexecute($upd_stmt, array('newversion' => $new_version)); Database::pexecute($upd_stmt, array('newversion' => $new_version));
$settings['panel']['version'] = $new_version; Settings::Set('panel.version', $new_version);
return true; return true;
} }
return false; return false;
@@ -46,13 +44,12 @@ function updateToVersion($new_version = null) {
* *
* checks if the panel is froxlor * checks if the panel is froxlor
* *
* @return bool true if panel is froxlor, else false * @return bool true if panel is froxlor, else false
*/ */
function isFroxlor() { function isFroxlor() {
global $settings;
if (isset($settings['panel']['frontend']) if (Settings::Get('panel.frontend') !== null
&& $settings['panel']['frontend'] == 'froxlor' && Settings::Get('panel.frontend') == 'froxlor'
) { ) {
return true; return true;
} }
@@ -65,16 +62,14 @@ function isFroxlor() {
* checks if a given version is the * checks if a given version is the
* current one (and panel is froxlor) * current one (and panel is froxlor)
* *
* @param string version to check * @param string $to_check version to check
* *
* @return bool true if version to check matches, else false * @return bool true if version to check matches, else false
*/ */
function isFroxlorVersion($to_check = null) { function isFroxlorVersion($to_check = null) {
global $settings; if (Settings::Get('panel.frontend') == 'froxlor'
&& Settings::Get('panel.version') == $to_check
if ($settings['panel']['frontend'] == 'froxlor'
&& $settings['panel']['version'] == $to_check
) { ) {
return true; return true;
} }
@@ -82,21 +77,18 @@ function isFroxlorVersion($to_check = null) {
} }
/** /**
* Function isFroxlorVersion * Function hasUpdates
* *
* checks if a given version is the * checks if a given version is not equal the current one
* current one (and panel is froxlor)
* *
* @param string version to check * @param string $to_check version to check
* *
* @return bool true if version to check matches, else false * @return bool true if version to check does not match, else false
*/ */
function hasUpdates($to_check = null) { function hasUpdates($to_check = null) {
global $settings; if (Settings::Get('panel.version') == null
|| Settings::Get('panel.version') != $to_check
if (!isset($settings['panel']['version'])
|| $settings['panel']['version'] != $to_check
) { ) {
return true; return true;
} }