From b35e630d349e29304d4cbd634c41c717e2a2cb75 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Fri, 24 Sep 2010 18:36:05 +0200 Subject: [PATCH] Fix setting start/end dates when requesting event listings. --- kronolith/lib/Driver/Ical.php | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/kronolith/lib/Driver/Ical.php b/kronolith/lib/Driver/Ical.php index 8e38ebee6..eab03be3c 100644 --- a/kronolith/lib/Driver/Ical.php +++ b/kronolith/lib/Driver/Ical.php @@ -187,6 +187,16 @@ class Kronolith_Driver_Ical extends Kronolith_Driver $hasAlarm = false, $json = false, $coverDates = true) { + if (!is_null($startDate)) { + $startDate = clone $startDate; + $startDate->hour = $startDate->min = $startDate->sec = 0; + } + if (!is_null($endDate)) { + $endDate = clone $endDate; + $endDate->hour = 23; + $endDate->min = $endDate->sec = 59; + } + /* Build report query. */ $xml = new XMLWriter(); $xml->openMemory(); @@ -210,9 +220,16 @@ class Kronolith_Driver_Ical extends Kronolith_Driver $xml->writeAttribute('name', 'VCALENDAR'); $xml->startElement('C:comp-filter'); $xml->writeAttribute('name', 'VEVENT'); - $xml->startElement('C:time-range'); - $xml->writeAttribute('start', $startDate->toiCalendar()); - $xml->writeAttribute('end', $endDate->toiCalendar()); + if (!is_null($startDate) || + !is_null($endDate)) { + $xml->startElement('C:time-range'); + if (!is_null($startDate)) { + $xml->writeAttribute('start', $startDate->toiCalendar()); + } + if (!is_null($endDate)) { + $xml->writeAttribute('end', $endDate->toiCalendar()); + } + } $xml->endDocument(); $url = $this->_getUrl(); -- 2.11.0