Use hesk_date instead of NOW(), fix tickets on calendar

merge-requests/18/head
Mike Koch 8 years ago
parent 1153e6f229
commit cc175ad376

@ -41,6 +41,10 @@ if ($hesk_settings['debug_mode']) {
* 2 - days
* 3 - weeks
*/
$old_timeformat_setting = $hesklang['timeformat'];
$hesk_settings['timeformat'] = 'Y-m-d H:i:s';
$current_date = hesk_date();
$case_statement = "CASE
WHEN `unit` = '0' THEN DATE_SUB(`event`.`start`, INTERVAL `reminder`.`amount` MINUTE)
WHEN `unit` = '1' THEN DATE_SUB(`event`.`start`, INTERVAL `reminder`.`amount` HOUR)
@ -59,7 +63,7 @@ $sql = "SELECT `reminder`.`id` AS `reminder_id`, `reminder`.`user_id` AS `user_i
ON `event`.`category` = `category`.`id`
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` AS `user`
ON `reminder`.`user_id` = `user`.`id`
WHERE (" . $case_statement . ") <= NOW()
WHERE (" . $case_statement . ") <= '{$current_date}'
AND `email_sent` = '0'";
$rs = hesk_dbQuery($sql);
@ -129,7 +133,7 @@ $sql = "SELECT `ticket`.`id` AS `id`, `ticket`.`trackid` AS `trackid`, `ticket`.
LEFT JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` AS `user`
ON `ticket`.`owner` = `user`.`id`
WHERE `due_date` IS NOT NULL
AND `due_date` <= NOW()
AND `due_date` <= '{$current_date}'
AND `overdue_email_sent` = '0'";
$successful_emails = 0;
@ -182,4 +186,6 @@ if ($hesk_settings['debug_mode']) {
$debug_msg = "Finished Overdue Tickets. {$successful_emails} e-mails sent. {$failed_emails} emails failed to send.\n";
echo $debug_msg;
mfh_log_debug($LOCATION, $debug_msg, 'CRON');
}
}
$hesk_settings['timeformat'] = $old_timeformat_setting;

@ -54,15 +54,21 @@ function get_events($start, $end, $hesk_settings, $staff = true) {
}
if ($staff) {
$old_time_setting = $hesk_settings['timeformat'];
$hesk_settings['timeformat'] = 'Y-m-d';
$current_date = hesk_date();
$hesk_settings['timeformat'] = $old_time_setting;
$sql = "SELECT `trackid`, `subject`, `due_date`, `category`, `categories`.`name` AS `category_name`, `categories`.`color` AS `category_color`,
CASE WHEN `due_date` < CURDATE() THEN 1 ELSE 0 END AS `overdue`
CASE WHEN `due_date` < '{$current_date}' THEN 1 ELSE 0 END AS `overdue`
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` AS `tickets`
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
ON `categories`.`id` = `tickets`.`category`
AND `categories`.`usage` <> 1
AND `categories`.`usage` <> 2
WHERE `due_date` >= FROM_UNIXTIME(" . intval($start) . " / 1000)
AND `due_date` <= FROM_UNIXTIME(" . intval($end) . " / 1000)
AND `status` IN (SELECT `id` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` WHERE `IsClosed` = 0) ";
mfh_log_debug('Calendar', $sql, '');
$rs = hesk_dbQuery($sql);
while ($row = hesk_dbFetchAssoc($rs)) {

Loading…
Cancel
Save