diff --git a/css/fonts.css b/css/fonts.css index 8b7a760..a89f01c 100644 --- a/css/fonts.css +++ b/css/fonts.css @@ -1,5 +1,3 @@ -@import url("perso.css"); - @font-face { font-family: 'metropolisbold'; src: url('metropolis/metropolis-bold-webfont.eot'); diff --git a/evenements-rss.html b/evenements-rss.html new file mode 100644 index 0000000..2c7065a --- /dev/null +++ b/evenements-rss.html @@ -0,0 +1,31 @@ +#CACHE{0}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] +[(#SET{annee, #ENV{annee}|lef_test_num})] + + + Évènements #GET{annee} + https://www.libre-en-fete.net/spip.php?page=evenements-rss&annee=#GET{annee} + Liste des évènements Libre en fête de l'année #GET{annee} + fr + Libre en fête / Agenda du Libre + +#SET{evenement_array, #GET{annee}|lef_evenement_array} + + +[(#VALEUR{start_time}|lef_date) ][(#VALEUR{city}) : ][(#VALEUR{title}) ] +https://www.agendadulibre.org/events/#VALEUR{id} +https://www.agendadulibre.org/events/#VALEUR{id} +#VALEUR{time} +text/html +fr + +<p><strong>Contact :</strong> #VALEUR{contact}</p> +[(#VALEUR{description}|texte_backend)] + + + + + + diff --git a/mes_fonctions.php b/mes_fonctions.php index a6086ce..a6165b7 100644 --- a/mes_fonctions.php +++ b/mes_fonctions.php @@ -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"; } - - $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); + $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 .= ""; + $result .= "".$increment.""; + $result .= ''.$evenement["id"].""; + $result .= "".date_format($date, 'd/m').""; + $result .= "".$evenement["title"].""; + $result .= "".$evenement["city"].""; + $result .= "".$evenement["time"].""; + $result .= "".$evenement["contact"].""; + $result .= ""; + } + 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); + $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 .= ""; - $result .= "".$increment.""; - $result .= ''.$evenement["id"].""; - $result .= "".date_format($date, 'd/m').""; - $result .= "".$evenement["title"].""; - $result .= "".$evenement["city"].""; - $result .= "".$evenement["time"].""; - $result .= "".$evenement["contact"].""; - $result .= ""; - } - return $result; + return $evenementArray; } function lef_comparaison($evt1, $evt2) {