Dépôt des squelettes

This commit is contained in:
Vincent Calame 2023-03-02 15:16:27 +00:00
parent 63ce759507
commit a839152976
7 changed files with 135 additions and 2 deletions

View File

@ -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
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

17
paquet.xml Normal file
View File

@ -0,0 +1,17 @@
<paquet
prefix="scrutariexport_libreavous"
categorie="squelette"
version="1.0.0"
etat="stable"
compatibilite="[3.2.8;4.1.*]"
>
<nom>Export au format ScrutariData pour Libre à Vous</nom>
<!-- personnalisons le site LIBRE À VOUS -->
<auteur>collectif APRIL</auteur>
<chemin path="squelettes" />
<chemin path="" />
</paquet>

View File

@ -0,0 +1,63 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function filtre_scrutari_attr($texte) {
$result = "";
$array = explode("\n", $texte);
for($i = 0; $i < count($array); $i++) {
$value = trim($array[$i]);
if (strlen($value) > 0) {
$result .= "<val>".$value."</val>\n";
}
}
return $result;
}
function filtre_scrutari_textebrut($texte) {
$u = $GLOBALS['meta']['pcre_u'];
$texte = str_replace("&nbsp;", " ", $texte);
$texte = preg_replace('/\s+/S' . $u, " ", $texte);
$texte = str_replace("<br/>", "\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, "<li", $offset);
if ($idx1 === false) {
break;
}
$idx2 = strpos($texte, ">", $idx1);
if ($idx2 === false) {
break;
}
$idx3 = strpos($texte, "</li>", $idx2);
if ($idx3 === false) {
break;
}
$value = substr($texte, $idx2 + 1, ($idx3 - $idx2 - 1));
$value = str_replace("&nbsp;", " ", $value);
$value = supprimer_tags($value);
$value = filtrer_entites($value);
$value = htmlspecialchars($value, ENT_XML1 | ENT_QUOTES);
$value = trim($value);
if (strlen($value) > 0) {
$result .= "<val>".$value."</val>\n";
}
$offset = $idx3 + 4;
}
return $result;
}

View File

@ -0,0 +1,6 @@
<corpus corpus-name="emission">
<corpus-metadata>
<phrase name="title">
<label xml:lang="fr">Émissions</label>
</phrase>
</corpus-metadata>

View File

@ -0,0 +1,16 @@
[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0"[ encoding="(#CHARSET)"]?>
<base>
<base-metadata>
<authority-uuid>april.org</authority-uuid>
<base-name>libreavous</base-name>
<phrase name="title">
<label xml:lang="fr">Libre à vous</label>
</phrase>
<phrase name="longtitle">
<label xml:lang="fr">Libre à vous, lémission de radio proposée par lApril sur la radio Cause Commune, « la voix des possibles ».</label>
</phrase>
<lang-ui>
<lang>fr</lang>
</lang-ui>
<base-icon>https://static.scrutari.net/april_libreavous.png</base-icon>
</base-metadata>

View File

@ -0,0 +1,18 @@
<BOUCLE_emmissions(ARTICLES){id_rubrique=1}>
<fiche fiche-id="#ID_ARTICLE">
<titre>#[(#SURTITRE)] - [Émission du [(#DATE|jour|libreavous_aveczerod)/][(#DATE|mois)/](#DATE|annee)] - [(#TITRE|libreavous_supp_numero|scrutari_textebrut)]</titre>
[<soustitre>(#DESCRIPTIF|scrutari_textebrut)</soustitre>]
[<date>(#DATE|affdate{'Y-m-d'})</date>]
<lang>fr</lang>
<href>https://www.libreavous.org/[(#URL_ARTICLE)]</href>
[<attr ns="april" key="personnes">
(#PODCAST_PERSONNES|propre|scrutari_liste)
</attr>]
[<attr ns="april" key="musique">
(#PODCAST_MUSIQUE|propre|scrutari_liste)
</attr>]
[<attr ns="april" key="sommaire">
(#PODCAST_SOMMAIRE|propre|scrutari_textebrut|scrutari_attr)
</attr>]
</fiche>
</BOUCLE_emmissions>

View File

@ -0,0 +1,9 @@
#CACHE{1800}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0"[ encoding="(#CHARSET)"]?>
<info>
<date>[(#DATE|affdate{'Y-m-d'})]</date>
<scrutaridata-url>spip.php?page=scrutari_data_debut</scrutaridata-url>
<scrutaridata-url>spip.php?page=scrutari_data_corpus_emission</scrutaridata-url>
<scrutaridata-url>spip.php?page=scrutari_data_fiches_emission</scrutaridata-url>
<xml-fragment><![CDATA[</corpus>]]></xml-fragment>
<xml-fragment><![CDATA[</base>]]></xml-fragment>
</info>