met PHP een ICS(ical) bestand maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nico Mollema

Nico Mollema

24/02/2012 20:43:32
Quote Anchor link
Beste leden van Phphulp.nl dit is de eerste keer dat ik een thread maak. Ik heb een php script dat een .ics bestand uitpoept. Het leest de roosterwebsite van de UVA uit en formatteerd de datum informatie in icalendar formaat oftewel, 16 december 2011 om half 10 's ochtends wordt 20111216T093000 etc. ook werk ik alle ongeoorloofde karakters eruit ipv te escapen, dus : ; , \ ' " str_replace ik allemaal met ''. Een vergelijkbaar script heb ik met in gebruik met het Porgressrooster van Bewegingswetenschappen en geneeskunde. Hier heb ik geen problemen mee, maar met die van de UVA wel. Hij importeert namelijk niet alle VEVENT's

Quote:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Nicomollema//UVA roostermaker v0.1//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Lessen
X-WR-TIMEZONE:Europe/Amsterdam
BEGIN:VEVENT
DTSTART:20110905T130000
DTEND:20110905T150000
DTSTAMP:20120224T104016
UID:UVAROOSTER9f00b6c0ec7e18974d9c231b1dd9e3cf
CREATED:20120224T104016
LAST-MODIFIED:20120224T104016
LOCATION:Kriterion 1
SEQUENCE:0
STATUS:CONFIRMED
DESCRIPTION: locatie Kriterion 1 door Dr. F. M. Pinkster
SUMMARY:verplichte vakken afstudeerrichting planologie 1e jaar 100 Inleiding in de Sociale Geografie (734101010Y) HC Inleiding Sociale Geografie
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20110905T150000
DTEND:20110905T170000
DTSTAMP:20120224T104016
UID:UVAROOSTER186c3f5fd0103f22f1e1c14147ab3783
CREATED:20120224T104016
LAST-MODIFIED:20120224T104016
LOCATION:REC-M 3.01
SEQUENCE:0
STATUS:CONFIRMED
DESCRIPTION: locatie REC-M 3.01 door Dr. S. J. H. Majoor Prof. Dr. Ir. L. Bertolini
SUMMARY:verplichte vakken afstudeerrichting planologie 1e jaar 100 Inleiding in de Planologie (734101020Y) HC Inleiding in de Planologie
TRANSP:OPAQUE
END:VEVENT

.

.

.

etc etc

END:VCALENDAR


om je een beeld te geven van de output.


de header die ik meegeef voor het downloaden van het ics bestand is:


Quote:
header('Content-disposition: attachment; filename=agenda.ics');
header('Content-type: text/calendar; charset=UTF-8');
print $ics;


waarbij de variabele ics natuurlijk de kale string met alle ics items is.

hier het bestand waar ik problemen mee ondervind:

http://pastebin.com/WWDFybxZ


Het gekke is, in iCal van apple pakt ie wel alle 541 agenda punten, in office outlook ook, maar in google agenda niet, daar zegt hij 477 van 541 geimporteerd.

Ik kom er totaal niet uit na heel erg veel trial and error.

Is iemand bekend met het iCalendar formaat die het in een oogopslag ziet?
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.