<?php if (!isset($gCms)) { exit; } $url = $this->GetPreference('ical_holidays'); if (!$url) { return; } $minutes = 7 * 24 * 60; // 7 DAYS $cachedfile = new cge_cached_remote_file($url, $minutes); if (!$cachedfile->size()) { return; } $ical = new \CGCalendar\IcalParser(); $ical->parseFile($cachedfile->get_dest()); $events = $ical->getSortedEvents(); if (count($events)) { $out = array(); foreach ($events as $event) { $obj = array(); $obj['start'] = $event['DTSTART']->format('Y-m-d'); $obj['end'] = $event['DTEND']->format('Y-m-d'); $obj['allDay'] = true; $obj['title'] = $event['SUMMARY']; $obj['type'] = 'holiday'; $out[] = $obj; } \cge_utils::send_ajax_and_exit($out); }