dol_print_error($db); } } // Complete $eventarray with external import Ical if (count($listofextcals)) { require_once DOL_DOCUMENT_ROOT . '/comm/action/class/ical.class.php'; foreach ($listofextcals as $extcal) { $url = $extcal['src']; // Example: https://www.google.com/calendar/ical/eldy10%40gmail.com/private-cde92aa7d7e0ef6110010a821a2aaeb/basic.ics $namecal = $extcal['name']; $offsettz = $extcal['offsettz']; $colorcal = $extcal['color']; $buggedfile = $extcal['buggedfile']; //print "url=".$url." namecal=".$namecal." colorcal=".$colorcal." buggedfile=".$buggedfile; $ical = new ICal(); $ical->parse($url); // After this $ical->cal['VEVENT'] contains array of events, $ical->cal['DAYLIGHT'] contains daylight info, $ical->cal['STANDARD'] contains non daylight info, ... //var_dump($ical->cal); exit; $icalevents = array(); if (is_array($ical->get_event_list())) { $icalevents = array_merge($icalevents, $ical->get_event_list()); } // Add $ical->cal['VEVENT'] if (is_array($ical->get_freebusy_list())) { $icalevents = array_merge($icalevents, $ical->get_freebusy_list()); } // Add $ical->cal['VFREEBUSY'] if (count($icalevents) > 0) { // Duplicate all repeatable events into new entries $moreicalevents = array(); foreach ($icalevents as $icalevent) {