MDL-49561 core_calendar: Fix ical export for events with no duration

This commit is contained in:
Lars Anderson
2015-09-04 19:33:53 -07:00
committed by Mark Nelson
parent 1dabedeedf
commit 2be327dca9
2 changed files with 13 additions and 1 deletions
+5 -1
View File
@@ -189,10 +189,14 @@ foreach($events as $event) {
$ev->add_property('class', 'PUBLIC'); // PUBLIC / PRIVATE / CONFIDENTIAL
$ev->add_property('last-modified', Bennu::timestamp_to_datetime($event->timemodified));
$ev->add_property('dtstamp', Bennu::timestamp_to_datetime()); // now
$ev->add_property('dtstart', Bennu::timestamp_to_datetime($event->timestart)); // when event starts
if ($event->timeduration > 0) {
//dtend is better than duration, because it works in Microsoft Outlook and works better in Korganizer
$ev->add_property('dtstart', Bennu::timestamp_to_datetime($event->timestart)); // when event starts.
$ev->add_property('dtend', Bennu::timestamp_to_datetime($event->timestart + $event->timeduration));
} else {
// When no duration is present, ie an all day event, VALUE should be date instead of time and dtend = dtstart + 1 day
$ev->add_property('dtstart', Bennu::timestamp_to_date($event->timestart), array('value' => 'DATE')); // All day event.
$ev->add_property('dtend', Bennu::timestamp_to_date($event->timestart + 86400), array('value' => 'DATE')); // All day event.
}
if ($event->courseid != 0) {
$coursecontext = context_course::instance($event->courseid);
+8
View File
@@ -20,6 +20,14 @@ class Bennu {
return gmstrftime('%Y%m%dT%H%M%SZ', $t);
}
static function timestamp_to_date($t = NULL) {
if($t === NULL) {
$t = time();
}
return strftime('%Y%m%d', $t);
}
static function generate_guid() {
// Implemented as per the Network Working Group draft on UUIDs and GUIDs