Skip to content

Commit

Permalink
Merge branch 'MDL-49561_m29' of git://github.com/markn86/moodle into …
Browse files Browse the repository at this point in the history
…MOODLE_29_STABLE

Conflicts:
	lib/bennu/readme_moodle.txt
  • Loading branch information
David Monllao committed Sep 16, 2015
2 parents 68bd2b3 + 30d813d commit 0be4b0e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 11 deletions.
6 changes: 5 additions & 1 deletion calendar/export_execute.php
Expand Up @@ -189,10 +189,14 @@
$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 + DAYSECS), array('value' => 'DATE')); // All day event.
}
if ($event->courseid != 0) {
$coursecontext = context_course::instance($event->courseid);
Expand Down
27 changes: 17 additions & 10 deletions lib/bennu/bennu.class.php
Expand Up @@ -8,7 +8,7 @@
*
* See http://bennu.sourceforge.net/ for more information and downloads.
*
* @author Ioannis Papaioannou
* @author Ioannis Papaioannou
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
*/

Expand All @@ -20,37 +20,44 @@ static function timestamp_to_datetime($t = NULL) {
return gmstrftime('%Y%m%dT%H%M%SZ', $t);
}

static function timestamp_to_date($t = NULL) {
if ($t === NULL) {
$t = time();
}
return gmstrftime('%Y%m%d', $t);
}

static function generate_guid() {
// Implemented as per the Network Working Group draft on UUIDs and GUIDs

// These two octets get special treatment
$time_hi_and_version = sprintf('%02x', (1 << 6) + mt_rand(0, 15)); // 0100 plus 4 random bits
$clock_seq_hi_and_reserved = sprintf('%02x', (1 << 7) + mt_rand(0, 63)); // 10 plus 6 random bits

// Need another 14 random octects
$pool = '';
for($i = 0; $i < 7; ++$i) {
$pool .= sprintf('%04x', mt_rand(0, 65535));
}

// time_low = 4 octets
$random = substr($pool, 0, 8).'-';

// time_mid = 2 octets
$random .= substr($pool, 8, 4).'-';

// time_high_and_version = 2 octets
$random .= $time_hi_and_version.substr($pool, 12, 2).'-';

// clock_seq_high_and_reserved = 1 octet
$random .= $clock_seq_hi_and_reserved;

// clock_seq_low = 1 octet
$random .= substr($pool, 13, 2).'-';

// node = 6 octets
$random .= substr($pool, 14, 12);

return $random;
}
}
Expand Down
1 change: 1 addition & 0 deletions lib/bennu/readme_moodle.txt
Expand Up @@ -8,3 +8,4 @@ modifications:
5/ updated DTEND;TZID and DTSTAR;TZID values to support quotations (7 Nov 2014)
6/ added calendar_normalize_tz function to convert region timezone to php supported timezone (7 Nov 2014)
7/ MDL-49032: fixed rfc2445_fold() to fix incorrect RFC2445_WSP definition (16 Sep 2015)
8/ added timestamp_to_date function to support zero duration events (16 Sept 2015)

0 comments on commit 0be4b0e

Please sign in to comment.