From ab410cc91e4f6bec8e19c1ff60e9206f0cf00a69 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Fri, 29 Mar 2013 20:10:37 +0100 Subject: [PATCH] don't insert task if feature is disabled even though they are not run but might be irritating for the admin, thx to fuchsi Signed-off-by: Michael Kaufmann (d00p) --- admin_customers.php | 36 ++++-------- admin_domains.php | 16 ++---- admin_ipsandports.php | 22 +++----- admin_settings.php | 15 ++--- customer_domains.php | 20 +++---- lib/functions/froxlor/function.inserttask.php | 8 +++ scripts/jobs/cron_tasks.php | 55 ++++++++----------- 7 files changed, 68 insertions(+), 104 deletions(-) diff --git a/admin_customers.php b/admin_customers.php index 53b165a6..ea4d47ac 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -315,23 +315,17 @@ if($page == 'customers' $log->logAction(ADM_ACTION, LOG_INFO, "deleted user '" . $result['loginname'] . "'"); inserttask('1'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); - if(isset($_POST['delete_userfiles']) - && (int)$_POST['delete_userfiles'] == 1) - { + if (isset($_POST['delete_userfiles']) + && (int)$_POST['delete_userfiles'] == 1 + ) { inserttask('6', $result['loginname']); } - # Using filesystem - quota, insert a task which cleans the filesystem - quota - if ($settings['system']['diskquota_enabled']) - { - inserttask('10'); - } + // Using filesystem - quota, insert a task which cleans the filesystem - quota + inserttask('10'); /* * move old tickets to archive @@ -769,13 +763,10 @@ if($page == 'customers' $log->logAction(ADM_ACTION, LOG_INFO, "added user '" . $loginname . "'"); inserttask('2', $loginname, $guid, $guid, $store_defaultindex); - # Using filesystem - quota, insert a task which cleans the filesystem - quota - if ($settings['system']['diskquota_enabled']) - { - inserttask('10'); - } - // Add htpasswd for the webalizer stats + // Using filesystem - quota, insert a task which cleans the filesystem - quota + inserttask('10'); + // Add htpasswd for the webalizer stats if(CRYPT_STD_DES == 1) { $saltfordescrypt = substr(md5(uniqid(microtime(), 1)), 4, 2); @@ -1280,11 +1271,8 @@ if($page == 'customers' $db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `name`='" . $db->escape($name) . "', `firstname`='" . $db->escape($firstname) . "', `gender`='" . $db->escape($gender) . "', `company`='" . $db->escape($company) . "', `street`='" . $db->escape($street) . "', `zipcode`='" . $db->escape($zipcode) . "', `city`='" . $db->escape($city) . "', `phone`='" . $db->escape($phone) . "', `fax`='" . $db->escape($fax) . "', `email`='" . $db->escape($email) . "', `customernumber`='" . $db->escape($customernumber) . "', `def_language`='" . $db->escape($def_language) . "', `password` = '" . $password . "', `diskspace`='" . $db->escape($diskspace) . "', `traffic`='" . $db->escape($traffic) . "', `subdomains`='" . $db->escape($subdomains) . "', `emails`='" . $db->escape($emails) . "', `email_accounts` = '" . $db->escape($email_accounts) . "', `email_forwarders`='" . $db->escape($email_forwarders) . "', `ftps`='" . $db->escape($ftps) . "', `tickets`='" . $db->escape($tickets) . "', `mysqls`='" . $db->escape($mysqls) . "', `deactivated`='" . $db->escape($deactivated) . "', `phpenabled`='" . $db->escape($phpenabled) . "', `email_quota`='" . $db->escape($email_quota) . "', `imap`='" . $db->escape($email_imap) . "', `pop3`='" . $db->escape($email_pop3) . "', `aps_packages`='" . (int)$number_of_aps_packages . "', `perlenabled`='" . $db->escape($perlenabled) . "', `email_autoresponder`='" . $db->escape($email_autoresponder) . "', `backup_allowed`='" . $db->escape($backup_allowed) . "' WHERE `customerid`='" . (int)$id . "'"); $admin_update_query = "UPDATE `" . TABLE_PANEL_ADMINS . "` SET `customers_used` = `customers_used` "; - # Using filesystem - quota, insert a task which cleans the filesystem - quota - if ($settings['system']['diskquota_enabled']) - { - inserttask('10'); - } + // Using filesystem - quota, insert a task which cleans the filesystem - quota + inserttask('10'); if($mysqls != '-1' || $result['mysqls'] != '-1') diff --git a/admin_domains.php b/admin_domains.php index 39d0ee22..014e3203 100644 --- a/admin_domains.php +++ b/admin_domains.php @@ -196,9 +196,8 @@ if($page == 'domains' inserttask('1'); // Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable'] = '1') { - inserttask('4'); - } + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } elseif ($alias_check['count'] > 0) { @@ -585,10 +584,9 @@ if($page == 'domains' $log->logAction(ADM_ACTION, LOG_INFO, "added domain '" . $domain . "'"); inserttask('1'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) { - inserttask('4'); - } + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } } @@ -1087,9 +1085,7 @@ if($page == 'domains' || $dkim != $result['dkim'] || $ipandport != $result['ipandport']) { - if ($settings['system']['bind_enable'] == '1') { - inserttask('4'); - } + inserttask('4'); } if($isemaildomain == '0' diff --git a/admin_ipsandports.php b/admin_ipsandports.php index 9dab8cfb..7662510f 100644 --- a/admin_ipsandports.php +++ b/admin_ipsandports.php @@ -105,11 +105,9 @@ if($page == 'ipsandports' $log->logAction(ADM_ACTION, LOG_WARNING, "deleted IP/port '" . $result['ip'] . ":" . $result['port'] . "'"); inserttask('1'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } else @@ -251,11 +249,9 @@ if($page == 'ipsandports' $log->logAction(ADM_ACTION, LOG_WARNING, "added IP/port '" . $ip . ":" . $port . "'"); inserttask('1'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } } @@ -412,10 +408,8 @@ if($page == 'ipsandports' inserttask('1'); // Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } } diff --git a/admin_settings.php b/admin_settings.php index aef515c5..083e32e1 100644 --- a/admin_settings.php +++ b/admin_settings.php @@ -84,11 +84,9 @@ if(($page == 'settings' || $page == 'overview') inserttask('1'); inserttask('5'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); + standard_success('settingssaved', '', array('filename' => $filename, 'action' => $action, 'page' => $page)); } } @@ -129,12 +127,9 @@ elseif($page == 'rebuildconfigs' inserttask('1'); inserttask('5'); inserttask('10'); + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } standard_success('rebuildingconfigs', '', array('filename' => 'admin_index.php')); } else diff --git a/customer_domains.php b/customer_domains.php index 2a45308c..ae594057 100644 --- a/customer_domains.php +++ b/customer_domains.php @@ -197,11 +197,9 @@ elseif($page == 'domains') $result = $db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `subdomains_used`=`subdomains_used`-1 WHERE `customerid`='" . (int)$userinfo['customerid'] . "'"); inserttask('1'); - # Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + // Using nameserver, insert a task which rebuilds the server config + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } else @@ -361,10 +359,8 @@ elseif($page == 'domains') inserttask('1'); // Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + inserttask('4'); + redirectTo($filename, Array('page' => $page, 's' => $s)); } } @@ -556,10 +552,8 @@ elseif($page == 'domains') inserttask('1'); // Using nameserver, insert a task which rebuilds the server config - if ($settings['system']['bind_enable']) - { - inserttask('4'); - } + inserttask('4'); + } redirectTo($filename, Array('page' => $page, 's' => $s)); diff --git a/lib/functions/froxlor/function.inserttask.php b/lib/functions/froxlor/function.inserttask.php index 34fa92f2..e43906cd 100644 --- a/lib/functions/froxlor/function.inserttask.php +++ b/lib/functions/froxlor/function.inserttask.php @@ -37,6 +37,14 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = ' || $type == '5' || $type == '10') { + // 4 = bind -> if bind disabled -> no task + if ($type == '4' && $settings['system']['bind_enable'] == '0') { + return; + } + // 10 = quota -> if quota disabled -> no task + if ($type == '10' && $settings['system']['diskquota_enabled'] == '0') { + return; + } $db->query('DELETE FROM `' . TABLE_PANEL_TASKS . '` WHERE `type`="' . $type . '"'); $db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`) VALUES ("' . $type . '")'); } diff --git a/scripts/jobs/cron_tasks.php b/scripts/jobs/cron_tasks.php index dea2af30..17f075a3 100644 --- a/scripts/jobs/cron_tasks.php +++ b/scripts/jobs/cron_tasks.php @@ -466,43 +466,34 @@ while($row = $db->fetch_array($result_tasks)) /** * TYPE=10 Set the filesystem - quota */ - elseif ($row['type'] == '10') - { - if ($settings['system']['diskquota_enabled']) - { - fwrite($debugHandler, ' cron_tasks: Task10 started - setting filesystem quota' . "\n"); - $cronlog->logAction(CRON_ACTION, LOG_INFO, 'Task10 started - setting filesystem quota'); + elseif ($row['type'] == '10' && (int)$settings['system']['diskquota_enabled'] != 0) { - $usedquota = getFilesystemQuota(); + fwrite($debugHandler, ' cron_tasks: Task10 started - setting filesystem quota' . "\n"); + $cronlog->logAction(CRON_ACTION, LOG_INFO, 'Task10 started - setting filesystem quota'); - # Select all customers Froxlor knows about - $result = $db->query("SELECT `guid`, `loginname`, `diskspace` FROM `" . TABLE_PANEL_CUSTOMERS . "`;"); - while($row = $db->fetch_array($result)) - { - # We do not want to set a quota for root by accident - if ($row['guid'] != 0) - { - # The user has no quota in Froxlor, but on the filesystem - if (($row['diskspace'] == 0 || $row['diskspace'] == -1024) && $usedquota[$row['guid']]['block']['hard'] != 0) - { - $cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Disabling quota for " . $row['loginname']); - safe_exec($settings['system']['diskquota_quotatool_path'] . " -u " . $row['guid'] . " -bl 0 -q 0 " . escapeshellarg($settings['system']['diskquota_customer_partition'])); - } + $usedquota = getFilesystemQuota(); - # The user quota in Froxlor is different than on the filesystem - elseif($row['diskspace'] != $usedquota[$row['guid']]['block']['hard'] && $row['diskspace'] != -1024) - { - $cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Setting quota for " . $row['loginname'] . " from " . $usedquota[$row['guid']]['block']['hard'] . " to " . $row['diskspace']); - safe_exec($settings['system']['diskquota_quotatool_path'] . " -u " . $row['guid'] . " -bl " . $row['diskspace'] . " -q " . $row['diskspace'] . " " . escapeshellarg($settings['system']['diskquota_customer_partition'])); - } + // Select all customers Froxlor knows about + $result = $db->query("SELECT `guid`, `loginname`, `diskspace` FROM `" . TABLE_PANEL_CUSTOMERS . "`;"); + while ($row = $db->fetch_array($result)) { + // We do not want to set a quota for root by accident + if ($row['guid'] != 0) { + // The user has no quota in Froxlor, but on the filesystem + if (($row['diskspace'] == 0 || $row['diskspace'] == -1024) + && $usedquota[$row['guid']]['block']['hard'] != 0 + ) { + $cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Disabling quota for " . $row['loginname']); + safe_exec($settings['system']['diskquota_quotatool_path'] . " -u " . $row['guid'] . " -bl 0 -q 0 " . escapeshellarg($settings['system']['diskquota_customer_partition'])); + } + // The user quota in Froxlor is different than on the filesystem + elseif ($row['diskspace'] != $usedquota[$row['guid']]['block']['hard'] + && $row['diskspace'] != -1024 + ) { + $cronlog->logAction(CRON_ACTION, LOG_NOTICE, "Setting quota for " . $row['loginname'] . " from " . $usedquota[$row['guid']]['block']['hard'] . " to " . $row['diskspace']); + safe_exec($settings['system']['diskquota_quotatool_path'] . " -u " . $row['guid'] . " -bl " . $row['diskspace'] . " -q " . $row['diskspace'] . " " . escapeshellarg($settings['system']['diskquota_customer_partition'])); } } } - else - { - fwrite($debugHandler, ' cron_tasks: Task10 skipped - filesystem quota not enabled' . "\n"); - $cronlog->logAction(CRON_ACTION, LOG_INFO, 'Task10 skipped - filesystem quota not enabled'); - } } } @@ -521,5 +512,3 @@ if($db->num_rows($result_tasks) != 0) } $db->query('UPDATE `' . TABLE_PANEL_SETTINGS . '` SET `value` = UNIX_TIMESTAMP() WHERE `settinggroup` = \'system\' AND `varname` = \'last_tasks_run\' '); - -?>