Liste des évènements sous la forme d'un flux RSS
This commit is contained in:
parent
c8afc0e4c7
commit
be81143d24
|
@ -1,5 +1,3 @@
|
|||
@import url("perso.css");
|
||||
|
||||
@font-face {
|
||||
font-family: 'metropolisbold';
|
||||
src: url('metropolis/metropolis-bold-webfont.eot');
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
#CACHE{0}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0"[ encoding="(#CHARSET)"]?>
|
||||
[(#SET{annee, #ENV{annee}|lef_test_num})]
|
||||
<rss version="2.0" [(#REM) rss 2.0.9)]
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||
>
|
||||
<channel xml:lang="fr">
|
||||
<title>Évènements #GET{annee}</title>
|
||||
<link>https://www.libre-en-fete.net/spip.php?page=evenements-rss&annee=#GET{annee}</link>
|
||||
<description>Liste des évènements Libre en fête de l'année #GET{annee}</description>
|
||||
<language>fr</language>
|
||||
<generator>Libre en fête / Agenda du Libre</generator>
|
||||
|
||||
#SET{evenement_array, #GET{annee}|lef_evenement_array}
|
||||
<BOUCLE_evenements(DATA){source table, #GET{evenement_array}}>
|
||||
<item>
|
||||
<title>[(#VALEUR{start_time}|lef_date) ][(#VALEUR{city}) : ][(#VALEUR{title}) ]</title>
|
||||
<link>https://www.agendadulibre.org/events/#VALEUR{id}</link>
|
||||
<guid isPermaLink="true">https://www.agendadulibre.org/events/#VALEUR{id}</guid>
|
||||
<dc:date>#VALEUR{time}</dc:date>
|
||||
<dc:format>text/html</dc:format>
|
||||
<dc:language>fr</dc:language>
|
||||
<description>
|
||||
<p><strong>Contact :</strong> #VALEUR{contact}</p>
|
||||
[(#VALEUR{description}|texte_backend)]</description>
|
||||
</item>
|
||||
</BOUCLE_evenements>
|
||||
|
||||
</channel>
|
||||
|
||||
</rss>
|
|
@ -212,24 +212,73 @@ function mes_compare($a, $b) {
|
|||
return collator_compare($coll, $a, $b);
|
||||
}
|
||||
|
||||
/************************************
|
||||
* Vérifie que le paramètre est bien numérique
|
||||
*************************************/
|
||||
|
||||
function filtre_lef_test_num($annee) {
|
||||
if (!is_numeric($annee)) {
|
||||
return "";
|
||||
} else {
|
||||
return $annee;
|
||||
}
|
||||
}
|
||||
|
||||
/************************************
|
||||
* Spécial filtre liste des évènements
|
||||
* Le chemin du répertoire IMG est codé en dur !
|
||||
*************************************/
|
||||
|
||||
function filtre_lef_liste_evenements($annee) {
|
||||
$IMG_ROOT = "/var/lib/spip/sites/www.libre-en-fete.net/";
|
||||
if (!is_numeric($annee)) {
|
||||
return "Paramètre année incorrect";
|
||||
}
|
||||
$evenementArray = lef_getEvenementArray($annee);
|
||||
$evenementCount = count( $evenementArray);
|
||||
if ($evenementCount == 0) {
|
||||
return "Aucun évènement";
|
||||
}
|
||||
$result = "";
|
||||
for($i = 0; $i < $evenementCount; $i++) {
|
||||
$evenement = $evenementArray[$i];
|
||||
$increment = ($evenementCount - $i);
|
||||
$date = date_create($evenement["start_time"]);
|
||||
$result .= "<tr>";
|
||||
$result .= "<td>".$increment."</td>";
|
||||
$result .= '<td><a href="http://www.agendadulibre.org/events/'.$evenement["id"].'">'.$evenement["id"]."</a></td>";
|
||||
$result .= "<td>".date_format($date, 'd/m')."</td>";
|
||||
$result .= "<td>".$evenement["title"]."</td>";
|
||||
$result .= "<td>".$evenement["city"]."</td>";
|
||||
$result .= "<td>".$evenement["time"]."</td>";
|
||||
$result .= "<td>".$evenement["contact"]."</td>";
|
||||
$result .= "</tr>";
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function filtre_lef_evenement_array($annee) {
|
||||
if (!is_numeric($annee)) {
|
||||
return array();
|
||||
}
|
||||
return lef_getEvenementArray($annee);
|
||||
}
|
||||
|
||||
function filtre_lef_date($time) {
|
||||
$date = date_create($time);
|
||||
return date_format($date, 'd/m');
|
||||
}
|
||||
|
||||
/************************************
|
||||
* Enregistrement local des évènements pour repérer les nouveaux
|
||||
* Le chemin du répertoire IMG est codé en dur !
|
||||
*************************************/
|
||||
|
||||
function lef_getEvenementArray($annee) {
|
||||
$IMG_ROOT = "/var/lib/spip/sites/www.libre-en-fete.net/";
|
||||
$tag = "libre-en-fete-".$annee;
|
||||
$jsonString = file_get_contents("https://www.agendadulibre.org/events.json?future=false&tag=".$tag);
|
||||
$json = json_decode($jsonString, TRUE);
|
||||
$evenementCount = count($json);
|
||||
if ($evenementCount == 0) {
|
||||
return "Aucun évènement";
|
||||
}
|
||||
|
||||
$currentTime = date(DATE_ATOM);
|
||||
$dirPath = $IMG_ROOT."IMG/agendadulibre/".$annee;
|
||||
if (!file_exists($dirPath)) {
|
||||
|
@ -252,22 +301,7 @@ function filtre_lef_liste_evenements($annee) {
|
|||
$evenementArray[] = $evenement;
|
||||
}
|
||||
usort($evenementArray, "lef_comparaison");
|
||||
$result = "";
|
||||
for($i = 0; $i < $evenementCount; $i++) {
|
||||
$evenement = $evenementArray[$i];
|
||||
$increment = ($evenementCount - $i);
|
||||
$date = date_create($evenement["start_time"]);
|
||||
$result .= "<tr>";
|
||||
$result .= "<td>".$increment."</td>";
|
||||
$result .= '<td><a href="http://www.agendadulibre.org/events/'.$evenement["id"].'">'.$evenement["id"]."</a></td>";
|
||||
$result .= "<td>".date_format($date, 'd/m')."</td>";
|
||||
$result .= "<td>".$evenement["title"]."</td>";
|
||||
$result .= "<td>".$evenement["city"]."</td>";
|
||||
$result .= "<td>".$evenement["time"]."</td>";
|
||||
$result .= "<td>".$evenement["contact"]."</td>";
|
||||
$result .= "</tr>";
|
||||
}
|
||||
return $result;
|
||||
return $evenementArray;
|
||||
}
|
||||
|
||||
function lef_comparaison($evt1, $evt2) {
|
||||
|
|
Loading…
Reference in New Issue