Fix CalDAV series event handling

This commit is contained in:
Jörg Lehrke 2010-05-19 16:13:37 +00:00
parent 03885572b6
commit 4c1e3a9e70
2 changed files with 3 additions and 4 deletions

View File

@ -616,13 +616,13 @@ error_log(__METHOD__."($path,,".array2string($start).") filter=".array2string($f
$org_recurrence = $org_recurrences[$recurrence['recurrence']];
if (isset($org_recurrence)) // already existing recurrence
{
error_log(__METHOD__.'() setting id #'.$org_recurrence['id']).' for '.$recurrence['recurrence'].' = '.date('Y-m-d H:i:s',$recurrence['recurrence']);
//error_log(__METHOD__.'() setting id #'.$org_recurrence['id']).' for '.$recurrence['recurrence'].' = '.date('Y-m-d H:i:s',$recurrence['recurrence']);
$recurrence['id'] = $org_recurrence['id'];
// re-add (non-virtual) exceptions to master's recur_exception
if ($recurrence['id'] != $master['id'])
{
error_log(__METHOD__.'() re-adding recur_exception '.$recurrence['recurrence'].' = '.date('Y-m-d H:i:s',$recurrence['recurrence']));
//error_log(__METHOD__.'() re-adding recur_exception '.$recurrence['recurrence'].' = '.date('Y-m-d H:i:s',$recurrence['recurrence']));
$exceptions[] = $recurrence['recurrence'];
}
// remove recurrence to be able to detect deleted exceptions
@ -641,7 +641,7 @@ error_log(__METHOD__."($path,,".array2string($start).") filter=".array2string($f
}
else // virtual recurrence
{
//error_log(__METHOD__.'() ToDO: delete virtual exception '.$org_recurrence['recurrence'].' = '.date('Y-m-d H:i:s',$org_recurrence['recurrence']));
//error_log(__METHOD__.'() delete virtual exception '.$org_recurrence['recurrence'].' = '.date('Y-m-d H:i:s',$org_recurrence['recurrence']));
$bo->update_status($master, $org_recurrence, $org_recurrence['recurrence']);
}
}

View File

@ -1068,7 +1068,6 @@ class calendar_ical extends calendar_boupdate
// and for real (not status only) exceptions their recurrence-id need
// to be included as recur_exception to the master
if ($this->productManufacturer == 'groupdav' && $cal_id > 0 &&
count($events) > 1 && !$events[1]['id'] &&
$events[0]['recur_type'] != MCAL_RECUR_NONE)
{
calendar_groupdav::fix_series($events);