From 6047b7930ab1a5842bfcb0f8d101fafc19507004 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 14 May 2010 17:23:56 +0000 Subject: [PATCH] "disabling not working iterator: Replacement code for in r29270 removed filter $cal_filters['query']['cal_reference'] = 0; only works, if all recurrences and the master are returned in a single chunk, otherwise events get returned multiple times" --- calendar/inc/class.calendar_groupdav.inc.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/calendar/inc/class.calendar_groupdav.inc.php b/calendar/inc/class.calendar_groupdav.inc.php index f62d4c1fc0..4d27c1d010 100644 --- a/calendar/inc/class.calendar_groupdav.inc.php +++ b/calendar/inc/class.calendar_groupdav.inc.php @@ -147,11 +147,12 @@ class calendar_groupdav extends groupdav_handler } } } +/* disabling not working iterator // return iterator, calling ourself to return result in chunks $files['files'] = new groupdav_propfind_iterator($this,$path,$filter,$files['files']); return true; } - +*/ /** * Callback for profind interator * @@ -160,12 +161,14 @@ class calendar_groupdav extends groupdav_handler * @param array|boolean $start=false false=return all or array(start,num) * @return array with "files" array with values for keys path and props */ +/* disabling not working iterator function propfind_callback($path,array $filter,$start=false) { if ($this->debug) $starttime = microtime(true); - +*/ $calendar_data = $filter['calendar_data']; unset($filter['calendar_data']); +/* disabling not working iterator $files = array(); if (is_array($start)) @@ -173,6 +176,8 @@ class calendar_groupdav extends groupdav_handler $filter['offset'] = $start[0]; $filter['num_rows'] = $start[1]; } +error_log(__METHOD__."($path,,".array2string($start).") filter=".array2string($filter)); +*/ $events =& $this->bo->search($filter); if ($events) { @@ -216,7 +221,10 @@ class calendar_groupdav extends groupdav_handler { $props[] = HTTP_WebDAV_Server::mkprop('getcontentlength', ''); // expensive to calculate and no CalDAV client uses it } +/* disabling not working iterator $files[] = array( +*/ + $files['files'][] = array( 'path' => $path.$this->get_path($event), 'props' => $props, ); @@ -227,7 +235,10 @@ class calendar_groupdav extends groupdav_handler error_log(__METHOD__."($path) took ".(microtime(true) - $starttime). ' to return '.count($files).' items'); } +/* disabling not working iterator return $files; +*/ + return true; } /**