[PLUGINS] +clavettes et dependances
[lhc/web/clavette_www.git] / www / plugins / icalendar / http / ical.php
1 <?php
2
3 // Sécurité
4 if (!defined('_ECRIRE_INC_VERSION')) return;
5
6 /*
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à)
9 */
10
11
12 /*
13 * GET sur la racine du serveur iCal
14 * http://site/rest.api/ical
15 */
16 function http_ical_get_index_dist(){
17
18 }
19
20 /*
21 * GET sur une collection
22 * http://site/rest.api/ical/all
23 */
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");
30 echo $flux;
31 exit;
32 }
33 // Si on ne trouve rien c'est que ça n'existe pas
34 else{
35 header('Status: 404 Not Found');
36 exit;
37 }
38 }
39
40 /*
41 * GET sur une ressource
42 * http://site/rest.api/ical/patates
43 */
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
47 $contexte = array(
48 'id_evenement' => $ressource,
49 'ressource' => $ressource,
50 );
51 $contexte = array_merge($_GET, $contexte);
52
53 if ($flux = recuperer_fond("http/ical/event", $contexte)){
54 header('Status: 200 OK');
55 header("Content-type: text/calendar; charset=utf-8");
56 echo $flux;
57 exit;
58 }
59 // Si on ne trouve rien c'est que ça n'existe pas
60 else{
61 header('Status: 404 Not Found');
62 exit;
63 }
64 }
65
66 ?>