Calendar: If an event moves from the past to the future, send notifications according to preferences

Previously we ignored all notifications, because the event _was_ in the past.
This commit is contained in:
nathan 2021-11-24 09:23:07 -07:00
parent 86c9b97e47
commit ceb014200f

View File

@ -875,18 +875,20 @@ class calendar_boupdate extends calendar_bo
$disinvited = $msg_type == MSG_DISINVITE ? array_keys($to_notify) : array();
$owner = $old_event ? $old_event['owner'] : $new_event['owner'];
if ($owner && !isset($to_notify[$owner]) && $msg_type != MSG_ALARM)
if($owner && !isset($to_notify[$owner]) && $msg_type != MSG_ALARM)
{
$to_notify[$owner] = 'OCHAIR'; // always include the event-owner
}
// ignore events in the past (give a tolerance of 10 seconds for the script)
if($old_event && $this->date2ts($old_event['start']) < ($this->now_su - 10))
if($new_event && $this->date2ts($new_event['start']) < ($this->now_su - 10) ||
!$new_event && $old_event && $this->date2ts($old_event['start']) < ($this->now_su - 10)
)
{
return False;
}
// check if default timezone is set correctly to server-timezone (ical-parser messes with it!!!)
if ($GLOBALS['egw_info']['server']['server_timezone'] && ($tz = date_default_timezone_get()) != $GLOBALS['egw_info']['server']['server_timezone'])
if($GLOBALS['egw_info']['server']['server_timezone'] && ($tz = date_default_timezone_get()) != $GLOBALS['egw_info']['server']['server_timezone'])
{
$restore_tz = $tz;
date_default_timezone_set($GLOBALS['egw_info']['server']['server_timezone']);