updated demo code

master
Tanguy Pruvot 2010-10-31 17:44:08 +01:00
rodzic 8079db3ac3
commit 953662254d
2 zmienionych plików z 51 dodań i 8 usunięć

43
demo/exdate.ics 100644
Wyświetl plik

@ -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

Wyświetl plik

@ -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]));