Dépôt des squelettes
This commit is contained in:
parent
63ce759507
commit
d17d471036
@ -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
17
paquet.xml
Normal 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>
|
63
scrutariexport_libreavous_fonctions.php
Normal file
63
scrutariexport_libreavous_fonctions.php
Normal 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(" ", " ", $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(" ", " ", $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;
|
||||
}
|
||||
|
6
squelettes/scrutari_data_corpus_emission.html
Normal file
6
squelettes/scrutari_data_corpus_emission.html
Normal file
@ -0,0 +1,6 @@
|
||||
<corpus corpus-name="emission">
|
||||
<corpus-metadata>
|
||||
<phrase name="title">
|
||||
<label xml:lang="fr">Émissions</label>
|
||||
</phrase>
|
||||
</corpus-metadata>
|
16
squelettes/scrutari_data_debut.html
Normal file
16
squelettes/scrutari_data_debut.html
Normal 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 l’April 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>
|
18
squelettes/scrutari_data_fiches_emission.html
Normal file
18
squelettes/scrutari_data_fiches_emission.html
Normal 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>
|
9
squelettes/scrutari_info.html
Normal file
9
squelettes/scrutari_info.html
Normal 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>
|
Loading…
Reference in New Issue
Block a user