source: spip-zone/_plugins_/rss_configurable/trunk/backend.html @ 111529

Last change on this file since 111529 was 111529, checked in by luc.tech@…, 3 years ago

Montée de version pour favoriser la mise à jour du correctif

File size: 6.2 KB
Line 
1[(#REM)
2        Ce fichier sert à créer les flux RSS
3        qui permettent aux visiteurs de suivre l'actualité
4        de votre site depuis un lecteur de news.
5
6        Cette page génère un code XML/RSS adapté
7
8][(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml
9version="1.0"[ encoding="(#CHARSET)"]?>
10<rss version="2.0" [(#REM) rss 2.0.9)]
11        xmlns:dc="http://purl.org/dc/elements/1.1/"
12        xmlns:content="http://purl.org/rss/1.0/modules/content/"
13        xmlns:atom="http://www.w3.org/2005/Atom"
14>
15[(#SET{flux_articles,#CONFIG{rssconfig/activer}|!={non}|oui})]
16[(#SET{flux_breves,#PLUGIN{breves}|et{#CONFIG{activer_breves}|=={oui}}|et{#CONFIG{rssconfig_breves/activer}|!={non}}|et{#CONFIG{rssconfig_breves/flux,breves}|!={breves}}|oui})]
17[(#SET{flux_sites,#PLUGIN{sites}|et{#CONFIG{activer_sites}|=={oui}}|et{#CONFIG{rssconfig_sites/activer}|!={non}}|et{#CONFIG{rssconfig_sites/flux,sites}|!={sites}}|oui})]
18
19<channel[ xml:lang="(#LANG)"]>
20        <title>[(#NOM_SITE_SPIP|textebrut|texte_backend)]-#GET{flux_sites}-#GET{flux_breves}-#GET{flux_articles}</title>
21        <link>#URL_SITE_SPIP/</link>
22        [<description>(#DESCRIPTIF_SITE_SPIP|supprimer_tags|texte_backend)</description>]
23        <language>#LANG</language>
24        <generator>SPIP - www.spip.net</generator>
25        <atom:link href="[(#SELF|url_absolue)]" rel="self" type="application/rss+xml" />
26[       <image>
27                <title>[(#NOM_SITE_SPIP|texte_backend)]</title>
28                <url>(#LOGO_SITE_SPIP||image_reduire{144,400}|extraire_attribut{src}|url_absolue|texte_backend)</url>
29                <link>#URL_SITE_SPIP/</link>
30                [<height>(#LOGO_SITE_SPIP||image_reduire{144,400}|extraire_attribut{height})</height>]
31                [<width>(#LOGO_SITE_SPIP||image_reduire{144,400}|extraire_attribut{width})</width>]
32        </image>
33]
34[(#REM) tableau qui pour stocker les items ramenes par les boucles
35        cle = art ou bre ou sit + id (ex : art124 pour article avec id_article1234)
36                valeur = date
37]
38#SET{elements,#ARRAY}
39
40[(#REM) collecte des articles ]
41
42[(#REM) Si la saisie des rubriques a ete faites avec le selecteur, on utilise le filtre picker_selected
43                        sinon, on explode la chaine saisie ]
44#SET{rubriques_a_inclure,#CONFIG{rssconfig/rubriques_a_inclure}|picker_selected{rubrique}}
45[(#GET{rubriques_a_inclure}|count|=={0}|et{#GET{rubriques_a_inclure}|is_array|non}|oui) #SET{rubriques_a_inclure,#CONFIG{rssconfig/rubriques_a_inclure}|explode{','}}]
46#SET{id_rubrique,#ENV{id_rubrique,#GET{rubriques_a_inclure}}}
47
48<BOUCLE_recents(ARTICLES) {si #GET{flux_articles}|==oui} {lang ?}{branche #GET{id_rubrique,?}} {id_mot ?}{id_auteur ?} {par date}{inverse}{0,#CONFIG{rssconfig/nb_art,10}}{unique}>
49[(#SET{elements,#GET{elements}|array_merge{#ARRAY{art#ID_ARTICLE,#DATE}}})]
50</BOUCLE_recents>
51<BOUCLE_tres_recents(ARTICLES) {si #GET{flux_articles}|=={oui}} {lang ?}{branche #GET{id_rubrique,?}} {id_mot ?}{id_auteur ?} {par date}{inverse}{age<#CONFIG{rssconfig/age_art,3}}{unique}>
52[(#SET{elements,#GET{elements}|array_merge{#ARRAY{art#ID_ARTICLE,#DATE}}})]
53</BOUCLE_tres_recents>
54<BOUCLE_recemment_modifies(ARTICLES) {si #GET{flux_articles}|=={oui}} {lang ?}{branche #GET{id_rubrique,?}} {id_mot ?}{id_auteur ?} {par date}{inverse}{age_modif < #CONFIG{rssconfig/age_modif,0}}{unique}>
55[(#SET{elements,#GET{elements}|array_merge{#ARRAY{art#ID_ARTICLE,#DATE}}})]
56</BOUCLE_recemment_modifies>
57
58[(#REM) collecte des breves ]
59
60[(#REM) Si la saisie des rubriques a ete faites avec le selecteur, on utilise le filtre picker_selected
61                        sinon, on explode la chaine saisie ]
62#SET{rubriques_a_inclure_breves,#CONFIG{rssconfig_breves/rubriques_a_inclure}|picker_selected{rubrique}}
63[(#GET{rubriques_a_inclure_breves}|count|=={0}|et{#GET{rubriques_a_inclure_breves}|is_array|non}|oui) #SET{rubriques_a_inclure_breves,#CONFIG{rssconfig_breves/rubriques_a_inclure}|explode{','}}]
64#SET{id_rubrique,#ENV{id_rubrique,#GET{rubriques_a_inclure_breves}}}
65
66<BOUCLE_recentsb(BREVES)  {si #GET{flux_breves}|==oui} {lang ?}{branche #GET{id_rubrique,?}} {id_mot ?} {par date}{inverse}{0,#CONFIG{rssconfig_breves/nb_art,20}}{unique}>
67[(#SET{elements,#GET{elements}|array_merge{#ARRAY{bre#ID_BREVE,#DATE}}})]
68</BOUCLE_recentsb>
69<BOUCLE_tres_recentsb(BREVES) {si #GET{flux_breves}|==oui} {lang ?}{branche #GET{id_rubrique,?}} {id_mot ?} {par date}{inverse}{age<#CONFIG{rssconfig_breves/age_art,0}}{unique}>
70[(#SET{elements,#GET{elements}|array_merge{#ARRAY{bre#ID_BREVE,#DATE}}})]
71</BOUCLE_tres_recentsb>
72<BOUCLE_recemment_modifiesb(BREVES) {si #GET{flux_breves}|==oui} {lang ?}{branche #GET{id_rubrique,?}} {id_mot ?} {par date}{inverse}{age_modif < #CONFIG{rssconfig_breves/age_modif,0}}{unique}>
73[(#SET{elements,#GET{elements}|array_merge{#ARRAY{bre#ID_BREVE,#DATE}}})]
74</BOUCLE_recemment_modifiesb>
75
76
77[(#REM) collecte des sites ]
78
79[(#REM) Si la saisie des rubriques a ete faites avec le selecteur, on utilise le filtre picker_selected
80                        sinon, on explode la chaine saisie ]
81#SET{rubriques_a_inclure_sites,#CONFIG{rssconfig_sites/rubriques_a_inclure}|picker_selected{rubrique}}
82[(#GET{rubriques_a_inclure_sites}|count|=={0}|et{#GET{rubriques_a_inclure_sites}|is_array|non}|oui) #SET{rubriques_a_inclure_sites,#CONFIG{rssconfig_sites/rubriques_a_inclure}|explode{','}}]
83#SET{id_rubrique,#ENV{id_rubrique,#GET{rubriques_a_inclure_sites}}}
84
85<BOUCLE_recentss(SITES) {si #GET{flux_sites}|==oui} {branche #GET{id_rubrique,?}} {id_mot ?} {par date}{inverse} >
86[(#SET{elements,#GET{elements}|array_merge{#ARRAY{sit#ID_SYNDIC,#DATE}}})]
87</BOUCLE_recentss>
88
89<BOUCLE_tres_recentss(SITES) {si #GET{flux_sites}|==oui} {branche #GET{id_rubrique,?}} {id_mot ?} {par date}{inverse}{age<#CONFIG{rssconfig_sites/age_art,0}}{unique}>
90[(#SET{elements,#GET{elements}|array_merge{#ARRAY{sit#ID_SYNDIC,#DATE}}})]
91</BOUCLE_tres_recentss>
92
93
94
95[(#REM) tri du tableau sur la date (champ valeur)
96        et pour chaque item ecriture rss selon le type ]
97<BOUCLE_lesflux(DATA) {source table, #GET{elements} } {par valeur} {inverse}>
98#SET{type,(#CLE|couper{3})}
99#SET{id,(#CLE|replace{#GET{type},''})}
100[(#GET{type}|=={art}|oui)<INCLURE{fond=inclure/rss-item}{id_article=#GET{id}}>]
101[(#GET{type}|=={bre}|oui)<INCLURE{fond=inclure/rss-item-breve}{id_breve=#GET{id}}>]
102[(#GET{type}|=={sit}|oui)<INCLURE{fond=inclure/rss-item-site}{id_syndic=#GET{id}}>]
103</BOUCLE_lesflux>
104
105</channel>
106</rss>
Note: See TracBrowser for help on using the repository browser.