mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-05-26 02:44:29 +00:00
Allow null dtstart to match any range, as per Scheduling Draft.
This commit is contained in:
parent
963de077d8
commit
bc1e264c6b
@ -157,18 +157,18 @@ function SqlFilterFragment( $filter, $components, $property = null, $parameter =
|
|||||||
// $params[':time_range_end'] = $finish;
|
// $params[':time_range_end'] = $finish;
|
||||||
// }
|
// }
|
||||||
if ( isset($start) && isset($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)))) ';
|
$sql .= ' OR (dtend IS NULL AND dtstart > :time_range_start)))) ';
|
||||||
$params[':time_range_start'] = $start;
|
$params[':time_range_start'] = $start;
|
||||||
$params[':time_range_end'] = $finish;
|
$params[':time_range_end'] = $finish;
|
||||||
}
|
}
|
||||||
elseif ( isset($start) ) {
|
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))) ';
|
$sql .= ' OR (dtend IS NULL AND dtstart > :time_range_start))) ';
|
||||||
$params[':time_range_start'] = $start;
|
$params[':time_range_start'] = $start;
|
||||||
}
|
}
|
||||||
elseif ( isset($finish) ) {
|
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;
|
$params[':time_range_end'] = $finish;
|
||||||
}
|
}
|
||||||
$need_range_filter = array(new RepeatRuleDateTime($start),new RepeatRuleDateTime($finish));
|
$need_range_filter = array(new RepeatRuleDateTime($start),new RepeatRuleDateTime($finish));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user