- set used-ticket-cycle directly as INTERVAL for the cronjob

This commit is contained in:
Michael Kaufmann (d00p)
2010-10-12 06:21:08 +00:00
parent 9787089615
commit 3f0a491f8c
3 changed files with 48 additions and 14 deletions

View File

@@ -58,6 +58,7 @@ return array(
'option_mode' => 'one',
'option_options' => array(0 => html_entity_decode($lng['admin']['tickets']['daily']), 1 => html_entity_decode($lng['admin']['tickets']['weekly']), 2 => html_entity_decode($lng['admin']['tickets']['monthly']), 3 => html_entity_decode($lng['admin']['tickets']['yearly'])),
'save_method' => 'storeSettingField',
'plausibility_check_method' => 'setCycleOfCronjob',
),
'ticket_concurrently_open' => array(
'label' => $lng['serversettings']['ticket']['concurrentlyopen'],

View File

@@ -0,0 +1,44 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Functions
* @version $Id$
*/
function setCycleOfCronjob($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues)
{
global $settings, $db;
switch($newfieldvalue)
{
case 0:
$interval = 'DAY';
break;
case 1:
$interval = 'WEEK';
break;
case 2:
$interval = 'MONTH';
break;
case 3:
$interval = 'YEAR';
break;
default:
$interval = 'MONTH';
break;
}
$db->query("UPDATE `cronjobs_run` SET `interval` = '1 ".$interval."' WHERE `cronfile` = 'cron_used_tickets_reset.php';");
return array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
}

View File

@@ -21,17 +21,6 @@
* RESET USED TICKETS COUNTER
*/
fwrite($debugHandler, 'Used tickets reset run started...' . "\n");
$now = time();
$cycle = $settings['ticket']['reset_cycle'];
if($cycle == '0'
|| ($cycle == '1' && (date("j", $now) == '1' || date("j", $now) == '7' || date("j", $now) == '14' || date("j", $now) == '21'))
|| ($cycle == '2' && date("j", $now) == '1')
|| ($cycle == '3' && date("dm", $now) == '0101'))
{
fwrite($debugHandler, 'Resetting customers used ticket counter' . "\n");
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `tickets_used` = '0'");
}
?>
fwrite($debugHandler, 'Resetting customers used ticket counter' . "\n");
$cronlog->logAction(CRON_ACTION, LOG_INFO, "Resetting customers used ticket counter");
$db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `tickets_used` = '0'");