diff --git a/actions/admin/settings/190.ticket.php b/actions/admin/settings/190.ticket.php index c489bad1..e67ea1c3 100644 --- a/actions/admin/settings/190.ticket.php +++ b/actions/admin/settings/190.ticket.php @@ -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'], diff --git a/lib/functions/validate/function.setCycleOfCronjob.php b/lib/functions/validate/function.setCycleOfCronjob.php new file mode 100644 index 00000000..f71596d8 --- /dev/null +++ b/lib/functions/validate/function.setCycleOfCronjob.php @@ -0,0 +1,44 @@ + (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); +} diff --git a/scripts/jobs/cron_used_tickets_reset.php b/scripts/jobs/cron_used_tickets_reset.php index 424726e5..5b57daee 100644 --- a/scripts/jobs/cron_used_tickets_reset.php +++ b/scripts/jobs/cron_used_tickets_reset.php @@ -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'"); -} - -?> \ No newline at end of file +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'");