From 7784672cc00c83f1bfce57fc61eebe40c8f8c8a8 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Thu, 9 Nov 2017 15:08:30 +0100 Subject: [PATCH] add option to filter CalendarAPI by componenttype Signed-off-by: Georg Ehrke --- apps/dav/lib/CalDAV/CalDavBackend.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php index ee40963dee..9045a62cde 100644 --- a/apps/dav/lib/CalDAV/CalDavBackend.php +++ b/apps/dav/lib/CalDAV/CalDavBackend.php @@ -1383,8 +1383,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription } $innerQuery->andWhere($or); - // TODO - add component-type - if ($pattern !== '') { $innerQuery->andWhere($innerQuery->expr()->iLike('op.value', $outerQuery->createNamedParameter('%' . @@ -1404,7 +1402,15 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription $outerQuery->andWhere($outerQuery->expr()->lt('firstoccurence', $outerQuery->createNamedParameter($options['timerange']['end']->getTimeStamp))); } + } + if (isset($options['types'])) { + $or = $outerQuery->expr()->orX(); + foreach($options['types'] as $type) { + $or->add($outerQuery->expr()->eq('componenttype', + $outerQuery->createNamedParameter($type))); + } + $outerQuery->andWhere($or); } $outerQuery->andWhere($outerQuery->expr()->in('c.id',