[ics] Traitement d'un agenda
Résolu
vlmath
Messages postés
833
Statut
Contributeur
-
vlmath Messages postés 833 Statut Contributeur -
vlmath Messages postés 833 Statut Contributeur -
Bonjour,
Je viens de faire un petit script en PHP pour convertir un fil d'actualité sous un format particulier en agenda en ligne ics que je veux importer depuis Thunderbird.
Une fois le script lancé, le fichier ics est correctement généré. Le problème est le suivant :
Quand le fichier ics est directement généré lors de la requête par Thunderbird, ça ne fonctionne pas (agenda indisponible), alors que si je fais un copier coller de la sortie, et que je met un echo $sortie à la place de la génération de $sortie, ça fonctionne bien.
Une idée ?
<config>Windows 7
Opera 11
Je viens de faire un petit script en PHP pour convertir un fil d'actualité sous un format particulier en agenda en ligne ics que je veux importer depuis Thunderbird.
Une fois le script lancé, le fichier ics est correctement généré. Le problème est le suivant :
Quand le fichier ics est directement généré lors de la requête par Thunderbird, ça ne fonctionne pas (agenda indisponible), alors que si je fais un copier coller de la sortie, et que je met un echo $sortie à la place de la génération de $sortie, ça fonctionne bien.
Une idée ?
<?php
// Les lignes ci-dessous sont copier depuis la sortie du navigateur (source de la page, et directement collées).
/*
echo "BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:test
X-WR-TIMEZONE:Europe/Zurich
X-WR-CALDESC:
BEGIN:VEVENT
DTSTART:20110922T133000
DTEND:20110922T143000
DTSTAMP:20110922T133000
CREATED:20110922T133000
DESCRIPTION:
LAST-MODIFIED:20110922T133000
LOCATION:Auditoire C
STATUS:CONFIRMED
SUMMARY:Présentation 2011
TRANSP:TRANSPARENT
CATEGORIES:Conférence
END:VEVENT
END:VCALENDAR";
exit(0);
*/
// Le code ci-dessous génère le calendrier ci-dessus
echo "BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:test
X-WR-TIMEZONE:Europe/Zurich
X-WR-CALDESC:
";
$data = preg_replace("@[\n\r\t]@Ui", "", file_get_contents( './data.txt' ) );
preg_match_all( "@<item>.*".
"<title>([0-9]{2})-([0-9]{2})-([0-9]{4}) ([0-9]{2}):([0-9]{2}) (.*)</title>.*".
"<link>(.*)</link>.*".
"<description>\((.*)[\s,]*\)(.*)</description>.*".
"</item>@Ui", $data, $output, PREG_SET_ORDER);
foreach( $output as $event )
{
$endtime = $event[4]+1;
echo "BEGIN:VEVENT
DTSTART:$event[3]$event[2]$event[1]T$event[4]$event[5]00
DTEND:$event[3]$event[2]$event[1]T$endtime$event[5]00
DTSTAMP:$event[3]$event[2]$event[1]T$event[4]$event[5]00
CREATED:$event[3]$event[2]$event[1]T$event[4]$event[5]00
DESCRIPTION:$event[9]
LAST-MODIFIED:$event[3]$event[2]$event[1]T$event[4]$event[5]00
LOCATION:$event[8]
STATUS:CONFIRMED
SUMMARY:$event[6]
TRANSP:TRANSPARENT
CATEGORIES:Conférence
END:VEVENT
";
}
echo "END:VCALENDAR";
exit(0);
?>
<config>Windows 7
Opera 11
A voir également:
- [ics] Traitement d'un agenda
- Ajouter agenda outlook dans google agenda - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Google agenda pc - Télécharger - Agendas & Calendriers
- Comment ajouter un agenda sur google agenda sur téléphone - Guide
- Traitement de texte gratuit - Guide