L’agenda que l’on utilise se base sur l’agenda que l’on peut télécharger sur http://www.uzine.net/spip_contrib/a....
L’agenda trouvé sur spip_contrib est en fait une rubrique (la n°7 dans www.monde-solidaire.org) ; chaque événement est un article, et le champ "date de publication antérieure" (date_redac) est utilisé pour stocker la date de l’événement.
La version développée pour www.monde-solidaire.org permet de gérer :
date et heure de début, date de fin de l’événement ;
lieu, département et pays de l’événement ;
Pour stocker ces informations, le champ date_redac ne suffisait pas ; on a donc utilisé le champ soustitre.
Dans www.monde-solidaire.org, le champ soustitre a été rebaptisé "comportements de l’article", et sert à d’autres usages dans le site (voir Code des caractéristiques des articles et des rubriques).
Exemple de contenu du champ soustitre :
dateDebut = 2003.12.15 18:30:00, dateFin=2003.12.18, lieu=Toulouse, dept=34
Pour récupérer facilement et rapidement les articles à l’aide de boucles spip, le champ date_redac est toujours utilisé (on y stocke la date de début, ou la date de fin si elle existe - ces informations sont donc stockées en double).
La boucle qui affiche les derniers événements se trouve dans _siteFiles/guiConponents.html.
Elle fait appel aux fonctions getCharac() et getGeoCharac(), qui se trouvent dans _siteFiles/meta/php/mondeSolFunctions.php.
Le code adapté de spip_contrib se trouve dans _siteFiles/rubrique-7.html.
La version de spip_contrib repose sur l’utilisation du champ date_redac, qui n’est accessible qu’aux administrateurs ; pour permettre aux rédacteurs de rentrer facilement un événement, un formulaire a été créé (le code se trouve dans agenda.php).
L’identification de l’auteur se fait grâce à une fonction, auth_spip(), récupérée sur http://gillesklein.info/article.php..., et stockée dans _siteFiles/meta/php/spipFunctions.php.
Pour adapter cet agenda à vos squelettes, il vous faut un site qui n’utilise pas le sous-titre des articles, et mettre en place le mécanisme des comportements de l’article.
Le code de l’agenda se trouve dans les squelettes, que vous pouvez télécharger : skel-monde-solidaire1.zip.
Les fichiers concernés sont :
_siteFiles/rubrique-7.html
_siteFiles/article-7.html
agenda.php
Les comportements de l’article sont gérés par des fonctions venant des dossiers _siteFiles/meta/php et _siteFiles/meta/lib/tig.