mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 12:40:01 +01:00
Merge branch 'MDL-54607-master' of git://github.com/ankitagarwal/moodle
This commit is contained in:
commit
35d27924f9
@ -216,10 +216,14 @@ foreach($events as $event) {
|
||||
//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 if ($event->timeduration == 0) {
|
||||
// When no duration is present, the event is instantaneous event, ex - Due date of a module.
|
||||
// Moodle doesn't support all day events yet. See MDL-56227.
|
||||
$ev->add_property('dtstart', Bennu::timestamp_to_datetime($event->timestart));
|
||||
$ev->add_property('dtend', Bennu::timestamp_to_datetime($event->timestart));
|
||||
} 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 + DAYSECS), array('value' => 'DATE')); // All day event.
|
||||
// This can be used to represent all day events in future.
|
||||
throw new coding_exception("Negative duration is not supported yet.");
|
||||
}
|
||||
if ($event->courseid != 0) {
|
||||
$coursecontext = context_course::instance($event->courseid);
|
||||
|
@ -2944,7 +2944,8 @@ function calendar_add_icalendar_event($event, $courseid, $subscriptionid, $timez
|
||||
// Check to see if the event started at Midnight on the imported calendar.
|
||||
date_default_timezone_set($timezone);
|
||||
if (date('H:i:s', $eventrecord->timestart) === "00:00:00") {
|
||||
// This event should be an all day event.
|
||||
// This event should be an all day event. This is not correct, we don't do anything differently for all day events.
|
||||
// See MDL-56227.
|
||||
$eventrecord->timeduration = 0;
|
||||
}
|
||||
\core_date::set_default_server_timezone();
|
||||
|
@ -411,7 +411,7 @@ class iCalendar_event extends iCalendar_component {
|
||||
// DTEND must be later than DTSTART
|
||||
// The standard is not clear on how to hande different value types though
|
||||
// TODO: handle this correctly even if the value types are different
|
||||
if($this->properties['DTEND'][0]->value <= $this->properties['DTSTART'][0]->value) {
|
||||
if($this->properties['DTEND'][0]->value < $this->properties['DTSTART'][0]->value) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -8,3 +8,4 @@ modifications:
|
||||
5/ updated DTEND;TZID and DTSTAR;TZID values to support quotations (7 Nov 2014)
|
||||
6/ MDL-49032: fixed rfc2445_fold() to fix incorrect RFC2445_WSP definition (16 Sep 2015)
|
||||
7/ added timestamp_to_date function to support zero duration events (16 Sept 2015)
|
||||
8/ Updated \iCalendar_event::invariant_holds() to allow for same dtstart and dtend timestamps (13 July 2017)
|
||||
|
Loading…
x
Reference in New Issue
Block a user