kopia lustrzana https://github.com/friendica/SG-iCalendar
updated demo code
rodzic
8079db3ac3
commit
953662254d
|
@ -0,0 +1,43 @@
|
|||
BEGIN:VCALENDAR
|
||||
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
METHOD:PUBLISH
|
||||
X-WR-CALNAME:uba.gestion@gmail.com
|
||||
X-WR-TIMEZONE:Europe/Paris
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Paris
|
||||
X-LIC-LOCATION:Europe/Paris
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:CEST
|
||||
DTSTART:19700329T020000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:CET
|
||||
DTSTART:19701025T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20100907
|
||||
DTEND;VALUE=DATE:20100908
|
||||
RRULE:FREQ=DAILY;UNTIL=20100912
|
||||
EXDATE;VALUE=DATE:20100911
|
||||
EXDATE;VALUE=DATE:20100909,20100910
|
||||
DTSTAMP:20101031T155459Z
|
||||
UID:5oo2ridecth26kcavj8elhtd4s@google.com
|
||||
CREATED:00001231T000000Z
|
||||
DESCRIPTION:
|
||||
LAST-MODIFIED:20101030T193954Z
|
||||
LOCATION:
|
||||
SEQUENCE:1
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:occur
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
|
@ -5,8 +5,8 @@ require_once('../SG_iCal.php');
|
|||
function dump_t($x) {
|
||||
echo "<pre>".print_r($x,true)."</pre>";
|
||||
}
|
||||
|
||||
$ICS = "basic.ics";
|
||||
$ICS = "exdate.ics";
|
||||
//echo dump_t(file_get_contents($ICS));
|
||||
|
||||
$ical = new SG_iCalReader($ICS);
|
||||
$query = new SG_iCal_Query();
|
||||
|
@ -24,16 +24,15 @@ foreach($evts as $id => $ev) {
|
|||
"end" => $ev->getEnd()-1,
|
||||
"allDay" => $ev->isWholeDay()
|
||||
);
|
||||
|
||||
$data[] = $jsEvt;
|
||||
|
||||
if (isset($ev->recurrence)) {
|
||||
$count = 1;
|
||||
$count = 0;
|
||||
$start = $ev->getStart();
|
||||
//$freq = new SG_iCal_Freq($ev->recurrence->rrule, $start);
|
||||
$freq = $ev->getFrequency();
|
||||
if ($freq->firstOccurrence() == $start)
|
||||
$data[] = $jsEvt;
|
||||
while (($next = $freq->nextOccurrence($start)) > 0 ) {
|
||||
if (!$next or $count >= 200) break;
|
||||
if (!$next or $count >= 1000) break;
|
||||
$count++;
|
||||
$start = $next;
|
||||
$jsEvt["start"] = $start;
|
||||
|
@ -41,7 +40,8 @@ foreach($evts as $id => $ev) {
|
|||
|
||||
$data[] = $jsEvt;
|
||||
}
|
||||
}
|
||||
} else
|
||||
$data[] = $jsEvt;
|
||||
|
||||
}
|
||||
//echo(date('Ymd\n',$data[0][start]));
|
||||
|
|
Ładowanie…
Reference in New Issue