Je souhaiterais créer le fichier anniversaire.ics pour l'année courante (cas simple, pas de récurrence).
La forme générale du fichier anniversaire.ics sera :
Pierre Lajoie est né le 23 janvier, Michel Triste le 1er juin.BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTART:20080123
DTEND:20080123
SUMMARY:Anniversaire de Pierre Lajoie
LOCATION:Ma société
DESCRIPTION:pierre.lajoie@masociete.com
END:VEVENT
BEGIN:VEVENT
DTSTART:20080601
DTEND:20080601
SUMMARY:Anniversaire de Michel Triste
LOCATION:Ma société
DESCRIPTION:michel.triste@masociete.com
END:VEVENT
END:VCALENDAR
Voilà pour l'exemple, en tenant compte du traitement spécifique de la date.$query = "SELECT * FROM anniversaire ORDER BY nom";
$result = mysql_query($query);
$number = mysql_numrows($result);
$monics = "BEGIN:VCALENDAR".chr(10);
$monics = $monics."VERSION:2.0".chr(10);
$monics = $monics."PRODID:-//hacksw/handcal//NONSGML v1.0//EN".chr(10);
if ($number==0) {
} else {
// créer le fichier ICS
for($count = 1; $row=mysql_fetch_row($result); ++$count)
{
$monics = $monics."BEGIN:VEVENT".chr(10);
// date au bon format
$moisjour = substr($row[4], 5, 2).substr($row[4], 8, 2);
$anneecourante = date(Y);
$monics = $monics."DTSTART:".$anneecourante.$moisjour.chr(10);
$monics = $monics."DTEND:".$anneecourante.$moisjour.chr(10);
$monics = $monics."SUMMARY:Anniversaire de ".$row[2]." ".$row[1].chr(10);
$monics = $monics."LOCATION:Parlement bruxellois".chr(10);
$monics = $monics."DESCRIPTION:".$row[3].chr(10);
$monics = $monics."END:VEVENT".chr(10);
}
$monics = $monics."END:VCALENDAR".chr(10);
// écrire dans fichier
$ficin="./anniversaire/anniversaire.ics";
$monfic = fopen($ficin, "w");
fwrite($monfic, $monics);
fclose($monfic);
echo "Télécharger au format <a href=\"/intranet/anniversaire/anniversaire.ics\">iCalendar</a>";}