diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-07-05 00:25:51 +0200 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-07-05 00:25:51 +0200 |
commit | ac54f5224d4470de9d8ae088e1338dea52668c9d (patch) | |
tree | 7f77b2a8176343e6632fbd99ff431c21974ef482 /final/app/include/ical.inc.php | |
parent | 9738017972a6d4fea655926525b3c67dd85740cf (diff) | |
download | 2007-AWOR-ac54f5224d4470de9d8ae088e1338dea52668c9d.tar.gz 2007-AWOR-ac54f5224d4470de9d8ae088e1338dea52668c9d.tar.bz2 2007-AWOR-ac54f5224d4470de9d8ae088e1338dea52668c9d.zip |
Renommage beta_accents -> final pour diffs
Diffstat (limited to 'final/app/include/ical.inc.php')
-rw-r--r-- | final/app/include/ical.inc.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/final/app/include/ical.inc.php b/final/app/include/ical.inc.php new file mode 100644 index 0000000..0936800 --- /dev/null +++ b/final/app/include/ical.inc.php @@ -0,0 +1,68 @@ +<?php +/* + * Fonction de génération d'iCal + */ + +// Constantes d'erreur +define("ERR_ICAL_NO_DATA", -1); +define("ERR_ICAL_SQL_ERROR", -2); + + function generationIcal($idP, &$iCal_name, &$iCal_content, &$errmsg) +{ + require_once('connect.inc.php'); + $query = 'SELECT DISTINCT R.idR,R.objetR,P.courrielP,UNIX_TIMESTAMP(C.dateHeure),C.duree,R.lieuR,R.ordreJourR,L.idL' + . ' FROM AWOR_Liste L,AWOR_Reunion R,AWOR_Appartenir A,AWOR_Creneau C,AWOR_Personne P' + . " WHERE ((A.idP = $idP AND A.idL = L.idL) OR R.idP_Orga = $idP)" + . ' AND R.idL = L.idL AND C.idC = R.idC_Fixe AND P.idP = R.idP_Orga' + . ' AND C.dateHeure > NOW() '; + if ( ! $result = @mysql_query($query) ) + { + // Cas d'erreur + $errmsg =mysql_generate_errmsg(); + return ERR_ICAL_SQL_ERROR; + } + else + { + if (mysql_num_rows($result)<1) + { + return ERR_ICAL_NO_DATA; + } + else + { + $time = time(); + $iCal_name = "iCal_${idP}_${time}.ics"; + $iCal_content = "BEGIN:VCALENDAR\r\n" . "VERSION:2.0\r\n"; + while ( list($idR, $objetR, $courrielP, $dateDeb, $duree, $lieuR, $ordreJourR, $idL) = mysql_fetch_array($result) ) + { + // TODO : Il est probablement judicieux d'ajouter à l'UID un timestamp unix !!!!! + $iCal_content .= "BEGIN:VEVENT\r\n" . "UID:awor_${idP}.${idR}\r\n" . "SUMMARY:$objetR ($courrielP)\r\n"; + $iCal_content .= 'DTSTART:' . date('Ymd\THis', $dateDeb) . "\r\n"; + $iCal_content .= 'DTEND:' . date('Ymd\THis', $dateDeb+60*$duree) . "\r\n"; + $iCal_content .= "LOCATION:$lieuR\r\n"; + $iCal_content .= "DESCRIPTION:$ordreJourR\r\n"; + + $query = 'SELECT P.courrielP FROM AWOR_Appartenir A,AWOR_Personne P' . " WHERE A.idP=P.idP AND A.idL='$idL'"; + if ( ! $result = mysql_query($query) ) + { + // Cas d'erreur + $errmsg =mysql_generate_errmsg(); + $ret=ERR_ICAL_SQL_ERROR; + break; + } + else + { + while ( list($mail_autres) = mysql_fetch_array($result) ) + { + $iCal_content .= "ATTENDEE:mailto:$mail_autres\r\n"; + } + } + // TODO : vérifier la pertinance de la variable utilisée + $iCal_content .= 'URL:http://' . $_SERVER['HTTP_HOST'] . "\r\n"; + $iCal_content .= "END:VEVENT\r\n"; + } + $iCal_content .= "END:VCALENDAR\r\n"; + return 0; + } + } +} +?>
\ No newline at end of file |