From 67ccb2ae03d3ba4a6a28d79402cbeb2072f50890 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sat, 17 Sep 2011 15:38:57 +1200 Subject: [PATCH] Fix an error in calendar-query handling of time-range queries. --- inc/caldav-REPORT-calquery.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/inc/caldav-REPORT-calquery.php b/inc/caldav-REPORT-calquery.php index ac4e4154..56701524 100644 --- a/inc/caldav-REPORT-calquery.php +++ b/inc/caldav-REPORT-calquery.php @@ -147,14 +147,15 @@ function SqlFilterFragment( $filter, $components, $property = null, $parameter = // $params[':time_range_end'] = $finish; // } if ( isset($start) && isset($finish) ) { - $sql .= ' AND (rrule IS NOT NULL OR dtstart IS NULL OR (dtstart < :time_range_end AND (dtend > :time_range_start '; - $sql .= ' OR (dtend IS NULL AND dtstart > :time_range_start)))) '; + $sql .= ' AND (rrule IS NOT NULL OR dtstart IS NULL'; + $sql .= ' OR (dtstart < :time_range_end AND (dtend > :time_range_start '; + $sql .= ' OR (dtend IS NULL AND dtstart < :time_range_end)))) '; $params[':time_range_start'] = $start; $params[':time_range_end'] = $finish; } elseif ( isset($start) ) { - $sql .= ' AND (rrule IS NOT NULL OR dtstart IS NULL OR (dtend > :time_range_start '; - $sql .= ' OR (dtend IS NULL AND dtstart > :time_range_start))) '; + $sql .= ' AND (rrule IS NOT NULL OR dtstart IS NULL'; + $sql .= ' OR (dtstart > :time_range_start)) '; $params[':time_range_start'] = $start; } elseif ( isset($finish) ) {