Squelettes de suivi par mot-clé
This commit is contained in:
parent
7886660d53
commit
e5a0fc76a2
|
@ -0,0 +1,34 @@
|
||||||
|
#CACHE{0}#SET{motcle, #ENV{motcle}|lef_test_tag}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Liste des évènements #GET{motcle}</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
table, td{
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #999;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
td, tr {
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #999;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
[<p><a href="spip.php?page=evenements-rss-motcle&motcle=(#GET{motcle})">Flux RSS pour #GET{motcle}</a></p>]
|
||||||
|
<table>
|
||||||
|
[(#ENV{motcle}|lef_liste_evenements_tag)]
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,31 @@
|
||||||
|
#CACHE{0}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0"[ encoding="(#CHARSET)"]?>
|
||||||
|
#SET{motcle, #ENV{motcle}|lef_test_tag}
|
||||||
|
<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{motcle}</title>
|
||||||
|
<link>https://www.libre-en-fete.net/spip.php?page=evenements-rss-motcle&motcle=#GET{motcle}</link>
|
||||||
|
<description>Liste des évènements du mot-clé #GET{motcle}</description>
|
||||||
|
<language>fr</language>
|
||||||
|
<generator>Libre en fête / Agenda du Libre</generator>
|
||||||
|
|
||||||
|
#SET{evenement_array, #GET{motcle}|lef_evenement_array_tag}
|
||||||
|
<BOUCLE_evenements(DATA){source table, #GET{evenement_array}}>
|
||||||
|
<item>
|
||||||
|
<title>[(#VALEUR{start_time}|lef_date) ][(#VALEUR{city}) : ][(#VALEUR{title}|texte_backend) ]</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}|texte_backend)]</p>
|
||||||
|
[(#VALEUR{description}|texte_backend)]</description>
|
||||||
|
</item>
|
||||||
|
</BOUCLE_evenements>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
|
||||||
|
</rss>
|
|
@ -240,42 +240,55 @@ function filtre_lef_test_num($annee) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************
|
||||||
|
* Vérifie que le paramètre est un mot-clé correct
|
||||||
|
*************************************/
|
||||||
|
|
||||||
|
function filtre_lef_test_tag($tag) {
|
||||||
|
if (preg_match('/^[-a-z0-9]+$/', $tag)) {
|
||||||
|
return $tag;
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/************************************
|
/************************************
|
||||||
* Spécial filtre liste des évènements
|
* Spécial filtre liste des évènements
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
function filtre_lef_liste_evenements($annee) {
|
function filtre_lef_liste_evenements($annee) {
|
||||||
|
if (strlen($annee) == 0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
if (!is_numeric($annee)) {
|
if (!is_numeric($annee)) {
|
||||||
return "Paramètre année incorrect";
|
return "Paramètre année incorrect";
|
||||||
}
|
}
|
||||||
$evenementArray = lef_getEvenementArray($annee);
|
$evenementArray = lef_getEvenementArrayParAnnee($annee);
|
||||||
$evenementCount = count( $evenementArray);
|
return lef_getEvenementRows($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_liste_evenements_tag($tag) {
|
||||||
|
if (strlen($tag) == 0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (!preg_match('/^[-a-z0-9]+$/', $tag)) {
|
||||||
|
return "Paramètre tag incorrect";
|
||||||
|
} else {
|
||||||
|
$evenementArray = lef_getEvenementArrayParTag($tag);
|
||||||
|
return lef_getEvenementRows($evenementArray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function filtre_lef_evenement_array($annee) {
|
function filtre_lef_evenement_array($annee) {
|
||||||
if (!is_numeric($annee)) {
|
if (!is_numeric($annee)) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
return lef_getEvenementArray($annee);
|
return lef_getEvenementArrayParAnnee($annee);
|
||||||
|
}
|
||||||
|
|
||||||
|
function filtre_lef_evenement_array_tag($tag) {
|
||||||
|
return lef_getEvenementArrayParTag($tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
function filtre_lef_date($time) {
|
function filtre_lef_date($time) {
|
||||||
|
@ -288,15 +301,22 @@ function filtre_lef_date($time) {
|
||||||
* Le chemin du répertoire IMG est codé en dur !
|
* Le chemin du répertoire IMG est codé en dur !
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
function lef_getEvenementArray($annee) {
|
function lef_getEvenementArrayParAnnee($annee) {
|
||||||
|
return lef_getEvenementArray("libre-en-fete-".$annee, $annee);
|
||||||
|
}
|
||||||
|
|
||||||
|
function lef_getEvenementArrayParTag($tag) {
|
||||||
|
return lef_getEvenementArray($tag, "tags/".$tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
function lef_getEvenementArray($tag, $storeDir) {
|
||||||
$IMG_ROOT = "/var/lib/spip/sites/www.libre-en-fete.net/";
|
$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);
|
$jsonString = file_get_contents("https://www.agendadulibre.org/events.json?future=false&tag=".$tag);
|
||||||
$json = json_decode($jsonString, TRUE);
|
$json = json_decode($jsonString, TRUE);
|
||||||
$evenementCount = count($json);
|
$evenementCount = count($json);
|
||||||
|
|
||||||
$currentTime = date(DATE_ATOM);
|
$currentTime = date(DATE_ATOM);
|
||||||
$dirPath = $IMG_ROOT."IMG/agendadulibre/".$annee;
|
$dirPath = $IMG_ROOT."IMG/agendadulibre/".$storeDir;
|
||||||
if (!file_exists($dirPath)) {
|
if (!file_exists($dirPath)) {
|
||||||
mkdir($dirPath, 0777, TRUE);
|
mkdir($dirPath, 0777, TRUE);
|
||||||
}
|
}
|
||||||
|
@ -320,6 +340,29 @@ function lef_getEvenementArray($annee) {
|
||||||
return $evenementArray;
|
return $evenementArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function lef_getEvenementRows($evenementArray) {
|
||||||
|
$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 lef_comparaison($evt1, $evt2) {
|
function lef_comparaison($evt1, $evt2) {
|
||||||
$time1 = $evt1["time"];
|
$time1 = $evt1["time"];
|
||||||
$time2 = $evt2["time"];
|
$time2 = $evt2["time"];
|
||||||
|
|
Loading…
Reference in New Issue