Eine weitere SWX API von mir: SWX iCal Parser. Mit dieser API kann man Kalenderdateien im iCal-Format (.ics) einlesen lassen und sehr einfach in Flash auf die Informationen zugreifen.
Der Parser ist eine modifizierte Variante des iCal-Importers aus dem Open Source Webcalendar-Projekt (sourceforge.net/projects/webcalendar/).
Die API funktioniert soweit erstmal, enthält jedoch mit Sicherheit noch einige Bugs …
SWX iCal Parser parses calendar files (.ics, e.g. Apple iCal or Google Calendar files) and returns the most important data elements (start time, end time, all day events, summary, description, duration, etc.). You can easily work with these information in Flash.
SWX iCal Parser is based on the iCal importer of the open source project Webcalendar (sourceforge.net/projects/webcalendar/). It’s the very first version (0.1 Alpha), so I guess that there are some bugs.
Demo: getAllEvents() (get all events in the file)
Demo: getPreviousEvents() (get all events in the past)
Demo: getUpcomingEvents() (get all events in the future)
Demo: getEventsByRange() (events between two dates, e.g. 3/1/2008 and 3/1/2009
Demo: Duration and all day events (show duration; recognize all day events)
Demo: set date format (set the date format; uses date() class of PHP, see http://de3.php.net/date for details)
Used iCal (.ics) files, created with Apple iCal: alldayevents.ics, em.ics, past-future.ics
Download: SWX iCal Parser (0.1), ZIP (class file, .fla files)
Link: swxformat.org
[ad]
Hi,
schöne Arbeit, genau das was ich für meine iCal-Daten gesucht habe. Mir fiel jedoch auf das im Beispiel set date format die Daten falsch formatiert werden. Ich dachte erst meine iCal-Daten sind vielleicht falsch, aber in deinen Beispieldaten steckt ebenso der Fehler: Aus dem amerikanischem Format (June 26, 2008) wird leider (06.26.08).
Weiter interessiert mich, wie man weitere iCal-Felder z.B. Location parsen kann.
Viele Grüße
folo
Hi Folo,
mit „iCal Parser for Flash“ (SWX) kannst dir das Format des Datums beliebig selbst zusammenstellen.
Das Beispiel setDateFormat verwendet die Zeile:
args: [„http://www.video-flash.de/wp-content/uploads/2008/01/em.ics“, „m.d.y (H:i)“],
m.d.y (H:i) bedeutet quasi Monat, Tag, Year.
Wenn du das ändest in „d.m.y (H:i)“, bekommt du das europäische Format.
Hier findest du nähere Infos zu den Datum-Parametern: http://de3.php.net/date
Zur „Location“ weiß ich leider gerade auch nichts. Dürfte wahrscheinlich nicht schwer sein, aber es ist auch schon eine Weile her, als die Klasse geschrieben habe … Insofern müsste ich mich da auch erst mal wieder einarbeiten.
Sorry, aufgrund von extensiver Nutzung meines SWX Gateways von externen Websites habe ich es vorerst mal deaktiviert.
hi flo,
bin gerade auf Deine Seite gestossen und habe den SWX iCal Parser mal ausprobiert. Irgendwas stimmt aber nicht. Habe weder lokal (xampp) noch auf meinem Webspace Ergebnisse in den Demoflashes gesehen.
Keine Fehlermeldungen Endlosschleife des Loaders.
Anpassungen in den Fla Dateien hab ich natürlich gemacht. Ebenso hab ich darauf geachtet dass für das rauscompilieren der SWF die Ordnerstruktur org entsprechend verfügbar war.
Flash CS3 – raus als FlashPlayer 8 / Actionscript 2
swx-ical-parser0.1.zip – von hier gesaugt
swx_php_1.01.zip – von swxformat.org
hast Du irgendwelche Tipps für mich ?
schonmal Danke
Mike
Hast du die URL an dein eigenes Gateway angepasst? Meines läuft ja gerade nicht (siehe oben).
Hast du mitgelieferten SWX-Beispiele (z.B. die Zahlenaddition) ausprobiert, ob das tut?
ja, Gateway ist angepasst, die internen Samples funktionieren. Habe Deine php Datei (swx\php\services\iCal.php) im SWX Service Explorer eingebunden ud dort dann den Pfad zu Deiner ics Datei (em.ics) angegeben. Dann habe ich mit der Methode getAllEvents einen Call abgeschickt.
Hier das Ergebnis:
(mx.rpc::Fault)#0
errorID = 0
faultCode = (null)
faultDetail = (null)
faultString = „“
message = „faultCode:null faultString:’null‘ faultDetail:’null'“
name = „Error“
rootCause = (null)
was kann ich denn noch tun ?
Mhh, keine Ahnung. Vielleicht liegt’s an der PHP-Version? Müsste für PHP5 gedacht sein.
:) ok – kleine Ursache grosse Wirkung – auf meinem lokalen xampp ist wohl ne ältere php Version.
Auf meinem Server klappt jetzt der call über den SWX Service Explorer.
Aufruf von ical-getAllEvents.swf über die dazugehörige html Datei zeigt kurz den Loader – aber keine Ergebnisse.
habe em.ics / ical-getAllEvents.swf / ical-getAllEvents.html und iCal.php im gleichen Verzeichnis.
in der fla hab ich den pfad zur ics Datei entsprechend geändert und die gateway angepasst neu exportiert und hochgeladen.
Ordner org ist lokal im Verzeichnis wo die fla Datei steht.
import mx.utils.Delegate; sollte bei einer normalen installation von flash gefunden werden. habe jedenfalls keine fehlermeldungen beim export.
muß vielleicht deine iCal.php woanders stehen. Rechte ???
wie gesagt über den SWX Service Explorer klappt der call ja.
vielleicht fällt Dir ja doch noch was ein.
thx
Mike