4 if (!defined('_ECRIRE_INC_VERSION')) return;
7 * Implémentation d'un serveur REST pour iCal
8 * (le vrai truc bien serait d'implémenter au moins une partie de CalDAV, mais on en est pas là)
13 * GET sur la racine du serveur iCal
14 * http://site/rest.api/ical
16 function http_ical_get_index_dist(){
21 * GET sur une collection
22 * http://site/rest.api/ical/all
24 function http_ical_get_collection_dist($collection){
25 // Pour l'instant on va simplement chercher un squelette du nom de la collection
26 // Le squelette prend en contexte les paramètres du GET uniquement
27 if ($flux = recuperer_fond("http/ical/$collection", $_GET)){
28 header('Status: 200 OK');
29 header("Content-type: text/calendar; charset=utf-8");
33 // Si on ne trouve rien c'est que ça n'existe pas
35 header('Status: 404 Not Found');
41 * GET sur une ressource
42 * http://site/rest.api/ical/patates
44 function http_ical_get_ressource_dist($collection, $ressource){
45 // Quelque soit la collection, tous les événements ont le même squelette
46 // Le squelette prend en contexte les paramètres du GET + l'identifiant de l'évenement en essayant de faire au mieux
48 'id_evenement' => $ressource,
49 'ressource' => $ressource,
51 $contexte = array_merge($_GET, $contexte);
53 if ($flux = recuperer_fond("http/ical/event", $contexte)){
54 header('Status: 200 OK');
55 header("Content-type: text/calendar; charset=utf-8");
59 // Si on ne trouve rien c'est que ça n'existe pas
61 header('Status: 404 Not Found');