Créer .fichier ics dynamiquement

J'ai fait un site pour un client où ils peuvent afficher des événements. Plutôt que de créer manuellement .fichiers ics depuis iCal pour chaque événement et de le télécharger, je pensais qu'il serait mieux de le retirer de la base de données et de créer automatiquement un .fichier ics automatiquement avec PHP.

Je peux extraire des informations à partir de la base de données (pas de problème), mais lors de la conversion à un timbre de temps pour le fichier de calendrier un exemple difficile. Voici ce que j'ai stocker dans la base de données:

Month: 05
Day: 02
Year: 2011
Time: 11:30am - 1:30pm

Voici le code pour créer mon .fichiers ics:

//This is the most important coding.
header("Content-Type: text/Calendar");
header("Content-Disposition: inline; filename=adamhouston_$id.ics");

echo "BEGIN:VCALENDAR\n";
echo "PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN\n";
echo "VERSION:2.0\n";
echo "METHOD:PUBLISH\n";
echo "X-MS-OLK-FORCEINSPECTOROPEN:TRUE\n";
echo "BEGIN:VEVENT\n";
echo "CLASS:PUBLIC\n";
echo "CREATED:20091109T101015Z\n";

echo "DESCRIPTION:Speaker: $event_query_row[speaker_name]\\n\\nTopic: $event_query_row[speaker_topic]\n";
echo "DTEND:20100208T040000Z\n";
echo "DTSTAMP:20100109T093305Z\n";
echo "DTSTART:20100208T003000Z\n";
echo "LAST-MODIFIED:20091109T101015Z\n";
echo "LOCATION:$event_query_row[location]\n";
echo "PRIORITY:5\n";
echo "SEQUENCE:0\n";
echo "SUMMARY;LANGUAGE=en-us:ADAM-Houston Event\n";
echo "TRANSP:OPAQUE\n";
echo "UID:040000008200E00074C5B7101A82E008000000008062306C6261CA01000000000000000\n";
echo "X-MICROSOFT-CDO-BUSYSTATUS:BUSY\n";
echo "X-MICROSOFT-CDO-IMPORTANCE:1\n";
echo "X-MICROSOFT-DISALLOW-COUNTER:FALSE\n";
echo "X-MS-OLK-ALLOWEXTERNCHECK:TRUE\n";
echo "X-MS-OLK-AUTOFILLLOCATION:FALSE\n";
echo "X-MS-OLK-CONFTYPE:0\n";
//Here is to set the reminder for the event.
echo "BEGIN:VALARM\n";
echo "TRIGGER:-PT1440M\n";
echo "ACTION:DISPLAY\n";
echo "DESCRIPTION:Reminder\n";
echo "END:VALARM\n";
echo "END:VEVENT\n";
echo "END:VCALENDAR\n";

Maintenant, comment puis-je convertir les données dans ma base de données dans un temps correct/timbre à date?

InformationsquelleAutor iosfreak | 2011-04-21