Ajout documentation du flux et restriction de l'affichage complet

d'un article uniquement pour les actualités. Pour les émissions
ce n'est pas utile.
This commit is contained in:
Frédéric Couchet 2021-11-17 11:29:37 +01:00 committed by root
parent de4923b7a2
commit 604da58570

View File

@ -1,30 +1,59 @@
[(#REM) Fred : On fait une boucle sur la liste des articles des rubriques Emissions (rubrique n°1)
et Actualités (rubrique n°8)]
<BOUCLE_un_article(ARTICLES){id_article}{id_rubrique IN 1,8}{statut=publie}> <BOUCLE_un_article(ARTICLES){id_article}{id_rubrique IN 1,8}{statut=publie}>
<item> <item>
[(#ID_RUBRIQUE|=={1}|oui)<title>[#(#TITRE|attribut_html|texte_backend)]</title>] [(#REM) Fred : Si l'article concerne une émission on ajoute le # devant le titre ]
[(#ID_RUBRIQUE|=={8}|oui)<title>[(#TITRE|attribut_html|texte_backend)]</title>] [(#ID_RUBRIQUE|=={1}|oui)<title>[#(#TITRE|attribut_html|texte_backend)]</title>]
<link>[(#URL_ARTICLE|url_absolue)]</link>
[(#REM) Fred : Si l'article concerne une actualité on met juste le titre ]
[(#ID_RUBRIQUE|=={8}|oui)<title>[(#TITRE|attribut_html|texte_backend)]</title>]
<link>[(#URL_ARTICLE|url_absolue)]</link>
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ pubdate le champ DRUPAL_PUBDATE ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org ]
[(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#DATE|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})] [(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#DATE|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})]
[(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)<guid isPermaLink="false">[(#URL_ARTICLE|url_absolue)]</guid>]]
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ guid le champ DRUPAL_GUID ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org ]
[(#DRUPAL_GUID|oui)<guid isPermaLink="false">#DRUPAL_GUID</guid>] [(#DRUPAL_GUID|oui)<guid isPermaLink="false">#DRUPAL_GUID</guid>]
[(#REM) Fred : Pour les podcasts disponibles après l'import initial le champ DRUPAL_GUID est vide.
On utilise un test sur le champ PODCAST_DUREE, si ce champ est rempli c'est que les fichiers audios
sont disponibles. Dans ce cas, on utilise l'url de l'article comme guid ]
[(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)<guid isPermaLink="false">[(#URL_ARTICLE|url_absolue)]</guid>]]
[(#REM) Fred : On utilise un test sur le champ PODCAST_DUREE, si ce champ est rempli c'est que les fichiers audios
sont disponibles et donc on ajoute les champs enclosure et duration ]
[(#PODCAST_DUREE|choixsivide{"",<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#PODCAST_CODE)]/libre-a-vous-[(#PODCAST_CODE)].ogg" length="0" type="audio/ogg"/> [(#PODCAST_DUREE|choixsivide{"",<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#PODCAST_CODE)]/libre-a-vous-[(#PODCAST_CODE)].ogg" length="0" type="audio/ogg"/>
<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#PODCAST_CODE)]/libre-a-vous-[(#PODCAST_CODE)].mp3" length="0" type="audio/mpeg"/> <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#PODCAST_CODE)]/libre-a-vous-[(#PODCAST_CODE)].mp3" length="0" type="audio/mpeg"/>
<itunes:duration>[(#PODCAST_DUREE|libreavous_remove_microseconds)]</itunes:duration>})] <itunes:duration>[(#PODCAST_DUREE|libreavous_remove_microseconds)]</itunes:duration>})]
[(#REM) Fred : En fonction de la date et de l'heure on n'affiche pas les mêmes informations.
Si on est avant le début de l'émission, on affiche uniquement les champs PODCAST_SOMMAIRE et DESCRIPTION_RSS.
Si on est après l'émission *et* que le champ PODCAST_DUREE est rempli, cela signifie que les podcasts
sont disponibles. On ajoute alors l'information sur le fait que les podcasts sont disponibles.
Cette partie est présente surtout pour les lecteurs de flux RSS classiques, comme Liferea par exemple,
c'est à dire pas les lecteurs de podcasts. Ainsi, le lecteur de flux RSS mettra à jour l'article de l'émission et la
personne saura que les podcasts sont disponibles et qu'en cliquant sur le lien elle y accédera ]
[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})]
[(#ENV{date}|<={#GET{debut_emission}}|oui)<description>[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]] [(#ENV{date}|<={#GET{debut_emission}}|oui)<description>[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]]
[(#ENV{date}|>{#GET{debut_emission}}|oui)<description>[(#PODCAST_DUREE|oui)<p>Les podcasts de l'émission sont disponibles.</p>][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)] <p>Pour retrouver toutes les informations concernant cette émission ainsi que les références citées, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a>.</p>]</description> [(#ENV{date}|>{#GET{debut_emission}}|oui)<description>[(#PODCAST_DUREE|oui)&lt;p&gt;Les podcasts de l'émission sont disponibles.&lt;/p&gt;][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)]&lt;p&gt;Pour retrouver toutes les informations concernant l'émission, &lt;a href="[(#URL_ARTICLE|url_absolue)]"&gt;rendez-vous sur la page dédiée&lt;/a&gt;.&lt;/p&gt;]</description>
[(#REM) [(#REM)
Le bloc qui suit diffuse aussi le texte integral de l'article, Le bloc qui suit diffuse aussi le texte integral de l'article,
ce qui permet une syndication plus riche (mais plus "lourde"). ce qui permet une syndication plus riche (mais plus "lourde").
Fonction desactivable depuis les reglages du site. Fonction desactivable depuis les reglages du site.
][ ]
(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})<content:encoded>[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend)
]
[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})]
[(#ENV{date}|>{#GET{debut_emission}}|oui) [(#REM) Fred : On utilise la fonctionnalité d'affichage du texte intégral de l'article exclusivement pour
[&lt;div class='rss_chapo'&gt;[(#PODCAST_DUREE|oui)&lt;p&gt;Les podcasts de l'émission sont disponibles.&lt;/p&gt;][(#DESCRIPTION_RSS|propre|texte_backend)](#PODCAST_SOMMAIRE|propre|texte_backend)&lt;p&gt;Pour retrouver toutes les informations concernant l'émission, &lt;a href="[(#URL_ARTICLE|url_absolue)]"&gt;rendez-vous sur la page dédiée&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt; les articles de type Actualités, dans la rubrique n°8 donc]
]
[(#ID_RUBRIQUE|=={8}|oui)
[(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})<content:encoded>[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend)
] ]
[&lt;div class='rss_texte'&gt;(#TEXTE| [&lt;div class='rss_texte'&gt;(#TEXTE|
image_reduire{500,0}|texte_backend)&lt;/div&gt; image_reduire{500,0}|texte_backend)&lt;/div&gt;
@ -34,34 +63,70 @@
][&lt;div class='rss_ps'&gt;(#PS|texte_backend)&lt;/div&gt;] ][&lt;div class='rss_ps'&gt;(#PS|texte_backend)&lt;/div&gt;]
</content:encoded> </content:encoded>
] ]
]
[(#REM) [(#REM)
Le bloc qui suit diffuse l'adresse des documents associes aux articles ; Le bloc qui suit diffuse l'adresse des documents associes aux articles ;
ajouter par ex. {extension=mp3} pour limiter a un certain type de document. ajouter par ex. {extension=mp3} pour limiter a un certain type de document.
] <BOUCLE_documents(DOCUMENTS){id_article}{mode=document}{doublons}>[ ]
[(#REM) Fred: A priori cette partie est inutile pour nous mais je l'ai laissé ]
<BOUCLE_documents(DOCUMENTS){id_article}{mode=document}{doublons}>[
<enclosure url="(#URL_DOCUMENT|url_absolue|unique)"[ length="(#TAILLE)"][ type="(#MIME_TYPE)"] />] <enclosure url="(#URL_DOCUMENT|url_absolue|unique)"[ length="(#TAILLE)"][ type="(#MIME_TYPE)"] />]
</BOUCLE_documents> </BOUCLE_documents>
</item> </item>
[(#REM) Fred : on met dans une variable la valeur de DATE qui correspond à la date de publication de l'article,
utilisé dans le champ pubdate ci-dessus. On doit sauvegarder cette valeur car ensuite dans la boucle sur les
chapitres ci-dessous #DATE aurait pour valeur la date du jour ]
#SET{date_emission,#DATE} #SET{date_emission,#DATE}
</BOUCLE_un_article> </BOUCLE_un_article>
[(#REM) Fred : Après l'affichage de l'item concernant l'émission et donc le podcast complet, on passe aux sujets
individuels, qui sont dans des chapitres de l'article de l'émission ]
<BOUCLE_chapitres(CHAPITRES){id_article}> <BOUCLE_chapitres(CHAPITRES){id_article}>
[(#REM) Fred : on fait un test sur le champ OGG, si ce champ est rempli c'est que le fichier podcast du sujet
est disponible ]
<BOUCLE_test(CONDITION){si #OGG|!={""}}> <BOUCLE_test(CONDITION){si #OGG|!={""}}>
<item> <item>
<title>[(#TITRE|attribut_html|texte_backend)]</title> <title>[(#TITRE|attribut_html|texte_backend)]</title>
<link>[(#URL_ARTICLE|url_absolue)]</link> <link>[(#URL_ARTICLE|url_absolue)]</link>
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ pubdate le champ DRUPAL_PUBDATE ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org.
Pour les podcasts disponibles après l'import initial on utilise la variable date_emission qui contient la date
de publication de l'article de l'émission]
[(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#GET{date_emission}|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})] [(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#GET{date_emission}|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})]
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ guid le champ DRUPAL_GUID ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org.
Pour les podcasts disponibles après l'import initial on utilise le champ URL_CHAPITRE pour le guid]
[(#DRUPAL_GUID|choixsivide{<guid isPermaLink="false">[(#URL_CHAPITRE|url_absolue)]</guid>,<guid isPermaLink="false">#DRUPAL_GUID</guid>})] [(#DRUPAL_GUID|choixsivide{<guid isPermaLink="false">[(#URL_CHAPITRE|url_absolue)]</guid>,<guid isPermaLink="false">#DRUPAL_GUID</guid>})]
<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#CODE_PODCAST)]/libre-a-vous-[(#CODE_PODCAST)]-[(#CODE_FICHIER)].ogg" length="0" type="audio/ogg"/> <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#CODE_PODCAST)]/libre-a-vous-[(#CODE_PODCAST)]-[(#CODE_FICHIER)].ogg" length="0" type="audio/ogg"/>
<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#CODE_PODCAST)]/libre-a-vous-[(#CODE_PODCAST)]-[(#CODE_FICHIER)].mp3" length="0" type="audio/mpeg"/> <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#CODE_PODCAST)]/libre-a-vous-[(#CODE_PODCAST)]-[(#CODE_FICHIER)].mp3" length="0" type="audio/mpeg"/>
[(#REM) Fred : dans les chapitres il n'y a pas de champ de durée du podcast, donc on utilise une fonction pour calculer
la durée à partir des champs DEBUT et FIN. La fonction libreavous_duree_podcast étant définie dans libreavous_fonctions.php ]
[(#DEBUT|oui)[(#FIN|oui)<itunes:duration>[(#DEBUT|libreavous_duree_podcast{#FIN})]</itunes:duration>]] [(#DEBUT|oui)[(#FIN|oui)<itunes:duration>[(#DEBUT|libreavous_duree_podcast{#FIN})]</itunes:duration>]]
[(#REM) Fred : On met dans le champ description à la fois les références du sujet et aussi le contenu du
champ DESCRIPTION_RSS qui est optionnel. Ce champ permet de mettre un éventuel commentaire concernant le
sujet individuel ]
<description>[(#DESCRIPTION_RSS|propre|texte_backend)] [(#REFERENCES_SUJET|choixsivide{"",Les références : [(#REFERENCES_SUJET|propre|texte_backend)]})] <description>[(#DESCRIPTION_RSS|propre|texte_backend)] [(#REFERENCES_SUJET|choixsivide{"",Les références : [(#REFERENCES_SUJET|propre|texte_backend)]})]
[(#REM) [(#REM)
Le bloc qui suit diffuse la rubrique et les mots-cles Le bloc qui suit diffuse la rubrique et les mots-cles
sous forme de "microformats" sous forme de "microformats"
]<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>- ]
[(#REM) Fred: A priori cette partie est inutile pour nous mais je l'ai laissé ]
<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory"&gt;(#TITRE|supprimer_tags|texte_backend)&lt;/a&gt;] [&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory"&gt;(#TITRE|supprimer_tags|texte_backend)&lt;/a&gt;]
</BOUCLE_rubrique_mf><B_mots_mf> </BOUCLE_rubrique_mf><B_mots_mf>
/ <BOUCLE_mots_mf(MOTS){id_article}{", "}> / <BOUCLE_mots_mf(MOTS){id_article}{", "}>
@ -72,3 +137,4 @@
</item> </item>
</BOUCLE_test> </BOUCLE_test>
</BOUCLE_chapitres> </BOUCLE_chapitres>