144 lines
8.7 KiB
HTML
144 lines
8.7 KiB
HTML
[(#REM) Fred : On fait une boucle sur la liste des articles des rubriques Emissions (rubrique n°1)
|
|
et Actualités (rubrique n°8).
|
|
On utilise le filtre statut=publie pour traiter les articles mis au statut « Publié en ligne » même
|
|
si la date de publication de l'article est dans le futur. Cela concerne l'émission à venir.
|
|
]
|
|
<BOUCLE_un_article(ARTICLES){id_article}{id_rubrique IN 1,8}{statut=publie}>
|
|
<item>
|
|
[(#REM) Fred : Si l'article concerne une émission on ajoute le # devant le titre ]
|
|
[(#ID_RUBRIQUE|=={1}|oui)<title>[#(#TITRE|attribut_html|texte_backend)]</title>]
|
|
|
|
[(#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>})]
|
|
|
|
[(#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>]
|
|
|
|
[(#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"/>
|
|
<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>})]
|
|
|
|
[(#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})]
|
|
[(#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 l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a>.</p>]</description>
|
|
|
|
[(#REM)
|
|
Le bloc qui suit diffuse aussi le texte integral de l'article,
|
|
ce qui permet une syndication plus riche (mais plus "lourde").
|
|
Fonction desactivable depuis les reglages du site.
|
|
]
|
|
|
|
[(#REM) Fred : On utilise la fonctionnalité d'affichage du texte intégral de l'article exclusivement pour
|
|
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)
|
|
]
|
|
[<div class='rss_texte'>(#TEXTE|
|
|
image_reduire{500,0}|texte_backend)</div>
|
|
][<div class="hyperlien"><:voir_en_ligne|html2unicode:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]}|texte_backend)]</a></div>
|
|
][<hr />
|
|
<div class='rss_notes'>(#NOTES|texte_backend)</div>
|
|
][<div class='rss_ps'>(#PS|texte_backend)</div>]
|
|
</content:encoded>
|
|
]
|
|
]
|
|
|
|
[(#REM)
|
|
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.
|
|
]
|
|
[(#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)"] />]
|
|
</BOUCLE_documents>
|
|
|
|
</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}
|
|
|
|
</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}>
|
|
|
|
[(#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|!={""}}>
|
|
<item>
|
|
<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.
|
|
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>})]
|
|
|
|
[(#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>})]
|
|
|
|
<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"/>
|
|
|
|
[(#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>]]
|
|
|
|
[(#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)]})]
|
|
[(#REM)
|
|
Le bloc qui suit diffuse la rubrique et les mots-cles
|
|
sous forme de "microformats"
|
|
|
|
]
|
|
[(#REM) Fred: A priori cette partie est inutile pour nous mais je l'ai laissé ]
|
|
|
|
<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
|
|
[<a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory">(#TITRE|supprimer_tags|texte_backend)</a>]
|
|
</BOUCLE_rubrique_mf><B_mots_mf>
|
|
/ <BOUCLE_mots_mf(MOTS){id_article}{", "}>
|
|
[<a href="[(#URL_MOT|url_absolue)]" rel="tag">(#TITRE|texte_backend)</a>]</BOUCLE_mots_mf>
|
|
|
|
</description>
|
|
|
|
</item>
|
|
</BOUCLE_test>
|
|
</BOUCLE_chapitres>
|
|
|