Ajout d'un flux RSS des dernières publications (expérimental)

svn/root/tags/v3.6.0
joseph@larmarange.net 9 years ago
parent 1d79ef3e33
commit 05d463cff5

2
.gitattributes vendored

@ -1,8 +1,10 @@
* text=auto !eol
action/zotspip_forcer_maj.php -text
base/zotspip.php -text
/biblio-rss.html -text
contenu/page-biblio.html -text
contenu/page-biblio.xml -text
contenu/zitem.html -text
csl/ama.csl -text
csl/apa.csl -text
csl/apsa.csl -text

@ -0,0 +1,20 @@
#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET}<B_RSS><?xml version="1.0" encoding="#CHARSET" ?>
<rss version="2.0" [(#REM) rss 2.0.9)]
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
>
<channel>
<title>[&#91;(#NOM_SITE_SPIP|texte_backend)&#93; <:zotspip:dernieres_publications:>]</title>
<link>[(#URL_PAGE{biblio}|url_absolue|texte_backend)]</link>
<language>[(#ENV{lang}|texte_backend)]</language>
<BOUCLE_RSS(ZITEMS){id_parent==0}{par date_ajout}{inverse}{0,50}{si #CONFIG{zotspip/flux_rss}}>
<item>
<title>[(#TITRE|texte_backend)]</title>
[(#CONFIG{zotspip/page_biblio}|oui)<link>[(#URL_PAGE{zitem,id=#ID_ZITEM}|url_absolue|texte_backend)]</link>]
<dc:format>text/html</dc:format>
<description>[(#MODELE{ref,id=#ID_ZITEM}|texte_backend)]</description>
<content:encoded>[(#INCLURE{fond=inclure/zitem,id_zitem,csl,details=complet,export=oui,nojs=on}|liens_absolus|texte_backend)]</content:encoded>
</item></BOUCLE_RSS>
</channel>
</rss>
</B_RSS>

@ -0,0 +1,15 @@
<BOUCLE_zitem(ZITEMS){id_zitem=#ENV{id}}{si #CONFIG{zotspip/page_biblio}}>
[(#REM) Fil d'Ariane ]
<p id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a> &gt; <a href="#URL_PAGE{biblio}"><:zotspip:titre_page_biblio:></a>[ &gt; <strong class="on">(#TITRE|couper{80})</strong>]</p>
<div class="contenu-principal">
<div class="cartouche">
[<p class="surtitre">(#ANNEE)</p>]
<h1 class="h1">#TITRE</h1>
[<p class="soustitre">(#AUTEURS)</p>]
</div>
</div>
#INCLURE{fond=inclure/zitem,id_zitem,csl,details=complet,export=oui,liens=oui,nojs=on}
</BOUCLE_zitem>

@ -64,6 +64,14 @@
<label for="titre_page_biblio"><:zotspip:label_titre_page_biblio:></label>
<input type="text" name="titre_page_biblio" class="text" value="#ENV*{titre_page_biblio}" id="titre_page_biblio" [(#HTML5|oui)required='required']/>
</li>
<li class="editer_flux_rss[ (#ENV**{erreurs}|table_valeur{flux_rss}|oui)erreur]">
<label for='flux_rss'><:zotspip:label_flux_rss:></label>
<p class="explication"><:zotspip:explication_flux_rss:></p>
<select name="flux_rss" id="flux_rss">
<option value=""[(#ENV{flux_rss}|=={''}|oui)selected="selected"]><:item_non:></option>
<option value="on"[(#ENV{flux_rss}|=={on}|oui)selected="selected"]><:item_oui:></option>
</select>
</li>
<li class="editer_autoriser_modif_zotero[ (#ENV**{erreurs}|table_valeur{autoriser_modif_zotero}|oui)erreur]">
<label for='autoriser_modif_zotero'><:zotspip:label_autoriser_modif_zotero:></label>
<p class="explication"><:zotspip:explication_autoriser_modif_zotero:></p>

@ -15,7 +15,7 @@
[(#FICHIER|non)[<a href="#URL">(#TITRE)</a>]]]
<abbr class="unapi-id" title="#ID_ZITEM"></abbr>
[(#ENV{details}|ou{#ENV{export}}|oui)
<div class="afficher_details" id="afficher_details_#ID_ZITEM" style="display:none;"><a href="javascript:void(0);" onClick="$('#details_#ID_ZITEM').toggle(400);"><:zotspip:afficher_masquer_details:></a></div>
[(#ENV{nojs}|non)<div class="afficher_details" id="afficher_details_#ID_ZITEM" style="display:none;"><a href="javascript:void(0);" onClick="$('#details_#ID_ZITEM').toggle(400);"><:zotspip:afficher_masquer_details:></a></div>]
<div class="details" id="details_#ID_ZITEM">]
[(#ENV{details}|oui)<div class="details">
[(#ENV{details}|=={complet}|non)
@ -42,10 +42,12 @@
[(#ENV{lien_voir}|oui)<div style="text-align:right;"><a href="[(#ID_ZITEM|voir_sur_zotero)]" target="_blank"><:zotspip:voir_sur_zotero:></a></div>]
[(#ENV{lien_modif}|oui)<div style="text-align:right;"><a href="[(#ID_ZITEM|modifier_sur_zotero)]" target="_blank"><:zotspip:modifier_en_ligne:></a></div>]
[(#ENV{liste}|?{</li>,</div>})]
<script type="text/javascript">// <![CDATA[
[(#ENV{nojs}|non)
<script type="text/javascript">
$(document).ready(function(){
$('#afficher_details_#ID_ZITEM').show();
$('#details_#ID_ZITEM').hide();
});
//]]></script>
</script>
]
</BOUCLE_zitem>

@ -26,6 +26,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'createurs' => 'Auteur(s)',
// D
'dernieres_publications' => 'Dernières publications',
'description_page-biblio' => 'Recherche et affichage des références bibliographiques de la librairie Zotero synchronisée avec ZotSpip.',
'deselectionner_tout' => 'Déselectionner tout',
'droits_insuffisants' => 'Vous navez pas les droits requis pour procéder à cette modification.',
@ -39,6 +40,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explication_autoriser_modif_zotero' => 'Activer les options de modification de la librairie Zotero (par exemple, la fusion dauteurs) ? Si oui, qui a les droits suffisants pour valider ces modifications ? ATTENTION : vous devez également vérifier que vote <em>Clé API</em> a les droits en écriture.',
'explication_corriger_date' => 'Zotero transmets les dates de publication telles quelles ont été saisies. Dès lors, le processeur CSL nest pas toujours en capacité de décomposer correctement ces dernières en raison de la grande variété de formats différents. Si tel est le cas, la date de publication ne sera pas affichée une fois les références mises en forme. ZotSpip peut corriger en amont les dates de publications. Attention : seule lannée sera alors transmise au processeur CSL, sauf si la date est de la forme aaaa-mm-jj ou aaaa-mm. Cette option na par contre aucune répercussion sur la librairie Zotero elle-même.',
'explication_depuis' => 'Soit une année (par exemple : <em>2009</em>), soit une durée en année suivie du mot français <em>ans</em> (par exemple : <em>3ans</em>) ou du mot anglais <em>years</em> (par exemple : <em>3years</em>).',
'explication_flux_rss' => 'Accessible à l\'adresse <em>spip.php?page=biblio-rss</em>, ce flux RSS présente les 50 derniers ajouts à la base bibliographique.',
'explication_id_librairie' => 'Pour une librairie personnelle, le <em>userID</em> est indiqué sur la <a href="https://www.zotero.org/settings/keys">page Zotero de gestion des clés personnelles</a>. Pour un groupe, le <em>groupID</em> se trouve dans lURL de configuration du groupe qui est de la forme <em>https://www.zotero.org/groups/&lt;groupID&gt;/settings</em>.',
'explication_maj_zotspip' => 'ZotSpip se synchronise à intervalles réguliers (environ toutes les 4 heures) avec le serveur Zotero. Seules les dernières modifications (depuis la dernière synchronisation) sont prises en compte. Au besoin, vous pouvez forcer une mise à jour complète de la base de données, toutes les références étant alors téléchargées à nouveau (si votre librairie est importante, cette synchronisation se fera en plusieurs étapes, seulement 50 références pouvant être mises à jour à la fois).',
'explication_ordre_types' => 'Vous pouvez personnaliser lordre utilisé pour les tris par type de référence (changez lordre par glisser/déposer).',
@ -74,6 +76,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'item_type_annee' => 'par type puis par année',
'item_type_librairie_group' => 'groupe',
'item_type_librairie_user' => 'utilisateur',
'item_updated' => 'par date de mise à jour',
'item_volume' => 'par numéro de volume',
'item_webmestre' => 'seulement les webmestres',
'items_zotero' => 'Références Zotero',
@ -92,6 +95,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_details' => 'Détails',
'label_editeur' => 'Maison dédition',
'label_export' => 'Afficher les options dexportation ?',
'label_flux_rss' => 'Activer le flux RSS ?',
'label_id_librairie' => 'Identifiant de la librairie',
'label_identifiants_zotero' => 'Identifiants Zotero',
'label_liens' => 'Afficher les liens ?',

@ -18,7 +18,7 @@
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<ul class="spip">
<BOUCLE_biblio_type(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{par_type_zotero}{pagination #ENV{max,50}}>
<BOUCLE_biblio_type(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{id_zitem?}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{par_type_zotero}{pagination #ENV{max,50}}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne},form_export=#GET{export}}
</BOUCLE_biblio_type>
</ul>
@ -34,7 +34,7 @@
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<ul class="spip">
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{tri,auteurs},#GET{defaut_tri}}{pagination #ENV{max,50}}>
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{id_zitem?}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{tri,auteurs},#GET{defaut_tri}}{pagination #ENV{max,50}}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne},form_export=#GET{export}}
</BOUCLE_biblio>
</ul>

@ -1,7 +1,7 @@
<paquet
prefix="zotspip"
categorie="edition"
version="3.1.1"
version="3.2.0"
etat="stable"
compatibilite="[3.0.0;3.0.*]"
logo="prive/themes/spip/images/zotspip-48.png"

@ -3,15 +3,15 @@
auteurs,1,
annee,-1,
type_ref,1,
volume,-1,
numero,-1
date_ajout,-1,
updated,-1
}})]
<B_biblio>
<p class="pagination">[(#TRI{auteurs,<:zotspip:item_premier_auteur:>})] | [(#TRI{annee,<:zotspip:item_annee:>})] | [(#TRI{type_ref,<:zotspip:item_type:>})] | [(#TRI{volume,<:zotspip:item_volume:>})] | [(#TRI{numero,<:zotspip:item_numero:>})]</p>
<p class="pagination">[(#TRI{auteurs,<:zotspip:item_premier_auteur:>})] | [(#TRI{annee,<:zotspip:item_annee:>})] | [(#TRI{type_ref,<:zotspip:item_type:>})]<br />[(#TRI{date_ajout,<:zotspip:item_date_ajout:>})] | [(#TRI{updated,<:zotspip:item_updated:>})]</p>
<div class="liste">
<ul class="liste-items">
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,auteurs},#GET{defaut_tri}}{pagination 25}>
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,updated},#GET{defaut_tri}}{pagination 25}>
<li class="item"><p><ul>#INCLURE{fond=inclure/zitem,id_zitem,liste=oui,icones=oui,details=complet,export=oui,liens=oui,souligne=#ENV{auteur},lien_voir=oui,afficher_id=oui}</ul></p></li>
</BOUCLE_biblio>
</ul></div>

Loading…
Cancel
Save