コード例 #1
0
ファイル: index.php プロジェクト: Albertopf/prueba
 // 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) {
         if (isset($icalevent['RRULE']) && is_array($icalevent['RRULE'])) {
             //if ($event->date_start_in_calendar < $firstdaytoshow) $event->date_start_in_calendar=$firstdaytoshow;
             //if ($event->date_end_in_calendar > $lastdaytoshow) $event->date_end_in_calendar=($lastdaytoshow-1);
             if ($icalevent['DTSTART;VALUE=DATE']) {
                 $datecurstart = dol_stringtotime($icalevent['DTSTART;VALUE=DATE'], 1);
                 $datecurend = dol_stringtotime($icalevent['DTEND;VALUE=DATE'], 1) - 1;
                 // We remove one second to get last second of day
             } else {