diff --git a/README.md b/README.md index 7e82cc8..780d338 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ -# scrutariexport_libreavous +# Plugin d'Export au format ScrutariData pour le site libreavous.org -Export au format ScrutariData pour le site libreavous.org \ No newline at end of file +Ce plugin contient les squelettes nécessaires à l'exportation au format XML ScrutariData de la structure du site libreavous.org + +Seuls les articles de la rubrique Émissions (rubrique n°1) sont exportés. + +Le format ScrutariData est décrit ici : https://www.scrutari.net/dokuwiki/scrutaridata:index diff --git a/paquet.xml b/paquet.xml new file mode 100644 index 0000000..56bfe91 --- /dev/null +++ b/paquet.xml @@ -0,0 +1,17 @@ + + Export au format ScrutariData pour Libre à Vous + + + collectif APRIL + + + + + + diff --git a/scrutariexport_libreavous_fonctions.php b/scrutariexport_libreavous_fonctions.php new file mode 100644 index 0000000..9eb6146 --- /dev/null +++ b/scrutariexport_libreavous_fonctions.php @@ -0,0 +1,63 @@ + 0) { + $result .= "".$value."\n"; + } + } + return $result; +} + +function filtre_scrutari_textebrut($texte) { + $u = $GLOBALS['meta']['pcre_u']; + $texte = str_replace(" ", " ", $texte); + $texte = preg_replace('/\s+/S' . $u, " ", $texte); + $texte = str_replace("
", "\n\n", $texte); + $texte = preg_replace("/<(p|br|li|h[1-6]|dd|dt)( [^>]*)?" . ">/iS", "\n\n", $texte); + $texte = preg_replace("/^\n+/", "", $texte); + $texte = preg_replace("/\n+$/", "", $texte); + $texte = preg_replace("/\n +/", "\n", $texte); + $texte = supprimer_tags($texte); + $texte = filtrer_entites($texte); + $texte = htmlspecialchars($texte, ENT_XML1 | ENT_QUOTES); + return $texte; +} + + +function filtre_scrutari_liste($texte) { + $result = ""; + $offset = 0; + while(true) { + $idx1 = strpos($texte, "", $idx1); + if ($idx2 === false) { + break; + } + $idx3 = strpos($texte, "", $idx2); + if ($idx3 === false) { + break; + } + $value = substr($texte, $idx2 + 1, ($idx3 - $idx2 - 1)); + $value = str_replace(" ", " ", $value); + $value = supprimer_tags($value); + $value = filtrer_entites($value); + $value = htmlspecialchars($value, ENT_XML1 | ENT_QUOTES); + $value = trim($value); + if (strlen($value) > 0) { + $result .= "".$value."\n"; + } + $offset = $idx3 + 4; + } + return $result; +} + diff --git a/squelettes/scrutari_data_corpus_emission.html b/squelettes/scrutari_data_corpus_emission.html new file mode 100644 index 0000000..2359f21 --- /dev/null +++ b/squelettes/scrutari_data_corpus_emission.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/squelettes/scrutari_data_debut.html b/squelettes/scrutari_data_debut.html new file mode 100644 index 0000000..7c72e78 --- /dev/null +++ b/squelettes/scrutari_data_debut.html @@ -0,0 +1,16 @@ +[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] + + + april.org + libreavous + + + + + + + + fr + + https://static.scrutari.net/april_libreavous.png + diff --git a/squelettes/scrutari_data_fiches_emission.html b/squelettes/scrutari_data_fiches_emission.html new file mode 100644 index 0000000..1c33be7 --- /dev/null +++ b/squelettes/scrutari_data_fiches_emission.html @@ -0,0 +1,18 @@ + + + #[(#SURTITRE)] - [Émission du [(#DATE|jour|libreavous_aveczerod)/][(#DATE|mois)/](#DATE|annee)] - [(#TITRE|libreavous_supp_numero|scrutari_textebrut)] + [(#DESCRIPTIF|scrutari_textebrut)] + [(#DATE|affdate{'Y-m-d'})] + fr + https://www.libreavous.org/[(#URL_ARTICLE)] + [ + (#PODCAST_PERSONNES|propre|scrutari_liste) + ] + [ + (#PODCAST_MUSIQUE|propre|scrutari_liste) + ] + [ + (#PODCAST_SOMMAIRE|propre|scrutari_textebrut|scrutari_attr) + ] + + diff --git a/squelettes/scrutari_info.html b/squelettes/scrutari_info.html new file mode 100644 index 0000000..26b9a1f --- /dev/null +++ b/squelettes/scrutari_info.html @@ -0,0 +1,9 @@ +#CACHE{1800}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] + +[(#DATE|affdate{'Y-m-d'})] +spip.php?page=scrutari_data_debut +spip.php?page=scrutari_data_corpus_emission +spip.php?page=scrutari_data_fiches_emission +]]> +]]> +