From bc1e264c6b3fc2e316a2f1c1c53e236cfa39e52b Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Wed, 14 Sep 2011 11:27:15 +1200 Subject: [PATCH] Allow null dtstart to match any range, as per Scheduling Draft. --- inc/caldav-REPORT-calquery.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/caldav-REPORT-calquery.php b/inc/caldav-REPORT-calquery.php index 61d63c56..84b511a8 100644 --- a/inc/caldav-REPORT-calquery.php +++ b/inc/caldav-REPORT-calquery.php @@ -157,18 +157,18 @@ 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 < :time_range_end AND (dtend > :time_range_start '; + $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)))) '; $params[':time_range_start'] = $start; $params[':time_range_end'] = $finish; } elseif ( isset($start) ) { - $sql .= ' AND (rrule IS NOT NULL OR (dtend > :time_range_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))) '; $params[':time_range_start'] = $start; } elseif ( isset($finish) ) { - $sql .= ' AND (rrule IS NOT NULL OR dtstart < :time_range_end) '; + $sql .= ' AND (rrule IS NOT NULL OR dtstart IS NULL OR dtstart < :time_range_end) '; $params[':time_range_end'] = $finish; } $need_range_filter = array(new RepeatRuleDateTime($start),new RepeatRuleDateTime($finish));