Browse Source

- message d'erreur si style CSL non dispo

- Amélioration des modèles
- Page spip.php?page=biblio pour Zpip
- Ajout de saisies
v1
joseph@larmarange.net 9 years ago
parent
commit
fe4451f21b
27 changed files with 356 additions and 18 deletions
  1. +16
    -0
      .gitattributes
  2. +10
    -0
      contenu/page-biblio.html
  3. +4
    -0
      formulaires/configurer_zotspip.html
  4. +19
    -1
      lang/zotspip_fr.php
  5. +2
    -2
      modeles/biblio.html
  6. +5
    -2
      modeles/biblio_annee.html
  7. +4
    -3
      modeles/biblio_annee_type.html
  8. +11
    -0
      modeles/biblio_auteur.html
  9. +2
    -2
      modeles/biblio_simple.html
  10. +3
    -2
      modeles/biblio_type.html
  11. +4
    -3
      modeles/biblio_type_annee.html
  12. +17
    -0
      navigation/page-biblio.html
  13. +1
    -0
      plugin.xml
  14. +1
    -0
      saisies-vues/csl.html
  15. +1
    -0
      saisies-vues/zotspip_type.html
  16. +22
    -0
      saisies/csl.html
  17. +22
    -0
      saisies/zotspip_annee.html
  18. +22
    -0
      saisies/zotspip_collection.html
  19. +22
    -0
      saisies/zotspip_conference.html
  20. +22
    -0
      saisies/zotspip_creator.html
  21. +22
    -0
      saisies/zotspip_editeur.html
  22. +22
    -0
      saisies/zotspip_publication.html
  23. +22
    -0
      saisies/zotspip_tag.html
  24. +22
    -0
      saisies/zotspip_type.html
  25. +22
    -0
      saisies/zotspip_type_doc.html
  26. +28
    -0
      saisies/zotspip_zcollection.html
  27. +8
    -3
      zotspip_fonctions.php

+ 16
- 0
.gitattributes View File

@ -1,6 +1,7 @@
* text=auto !eol
action/zotspip_forcer_maj.php -text
base/zotspip.php -text
contenu/page-biblio.html -text
csl/ama.csl -text
csl/apa.csl -text
csl/apsa.csl -text
@ -144,9 +145,11 @@ lib/citeproc-php/locale/locales-zh-TW.xml -text
modeles/biblio.html -text
modeles/biblio_annee.html -text
modeles/biblio_annee_type.html -text
modeles/biblio_auteur.html -text
modeles/biblio_simple.html -text
modeles/biblio_type.html -text
modeles/biblio_type_annee.html -text
navigation/page-biblio.html -text
/plugin.xml -text
prive/exec/configurer_zotspip.html -text
prive/exec/generer_langue_zotero.html -text
@ -154,6 +157,19 @@ prive/exec/zcreator.html -text
prive/exec/zcreators.html -text
prive/exec/zitems.html -text
prive/inclure/maj_zotspip.html -text
saisies-vues/csl.html -text
saisies-vues/zotspip_type.html -text
saisies/csl.html -text
saisies/zotspip_annee.html -text
saisies/zotspip_collection.html -text
saisies/zotspip_conference.html -text
saisies/zotspip_creator.html -text
saisies/zotspip_editeur.html -text
saisies/zotspip_publication.html -text
saisies/zotspip_tag.html -text
saisies/zotspip_type.html -text
saisies/zotspip_type_doc.html -text
saisies/zotspip_zcollection.html -text
/zotspip_administrations.php -text
/zotspip_cron.php -text
/zotspip_file.html -text


+ 10
- 0
contenu/page-biblio.html View File

@ -0,0 +1,10 @@
[(#REM) Fil d'Ariane ]
<p id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a> &gt; <strong class="on"><:zotspip:titre_page_biblio:></strong></p>
<div class="contenu-principal">
<div class="cartouche">
[<h1 class="h1">(#CONFIG{titre_page_biblio,<:zotspip:titre_page_biblio:>})</h1>]
</div>
</div>
[(#REM) Le type de reference est passe dans type_ref pour eviter colision avec Zpip et le type de page. ]
#INCLURE{fond=modeles/biblio_#ENV{tri,annee},type=#ENV{type_ref},env}

+ 4
- 0
formulaires/configurer_zotspip.html View File

@ -52,6 +52,10 @@
</select>
</li>
</B_csl_defaut>
<li class="editer_titre_page_biblio[ (#ENV**{erreurs}|table_valeur{titre_page_biblio}|oui)erreur]">
<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_corriger_date[ (#ENV**{erreurs}|table_valeur{corriger_date}|oui)erreur]">
<label><:zotspip:label_corriger_date:></label>
<p class="explication"><:zotspip:explication_corriger_date:></p>


+ 19
- 1
lang/zotspip_fr.php View File

@ -21,28 +21,45 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explication_api_key' => 'S\'obtient sur la <a href="https://www.zotero.org/settings/keys">page Zotero de gestion des clés personnelles</a>. Pensez à accorder des droits d\'accès suffisants à cette clé.',
'explication_corriger_date' => 'Zotero transmets les dates de publication telles qu\'elles ont été saisies. Dès lors, le processeur CSL n\'est 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 l\'année sera alors transmise au processeur CSL, sauf si la date est de la forme aaaa-mm-jj ou aaaa-mm. Cette option n\'a par contre aucune répercussion sur la librairie Zotero elle-même.',
'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 l\'URL 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érénces pouvant être mises à jour à la fois).',
'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 l\'ordre utilisé pour les tris par type de référence (changez l\'ordre par glisser/déposer).',
'explication_username' => 'Pour une librairie personnelle, le nom d\'utilisateur est indiqué sur la <a href="https://www.zotero.org/settings/account">page de configuration du compte</a>. Pour un groupe partagé, le nom du groupe se situe à la fin de l\'URL de la page d\'accueil du groupe qui est de la forme <em>https://www.zotero.org/groups/&lt;nom_du_groupe&gt;</em> (dans certain cas, le nom du groupe correspondant à son identifiant numérique).',
'exporter_reference' => 'Exporter la référence :',
'filtrer' => 'Filtrer',
'identifier_via_doi' => 'Identifier la ressource à partir de son DOI',
'identifier_via_isbn' => 'Identifier la ressource à partir de son ISBN',
'items_zotero' => 'Références Zotero',
'item_annee' => 'par année',
'item_annee_type' => 'par année puis par type',
'item_auteur' => 'par auteur',
'item_type' => 'par type de référence',
'item_type_annee' => 'par type puis par année',
'item_type_librairie_group' => 'groupe',
'item_type_librairie_user' => 'utilisateur',
'label_annee' => 'Année',
'label_api_key' => 'Clé API',
'label_auteur' => 'Auteur',
'label_collection' => 'Collection',
'label_corriger_date' => 'Corriger les dates de publication',
'label_csl' => 'Style CSL (mise en forme)',
'label_csl_defaut' => 'Style par défaut',
'label_identifiants_zotero' => 'Identifiants Zotero',
'label_id_librairie' => 'Identifiant de la librairie',
'label_options' => 'Options',
'label_ordre_types' => 'Tri par type de référence',
'label_recherche_libre' => 'Recherche libre',
'label_tag' => 'Mot-Clé',
'label_tags' => 'Mots-Clés',
'label_titre_page_biblio' => 'Titre de la page spip.php?page=biblio',
'label_tri' => 'Tri',
'label_type_librairie' => 'Type de librairie Zotero',
'label_type_ref' => 'Type de référence',
'label_username' => 'Nom d\'utilisateur ou du groupe',
'label_zcollection' => 'Collection Zotero',
'lien_ressource' => 'Lien vers la ressource',
'liste_createurs' => 'Listes des contributeurs',
'maj_zotspip' => 'Mettre à jour ZotSpip',
'message_erreur_style_csl' => 'Le style CSL @style@.csl n\'a pas été trouvé sur le serveur (fichier inexistant ou plugin désactivé).',
'modifier_en_ligne' => 'Modifier en ligne sur zotero.org',
'nom_prenom' => 'Nom, Prénom',
'plusieurs_references' => '@nb@ références',
@ -57,6 +74,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'sync_complete_demandee' => 'Une synchronisation complète de la base a été demandée.',
'sync_en_cours' => 'La synchronisation est en cours mais n\'est toujours pas terminée. Veuillez cliquer à nouveau sur <em>Synchroniser</em>.',
'tags' => 'Mots-clés :',
'titre_page_biblio' => 'Références bibliographiques',
'une_reference' => '1 référence',
'zotspip' => 'ZotSpip',
);


+ 2
- 2
modeles/biblio.html View File

@ -13,7 +13,7 @@
<BOUCLE_test_tri(CONDITION){si #ENV{par}|=={type}}>
<B_biblio_type>
<ul class="spip">
<BOUCLE_biblio_type(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}>
<BOUCLE_biblio_type(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio_type>
</ul>
@ -21,7 +21,7 @@
</BOUCLE_test_tri>
<B_biblio>
<ul class="spip">
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,auteurs},#GET{defaut_tri}}>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,auteurs},#GET{defaut_tri}}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio>
</ul>


+ 5
- 2
modeles/biblio_annee.html View File

@ -2,10 +2,13 @@
#SET{export,#ENV{export}|=={non}|?{'','on'}}
#SET{liens,#ENV{liens}|=={non}|?{'','on'}}
#SET{souligne,#ENV{auteur}|et{#ENV{souligne}|!={non}}|?{#ENV{auteur},''}}
#SET{alea,#EVAL{rand()}} [(#REM) besoin d'un alea pour unique car le modele peut etre appele plusieurs fois (typiquement pour l'intro, puis pour le texte). ]
[(#REM) pagination de 50 car limite pour l'export des references. ]
<B_biblio>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{!par annee}{par auteurs}{json LIKE %#ENV{recherche}%}>
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique)</h4><ul class="spip">]
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{!par annee}{par auteurs}{json LIKE %#ENV{recherche}%}{pagination 50}>
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique{annee_#GET{alea}})</h4><ul class="spip">]
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio>
</ul>
[<p class="pagination">(#PAGINATION)</p>]
</B_biblio>

+ 4
- 3
modeles/biblio_annee_type.html View File

@ -2,11 +2,12 @@
#SET{export,#ENV{export}|=={non}|?{'','on'}}
#SET{liens,#ENV{liens}|=={non}|?{'','on'}}
#SET{souligne,#ENV{auteur}|et{#ENV{souligne}|!={non}}|?{#ENV{auteur},''}}
#SET{alea,#EVAL{rand()}} [(#REM) besoin d'un alea pour unique car le modele peut etre appele plusieurs fois (typiquement pour l'intro, puis pour le texte). ]
<B_biblio>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{!par annee}{par_type_zotero}{par auteurs}{json LIKE %#ENV{recherche}%}>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{!par annee}{par_type_zotero}{par auteurs}{json LIKE %#ENV{recherche}%}>
#SET{ouvert,' '}
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique)</h4>#SET{ouvert,''}]
[[(#GET{ouvert})</ul>]<h5 class="h5">(#TYPE|zotspip_traduire_type|unique{#ANNEE})</h5><ul class="spip">]
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique{annee_#GET{alea}})</h4>#SET{ouvert,''}]
[[(#GET{ouvert})</ul>]<h5 class="h5">(#TYPE|zotspip_traduire_type|unique{type_#GET{alea}_#ANNEE})</h5><ul class="spip">]
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio>
</ul>

+ 11
- 0
modeles/biblio_auteur.html View File

@ -0,0 +1,11 @@
#SET{details,#ENV{details}|=={non}|?{'',#ENV{details,'on'}}}
#SET{export,#ENV{export}|=={non}|?{'','on'}}
#SET{liens,#ENV{liens}|=={non}|?{'','on'}}
#SET{souligne,#ENV{auteur}|et{#ENV{souligne}|!={non}}|?{#ENV{auteur},''}}
<B_biblio>
<ul class="spip">
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{par auteurs}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio>
</ul>
</B_biblio>

+ 2
- 2
modeles/biblio_simple.html View File

@ -8,11 +8,11 @@
}})]
<BOUCLE_test_tri(CONDITION){si #ENV{par}|=={type}}>
<BOUCLE_biblio_type(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}>
<BOUCLE_biblio_type(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,souligne=#GET{souligne}}
</BOUCLE_biblio_type>
</BOUCLE_test_tri>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,auteurs},#GET{defaut_tri}}>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,auteurs},#GET{defaut_tri}}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,souligne=#GET{souligne}}
</BOUCLE_biblio>
<//B_test_tri>

+ 3
- 2
modeles/biblio_type.html View File

@ -2,9 +2,10 @@
#SET{export,#ENV{export}|=={non}|?{'','on'}}
#SET{liens,#ENV{liens}|=={non}|?{'','on'}}
#SET{souligne,#ENV{auteur}|et{#ENV{souligne}|!={non}}|?{#ENV{auteur},''}}
#SET{alea,#EVAL{rand()}} [(#REM) besoin d'un alea pour unique car le modele peut etre appele plusieurs fois (typiquement pour l'intro, puis pour le texte). ]
<B_biblio>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}{par auteurs}{json LIKE %#ENV{recherche}%}>
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#TYPE|zotspip_traduire_type|unique)</h4><ul class="spip">]
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}{par auteurs}{json LIKE %#ENV{recherche}%}>
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#TYPE|zotspip_traduire_type|unique{type_#GET{alea}})</h4><ul class="spip">]
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio>
</ul>

+ 4
- 3
modeles/biblio_type_annee.html View File

@ -2,11 +2,12 @@
#SET{export,#ENV{export}|=={non}|?{'','on'}}
#SET{liens,#ENV{liens}|=={non}|?{'','on'}}
#SET{souligne,#ENV{auteur}|et{#ENV{souligne}|!={non}}|?{#ENV{auteur},''}}
#SET{alea,#EVAL{rand()}} [(#REM) besoin d'un alea pour unique car le modele peut etre appele plusieurs fois (typiquement pour l'intro, puis pour le texte). ]
<B_biblio>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}{!par annee}{par auteurs}{json LIKE %#ENV{recherche}%}>
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}{!par annee}{par auteurs}{json LIKE %#ENV{recherche}%}>
#SET{ouvert,' '}
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#TYPE|zotspip_traduire_type|unique)</h4>#SET{ouvert,''}]
[[(#GET{ouvert})</ul>]<h5 class="h5">(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique{#TYPE})</h5><ul class="spip">]
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#TYPE|zotspip_traduire_type|unique{type_#GET{alea}})</h4>#SET{ouvert,''}]
[[(#GET{ouvert})</ul>]<h5 class="h5">(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique{annee_#GET{alea}_#TYPE})</h5><ul class="spip">]
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne}}
</BOUCLE_biblio>
</ul>

+ 17
- 0
navigation/page-biblio.html View File

@ -0,0 +1,17 @@
[(#SET{tri, #ARRAY{annee,<:zotspip:item_annee:>,type,<:zotspip:item_type:>,annee_type,<:zotspip:item_annee_type:>,type_annee,<:zotspip:item_type_annee:>,auteur,<:zotspip:item_auteur:>}})]
<div class="formulaire_spip">
<form action="spip.php" method="get"><div>
<input type="hidden" name="page" value="biblio" />
<ul>
[(#SAISIE{selection,tri,label=<:zotspip:label_tri:>,cacher_option_intro=on,defaut=annee,datas=#GET{tri}})]
[(#SAISIE{csl,csl,label=<:zotspip:label_csl:>,cacher_option_intro=on,defaut=#CONFIG{zotspip/csl_defaut}})]
[(#SAISIE{zotspip_creator,auteur,label=<:zotspip:label_auteur:>})]
[(#SAISIE{zotspip_annee,annee,label=<:zotspip:label_annee:>})]
[(#SAISIE{input,recherche,label=<:zotspip:label_recherche_libre:>})]
[(#SAISIE{zotspip_type,type_ref,label=<:zotspip:label_type_ref:>})]
[(#SAISIE{zotspip_tag,tag,label=<:zotspip:label_tag:>})]
[(#SAISIE{zotspip_zcollection,zcollection,label=<:zotspip:label_collection:>})]
</ul>
<p class="boutons"><input type="submit" class="submit" value="<:zotspip:filtrer:>" /></p>
</div></form>
</div>

+ 1
- 0
plugin.xml View File

@ -68,4 +68,5 @@
<necessite id="SPIP" version="[2.1.0;2.1.99]" />
<necessite id="spip_bonux" />
<necessite id="jqueryui" />
<necessite id="saisies" />
</plugin>

+ 1
- 0
saisies-vues/csl.html View File

@ -0,0 +1 @@
[<p>(#LISTER_CSL|table_valeur{#ENV{valeur}}|sinon{#ENV*{sans_reponse}})</p>]

+ 1
- 0
saisies-vues/zotspip_type.html View File

@ -0,0 +1 @@
[<p>(#ENV{valeur}|zotspip_traduire_type|sinon{#ENV*{sans_reponse}})</p>]

+ 22
- 0
saisies/csl.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(POUR){tableau #LISTER_CSL}{par valeur}>
<option value="#CLE"[(#CLE|=={#GET{valeur}}|oui)selected="selected"]>#VALEUR</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_annee.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion annee}{!par annee}{annee!=''}>
<option value="#ANNEE"[(#ANNEE|=={#GET{valeur}}|oui)selected="selected"]>#ANNEE</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_collection.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion collection}{par collection}{collection!=''}>
<option value="#COLLECTION"[(#COLLECTION|=={#GET{valeur}}|oui)selected="selected"]>#COLLECTION</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_conference.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion conference}{par conference}{conference!=''}>
<option value="#CONFERENCE"[(#CONFERENCE|=={#GET{valeur}}|oui)selected="selected"]>#CONFERENCE</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_creator.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZCREATORS){fusion auteur}{par auteur}>
<option value="#AUTEUR"[(#AUTEUR|=={#GET{valeur}}|oui)selected="selected"]>#AUTEUR</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_editeur.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion editeur}{par editeur}{editeur!=''}>
<option value="#EDITEUR"[(#EDITEUR|=={#GET{valeur}}|oui)selected="selected"]>#EDITEUR</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_publication.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion publication}{par publication}{publication!=''}>
<option value="#PUBLICATION"[(#PUBLICATION|=={#GET{valeur}}|oui)selected="selected"]>#PUBLICATION</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_tag.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZTAGS){fusion tag}{par tag}>
<option value="#TAG"[(#TAG|=={#GET{valeur}}|oui)selected="selected"]>#TAG</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_type.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion type}{par_type_zotero}>
<option value="#TYPE"[(#TYPE|=={#GET{valeur}}|oui)selected="selected"]>[(#TYPE|zotspip_traduire_type)]</option>
</BOUCLE_selection>
</select>

+ 22
- 0
saisies/zotspip_type_doc.html View File

@ -0,0 +1,22 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(ZITEMS){fusion type_doc}{par type_doc}{type_doc!=''}>
<option value="#TYPE_DOC"[(#TYPE_DOC|=={#GET{valeur}}|oui)selected="selected"]>#TYPE_DOC</option>
</BOUCLE_selection>
</select>

+ 28
- 0
saisies/zotspip_zcollection.html View File

@ -0,0 +1,28 @@
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
- size : taille du select
]
[(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
#SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
<select name="#ENV{nom}" id="champ_[(#ENV{nom}|saisie_nom2classe)]"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size})"]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
#SET{arbo,#ARRAY{0,&nbsp;}}
<BOUCLE_selection(ZCOLLECTIONS){par zcollection}{id_parent=0}>
<option value="#ZCOLLECTION"[(#ZCOLLECTION|=={#GET{valeur}}|oui)selected="selected"]>#ZCOLLECTION</option>
<BOUCLE_sous(ZCOLLECTIONS){par zcollection}{id_parent}>
<option value="#ZCOLLECTION"[(#ZCOLLECTION|=={#GET{valeur}}|oui)selected="selected"]>[(#GET{arbo}|table_valeur{#ID_PARENT})]&#x27a5; #ZCOLLECTION</option>
[(#SET{arbo,[(#GET{arbo}|array_merge{[(#ARRAY{#ID_ZCOLLECTION,[(#GET{arbo}|table_valeur{#ID_PARENT}|concat{&nbsp;&nbsp;&nbsp;&nbsp;})]})]})]})]
<BOUCLE_sous_sous(BOUCLE_sous) />
</BOUCLE_sous>
</BOUCLE_selection>
</select>

+ 8
- 3
zotspip_fonctions.php View File

@ -69,6 +69,11 @@ function zotspip_calculer_reference($csljson,$annee,$style,$souligne,$date,$lang
if (!isset($citeproc[$style])) {
include_spip('inc/distant');
$csl = spip_file_get_contents(find_in_path("csl/$style.csl"));
// Si le style demande n'est pas disponible, message d'erreur et se rabattre sur apa.csl
if (!$csl) {
erreur_squelette(_T('zotspip:message_erreur_style_csl',array('style'=>$style)));
$csl = spip_file_get_contents(find_in_path("csl/apa.csl"));
}
$citeproc[$style] = new citeproc($csl,$lang);
}
@ -107,17 +112,17 @@ function zotspip_lister_csl(){
// Traduire le type de document
function zotspip_traduire_type($type) {
return _T('zotero:itemtypes_'.strtolower($type));
return ($type!='') ? _T('zotero:itemtypes_'.strtolower($type)) : '';
}
// Traduire le champ Zotero
function zotspip_traduire_champ($champ) {
return _T('zotero:itemfields_'.strtolower($champ));
return ($champ!='') ? _T('zotero:itemfields_'.strtolower($champ)) : '';
}
// Traduire le type d'auteur
function zotspip_traduire_createur($type) {
return _T('zotero:creatortypes_'.strtolower($type));
return ($type!='') ? _T('zotero:creatortypes_'.strtolower($type)) : '';
}
// Afficher l'icône du document


Loading…
Cancel
Save