source: spip-zone/_plugins_/icalendar/http/ical/inc-event.html @ 70478

Last change on this file since 70478 was 70478, checked in by rastapopoulos@…, 7 years ago

Même si ça n'a pas (pour l'instant en tout cas) de rapport avec la lib embarquée, je mets ici une petite implémentation "rest" pour ical (seulement en GET là).

Si on appelle "http://site.tld/http.api/ical/all", il faut un squelette "http/ical/all.html" qui liste les événements suivant les critères qu'on veut, et qui ensuite appelle le "inc-event" pour chaque événement. Ce dernier est à peu près générique et gère GIS et mots si présents, donc je l'ai inclu là. Pour le squelette qui liste, je sais pas, ça dépend des sites (ça serait bien que j'en mette un quand même).

En vrai, si on avait du temps, ça serait sympa d'implémenter au moins une partie d'un serveur caldav (basé sur les requêtes HTTP aussi). Mais bon... il faut avoir le temps...

File size: 1.3 KB
Line 
1<BOUCLE_evenement(EVENEMENTS){id_evenement}>
2[(#REM) Mise en mémoire des infos géo si présentes ]
3<BOUCLE_geo(GIS?){id_evenement}{0,1}>
4#SET{lat,#LAT}
5#SET{lon,#LON}
6#SET{titre_gis,#TITRE|filtrer_ical}
7#SET{adresse,#ADRESSE|supprimer_tags|textebrut|filtrer_ical}
8#SET{ville,#VILLE|filtrer_ical}
9#SET{code_postal,#CODE_POSTAL|filtrer_ical}
10</BOUCLE_geo>
11BEGIN:VEVENT
12SUMMARY:[(#TITRE|textebrut|filtrer_ical)]
13UID:evenement#ID_EVENEMENT @ [(#URL_SITE_SPIP|filtrer_ical)][
14DTSTAMP:(#DATE_DEBUT|date_ical)][(#HORAIRE|=={oui}|?{[
15DTSTART:(#DATE_DEBUT|date_ical)][
16DTEND:(#DATE_FIN|date_ical)],[
17DTSTART;VALUE=DATE:(#DATE_DEBUT|affdate{Ymd})][
18DTEND;VALUE=DATE:(#DATE_FIN|agenda_jourdecal{1,Ymd})]})][(#GET{titre_gis}|oui)
19LOCATION:#GET{titre_gis}[\, (#GET{adresse})][\, [(#GET{code_postal}) ](#GET{ville})]][(#GET{titre_gis}|non)[
20LOCATION:(#LIEU|PtoBR|textebrut|filtrer_ical)]][(#GET{lat}|et{#GET{lon}}|oui)
21GEO:#GET{lat};#GET{lon}][
22DESCRIPTION:(#DESCRIPTIF|supprimer_tags|textebrut|filtrer_ical)]
23CATEGORIES:<BOUCLE_article(ARTICLES) {id_article=#ID_ARTICLE}>[(#TITRE|textebrut|filtrer_ical)]</BOUCLE_article><B_mots>, <BOUCLE_mots(MOTS?){id_evenement=#ID_EVENEMENT}{", "}>[(#TITRE|textebrut|filtrer_ical)]</BOUCLE_mots>
24URL:[(#URL_EVENEMENT{#ID_EVENEMENT}|url_absolue|filtrer_ical)]
25STATUS:CONFIRMED
26END:VEVENT
27</BOUCLE_evenement>
Note: See TracBrowser for help on using the repository browser.