From 0571fc21e06b358054291ee8d35d12110dc4a19c Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 8 Nov 2010 09:25:58 +0000 Subject: [PATCH] * support multiget report on url with uid, as lightning uses multiget after a PUT on the PUT url, which is the uid --- calendar/inc/class.calendar_groupdav.inc.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/calendar/inc/class.calendar_groupdav.inc.php b/calendar/inc/class.calendar_groupdav.inc.php index 9b4c5d6bdb..b55411672d 100644 --- a/calendar/inc/class.calendar_groupdav.inc.php +++ b/calendar/inc/class.calendar_groupdav.inc.php @@ -24,14 +24,14 @@ class calendar_groupdav extends groupdav_handler * @var calendar_boupdate */ var $bo; - + /** * vCalendar Instance for parsing * * @var array */ var $vCalendar; - + var $filter_prop2cal = array( 'SUMMARY' => 'cal_title', 'UID' => 'cal_uid', @@ -354,7 +354,16 @@ error_log(__METHOD__."($path,,".array2string($start).") filter=".array2string($f if ($option['name'] == 'href') { $parts = explode('/',$option['data']); - if (is_numeric($id = basename(array_pop($parts),'.ics'))) $ids[] = $id; + if (!($id = basename(array_pop($parts),'.ics'))) continue; + + if (is_numeric($id)) + { + $ids[] = $id; + } + else // eg. lightning uses multiget after a PUT on the PUT url, which is the uid + { + $cal_filters['query']['cal_uid'][] = $id; + } } } } @@ -363,7 +372,7 @@ error_log(__METHOD__."($path,,".array2string($start).") filter=".array2string($f $cal_filters['query'][] = 'egw_cal.cal_id IN ('.implode(',',array_map(create_function('$n','return (int)$n;'),$ids)).')'; } - if ($this->debug > 1) error_log(__FILE__ . __METHOD__ ."($options[path],...,$id) calendar-multiget: ids=".implode(',',$ids)); + if ($this->debug > 1) error_log(__FILE__ . __METHOD__ ."($options[path],...,$id) calendar-multiget: ids=".implode(',',$ids).', cal_filters='.array2string($cal_filters)); } return true; }