Browse Source

- diverses améliorations

- reprise de l'interface privé
- formulaire d'export multiples des références dans les modèles
- déclaration pour inserer_modeles
- page biblio désactivable

On touche presque à une version de test !!
v1
joseph@larmarange.net 9 years ago
parent
commit
d7b604e141
  1. 6
      .gitattributes
  2. 4
      contenu/page-biblio.html
  3. 8
      css/zotspip.css
  4. 9
      formulaires/configurer_zotspip.html
  5. BIN
      icones_barre/zotspip.png
  6. 14
      inclure/zitem.html
  7. 34
      inclure/zotspip_form_export_select.html
  8. 41
      lang/zotspip_fr.php
  9. 22
      modeles/biblio.html
  10. 156
      modeles/biblio.yaml
  11. 10
      modeles/biblio_annee.html
  12. 11
      modeles/biblio_annee_type.html
  13. 11
      modeles/biblio_auteur.html
  14. 20
      modeles/biblio_premier_auteur.html
  15. 5
      modeles/biblio_recente.html
  16. 11
      modeles/biblio_type.html
  17. 11
      modeles/biblio_type_annee.html
  18. 7
      navigation/page-biblio.html
  19. 2
      prive/exec/zcreator.html
  20. 3
      prive/exec/zcreators.html
  21. 54
      prive/exec/zitems.html
  22. 14
      zotspip_fonctions.php

6
.gitattributes

@ -35,6 +35,7 @@ genie/maj_collections_zotspip.php -text
genie/maj_items_zotspip.php -text
genie/maj_schema_zotero.php -text
genie/nettoyer_zotspip.php -text
icones_barre/zotspip.png -text
images/add-creator-16.png -text
images/add-creator-24.png -text
images/remove-creator-16.png -text
@ -91,6 +92,7 @@ inclure/jquery.sortElements.js -text
inclure/zitem.html -text
inclure/zitem_sousitems.html -text
inclure/zitem_tags.html -text
inclure/zotspip_form_export_select.html -text
lang/zotero_en.php -text
lang/zotero_es.php -text
lang/zotero_fr.php -text
@ -143,9 +145,11 @@ lib/citeproc-php/locale/locales-vi-VN.xml -text
lib/citeproc-php/locale/locales-zh-CN.xml -text
lib/citeproc-php/locale/locales-zh-TW.xml -text
modeles/biblio.html -text
modeles/biblio.yaml -text
modeles/biblio_annee.html -text
modeles/biblio_annee_type.html -text
modeles/biblio_auteur.html -text
modeles/biblio_premier_auteur.html -text
modeles/biblio_recente.html -text
modeles/biblio_simple.html -text
modeles/biblio_type.html -text
modeles/biblio_type_annee.html -text

4
contenu/page-biblio.html

@ -1,10 +1,12 @@
[(#CONFIG{zotspip/page_biblio}|oui)
[(#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>]
[<h1 class="h1">(#CONFIG{zotspip/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}
]

8
css/zotspip.css

@ -4,6 +4,8 @@
.zotspip_item .liens {
float: right;
margin-left: 0.5em;
text-align: center;
width: 16px;
}
.zotspip_item .details {
font-size:90%;
@ -38,4 +40,10 @@
.formulaire_spip .remove_creator img,
.formulaire_spip .remove_tag img {
vertical-align: middle;
}
.zotspip_select_ref {
float: right;
margin-top: 3px;
margin-left: 10px;
}

9
formulaires/configurer_zotspip.html

@ -46,12 +46,19 @@
<li class="editer_csl_defaut[ (#ENV**{erreurs}|table_valeur{csl_defaut}|oui)erreur]">
<label for='csl_defaut'><:zotspip:label_csl_defaut:></label>
<select name="csl_defaut" id="csl_defaut">
<BOUCLE_csl_defaut(POUR){tableau #LISTER_CSL}>
<BOUCLE_csl_defaut(POUR){tableau #LISTER_CSL}{par valeur}>
<option value="#CLE"[(#ENV{csl_defaut}|=={#CLE}|oui)selected="selected"]>#VALEUR</option>
</BOUCLE_csl_defaut>
</select>
</li>
</B_csl_defaut>
<li class="editer_page_biblio[ (#ENV**{erreurs}|table_valeur{page_biblio}|oui)erreur]">
<label for='page_biblio'><:zotspip:label_page_biblio:></label>
<select name="page_biblio" id="page_biblio">
<option value=""[(#ENV{page_biblio}|=={''}|oui)selected="selected"]><:non:></option>
<option value="on"[(#ENV{page_biblio}|=={on}|oui)selected="selected"]><:oui:></option>
</select>
</li>
<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']/>

BIN
icones_barre/zotspip.png

After

Width: 16  |  Height: 16  |  Size: 1.3 KiB

14
inclure/zitem.html

@ -1,16 +1,18 @@
<BOUCLE_zitem(ZITEMS){id_zitem}>
<[(#ENV{liste}|?{li,div})] class="zotspip_item"[(#ENV{icones}|oui)style="list-style-image : url([(#TYPE|zotspip_icone_type{#MIMETYPE,#FICHIER}|extraire_attribut{src})]);"]>
[(#ENV{form_export}|oui)<input type="checkbox" name="id#EVAL**{chr(91)}#EVAL**{chr(93)}" value="#ID_ZITEM" class="zotspip_select_ref" />]
[(#ENV{liens}|oui)<div class="liens">
[<a href="http://dx.doi.org/(#DOI|trim|urlencode)" title="<:zotspip:identifier_via_doi:>"><img src="#CHEMIN{images/zotero/go.png}" alt=""></a><br />]
[<a href="http://www.worldcat.org/isbn/(#ISBN|trim|urlencode)" title="<:zotspip:identifier_via_isbn:>"><img src="#CHEMIN{images/zotero/go.png}" alt=""></a><br />]
[<a href="(#URL)" title="<:zotspip:lien_ressource:>"><img src="#CHEMIN{images/zotero/url.png}" alt=""></a>]
[<a href="(#URL)" title="<:zotspip:lien_ressource:>"><img src="#CHEMIN{images/zotero/url.png}" alt=""></a><br />]
</div>]
[(#TYPE|=={attachment}|ou{#TYPE|=={note}}|non)#REFERENCE{#ENV{csl},#ENV{souligne}}]
[(#TYPE|=={note}|oui)<div class="note">#RESUME</div>]
[(#TYPE|=={attachment}|ou{#TYPE|=={note}}|non)
#REFERENCE{#ENV{csl},#ENV{souligne}}]
[(#TYPE|=={note}|oui)
<div class="note">#RESUME</div>]
[(#TYPE|=={attachment}|oui)
[(#FICHIER|oui)[<a href="#URL_PAGE{zotspip_file,id_zitem=#ID_ZITEM}">(#TITRE)</a>] [(#POIDS|>{0}|oui)[(#POIDS|taille_en_octets)]] [(<a href="(#URL)"><:zotspip:source:></a>)]]
[(#FICHIER|non)[<a href="#URL">(#TITRE)</a>]]
]
[(#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>
@ -36,6 +38,8 @@
<a href="#URL_PAGE{zotspip_unapi,id=#ID_ZITEM&format=wikipedia}">Wikipedia Citation Templates</a>
</div>]
[(#ENV{details}|ou{#ENV{export}}|oui)</div>]
[(#ENV{afficher_id}|oui)<div style="text-align:right;"><:zotspip:reference_num:> #ID_ZITEM</div>]
[(#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[

34
inclure/zotspip_form_export_select.html

@ -0,0 +1,34 @@
<div class="zotspip_export_select">
---
<div class="zotspip_select_all" style="display:none;">
<a href="javascript:void(0);" onClick="$('input.zotspip_select_ref').attr('checked','checked');zotspip_test_if_ref_select();"><:zotspip:selectionner_tout:></a> |
<a href="javascript:void(0);" onClick="$('input.zotspip_select_ref').attr('checked','');zotspip_test_if_ref_select();"><:zotspip:deselectionner_tout:></a>
</div>
<:zotspip:exporter_selection:>
<select name="format">
<option value="bibtex">BibTeX</option>
<option value="mods">MODS</option>
<option value="refer">Refer/BibIX</option>
<option value="rdf_bibliontology">Bibliographic Ontology RDF</option>
<option value="rdf_dc">Unqualified Dublin Core RDF</option>
<option value="rdf_zotero">Zotero RDF</option>
<option value="ris">RIS (EndNote)</option>
<option value="wikipedia">Wikipedia Citation Templates</option>
</select>
<input type="submit" class="submit zotspip_export_button" value="<:zotspip:exporter:>" />
</div>
<script type="text/javascript">// <![CDATA[
$(document).ready(function(){
$('.zotspip_select_all').show();
zotspip_test_if_ref_select = function () {
if ($('input.zotspip_select_ref:checked').length>0)
$('.zotspip_export_button').attr('disabled', '');
else
$('.zotspip_export_button').attr('disabled', 'disabled');
};
zotspip_test_if_ref_select();
$('input.zotspip_select_ref').change(function() {
zotspip_test_if_ref_select();
});
});
//]]></script>

41
lang/zotspip_fr.php

@ -8,6 +8,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'ajouter_createur' => 'Ajouter un autre auteur',
'ajouter_tag' => 'Ajouter un autre mot-clé',
'annee_non_precisee' => 'Année non précisée',
'aucune_reference' => 'Aucune référence ne correspond.',
'bibliographie_zotero' => 'une bibliographie Zotero',
'bouton_forcer_maj_complete' => 'Forcer une mise à jour complète',
'bouton_synchroniser' => 'Synchroniser',
'configurer_zotspip' => 'Configurer ZotSpip',
@ -15,58 +17,91 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'confimer_remplacement_auteur' => 'Remplacer <strong>@source@</strong> par <strong>@dest@</strong> ? Attention, cette opération est irréversible !',
'connexion_ok' => 'La connexion avec Zotero est opérationnelle.',
'createurs' => 'Auteur(s)',
'deselectionner_tout' => 'Déselectionner tout',
'erreur_connexion' => 'ZotSpip n\'a pas été capable de se connecter à Zotero. Veuillez vérifier vos paramètres de connexion. Si vous utilisez un proxy, veuillez vérifier qu\'il est correctement configuré dans Spip (Configuration > Fonctions avancées). À savoir, ZopSpip ne fonctionne pas toujours si un proxy est requis.',
'erreur_openssl' => 'Pour fonctionner, ZotSpip nécessite l\'extension PHP openSSL. Veuillez activer/installer cette extension.',
'erreur_simplexml' => 'Pour fonctionner, ZotSpip nécessite l\'extension PHP SimpleXML. Veuillez activer/installer cette extension.',
'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_depuis' => 'Soit une année (par exemple : <em>2009</em>), soit une durée en année suivie du mot <em>ans</em> (par exemple : <em>3ans</em>).',
'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é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' => 'Exporter',
'exporter_reference' => 'Exporter la référence :',
'exporter_selection' => 'Exporter la sélection au format',
'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_aeres' => 'selon la classification AERES',
'item_annee' => 'par année',
'item_annee_type' => 'par année puis par type',
'item_aucun' => 'aucun',
'item_auteur' => 'par auteur',
'item_complet' => 'tous les champs',
'item_liste' => 'liste',
'item_liste_simple' => 'liste simple',
'item_numero' => 'par numéro',
'item_premier_auteur' => 'par premier auteur',
'item_recente' => 'publications récentes',
'item_resume_tags' => 'résumé + mots-clés',
'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',
'item_volume' => 'par numéro de volume',
'label_annee' => 'Année',
'label_api_key' => 'Clé API',
'label_auteur' => 'Auteur',
'label_collection' => 'Collection',
'label_conference' => 'Conférence',
'label_corriger_date' => 'Corriger les dates de publication',
'label_csl' => 'Style CSL (mise en forme)',
'label_csl_defaut' => 'Style par défaut',
'label_depuis' => 'Depuis',
'label_details' => 'Détails',
'label_editeur' => 'Maison d\'édition',
'label_export' => 'Afficher les options d\'exportation ?',
'label_identifiants_zotero' => 'Identifiants Zotero',
'label_id_librairie' => 'Identifiant de la librairie',
'label_liens' => 'Afficher les liens ?',
'label_max' => 'Nombre maximum de références affichées',
'label_options' => 'Options',
'label_options_affichage' => 'Options d\'affichage',
'label_ordre_types' => 'Tri par type de référence',
'label_page_biblio' => 'Activer la page ‘biblio’ ?',
'label_publication' => 'Publication',
'label_recherche_libre' => 'Recherche libre',
'label_selection_references' => 'Sélection des références',
'label_souligne' => 'Souligner l\'auteur principal ?',
'label_tag' => 'Mot-Clé',
'label_tags' => 'Mots-Clés',
'label_titre_page_biblio' => 'Titre de la page spip.php?page=biblio',
'label_titre_page_biblio' => 'Titre de la page ‘biblio’',
'label_tri' => 'Tri',
'label_type_doc' => 'Type du document',
'label_type_librairie' => 'Type de librairie Zotero',
'label_type_ref' => 'Type de référence',
'label_username' => 'Nom d\'utilisateur ou du groupe',
'label_variante' => 'Variante',
'label_zcollection' => 'Collection Zotero',
'lien_ressource' => 'Lien vers la ressource',
'liste_createurs' => 'Listes des contributeurs',
'liste_references' => 'Liste des références Zotero',
'liste_createurs' => 'Liste 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',
'probleme_survenu_lors_du_remplacement' => 'Un problème est survenu lors du remplacement (code HTTP @code@).',
'reference_num' => 'Référence n°',
'remplacer_par' => 'Remplacer par',
'resume' => 'Résumé :',
'retour_liste_createurs' => 'Retour à la liste des contributeurs',
'retour_liste_zitems' => 'Retour à la liste des références',
'sans_auteur' => 'Sans auteur',
'selectionner_tout' => 'Sélectionner tout',
'source' => 'source',
'supprimer_createur' => 'Supprimer cet auteur',
'supprimer_tag' => 'Supprimer ce mot-clé',
@ -76,6 +111,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'tags' => 'Mots-clés :',
'titre_page_biblio' => 'Références bibliographiques',
'une_reference' => '1 référence',
'voir_publis_auteur' => 'Voir toutes les publications de @auteur@.',
'voir_sur_zotero' => 'Consulter cette référence sur zotero.org',
'zotspip' => 'ZotSpip',
);
?>

22
modeles/biblio.html

@ -12,18 +12,32 @@
<BOUCLE_test_tri(CONDITION){si #ENV{par}|=={type}}>
<B_biblio_type>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<ul class="spip">
<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(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}{pagination 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>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio_type>
</BOUCLE_test_tri>
<B_biblio>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<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}}{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(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}}{pagination 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>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio>
<//B_test_tri>

156
modeles/biblio.yaml

@ -0,0 +1,156 @@
nom: '<:zotspip:bibliographie_zotero:>'
logo: 'images/zotspip-24.png'
icone_barre: 'zotspip.png'
parametres:
-
saisie: 'hidden'
options:
nom: 'modele'
defaut: 'biblio'
-
saisie: 'selection'
options:
nom: 'variante'
label: '<:zotspip:label_variante:>'
cacher_option_intro: 'on'
datas:
'': '<:zotspip:item_liste:>'
simple: '<:zotspip:item_liste_simple:>'
annee: '<:zotspip:item_annee:>'
type: '<:zotspip:item_type:>'
annee_type: '<:zotspip:item_annee_type:>'
type_annee: '<:zotspip:item_type_annee:>'
premier_auteur: '<:zotspip:item_premier_auteur:>'
recente: '<:zotspip:item_recente:>'
-
saisie: 'fieldset'
options:
nom: 'selection_references'
label: '<:zotspip:label_selection_references:>'
saisies:
-
saisie: 'zotspip_creator'
options:
nom: 'auteur'
label: '<:zotspip:label_auteur:>'
-
saisie: 'selection'
options:
nom: 'souligne'
label: '<:zotspip:label_souligne:>'
option_intro: '<:oui:>'
afficher_si: '@auteur@!=""'
datas:
non: '<:non:>'
-
saisie: 'zotspip_type'
options:
nom: 'type'
label: '<:zotspip:label_type_ref:>'
-
saisie: 'zotspip_annee'
options:
nom: 'annee'
label: '<:zotspip:label_annee:>'
-
saisie: 'input'
options:
nom: 'depuis'
label: '<:zotspip:label_depuis:>'
explication: '<:zotspip:explication_depuis:>'
-
saisie: 'zotspip_tag'
options:
nom: 'tag'
label: '<:zotspip:label_tag:>'
-
saisie: 'zotspip_zcollection'
options:
nom: 'zcollection'
label: '<:zotspip:label_zcollection:>'
-
saisie: 'zotspip_publication'
options:
nom: 'publication'
label: '<:zotspip:label_publication:>'
-
saisie: 'zotspip_conference'
options:
nom: 'conference'
label: '<:zotspip:label_conference:>'
-
saisie: 'zotspip_editeur'
options:
nom: 'editeur'
label: '<:zotspip:label_editeur:>'
-
saisie: 'zotspip_collection'
options:
nom: 'collection'
label: '<:zotspip:label_collection:>'
-
saisie: 'zotspip_type_doc'
options:
nom: 'type_doc'
label: '<:zotspip:label_type_doc:>'
-
saisie: 'input'
options:
nom: 'recherche'
label: '<:zotspip:label_recherche_libre:>'
-
saisie: 'fieldset'
options:
nom: 'options_affichage'
label: '<:zotspip:label_options_affichage:>'
saisies:
-
saisie: 'selection'
options:
nom: 'tri'
label: '<:zotspip:label_tri:>'
afficher_si: '@variante@=="" || @variante@=="simple"'
option_intro: '<:zotspip:item_auteur:>'
datas:
annee: '<:zotspip:item_annee:>'
type: '<:zotspip:item_type:>'
volume: '<:zotspip:item_volume:>'
numero: '<:zotspip:item_numero:>'
-
saisie: 'csl'
options:
nom: 'csl'
label: '<:zotspip:label_csl:>'
-
saisie: 'selection'
options:
nom: 'liens'
label: '<:zotspip:label_liens:>'
option_intro: '<:oui:>'
datas:
non: '<:non:>'
-
saisie: 'selection'
options:
nom: 'export'
label: '<:zotspip:label_export:>'
option_intro: '<:oui:>'
datas:
non: '<:non:>'
-
saisie: 'selection'
options:
nom: 'details'
label: '<:zotspip:label_details:>'
cacher_option_intro: 'on'
datas:
non: '<:zotspip:item_aucun:>'
'': '<:zotspip:item_resume_tags:>'
complet: '<:zotspip:item_complet:>'
-
saisie: 'input'
options:
nom: 'max'
label: '<:zotspip:label_max:>'
verifier:
type: 'entier'

10
modeles/biblio_annee.html

@ -5,10 +5,16 @@
#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?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{!par annee}{par auteurs}{json LIKE %#ENV{recherche}%}{pagination 50}>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{json LIKE %#ENV{recherche}%}{!par annee}{par auteurs}{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}}
#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>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio>

11
modeles/biblio_annee_type.html

@ -4,11 +4,18 @@
#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?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{!par annee}{par_type_zotero}{par auteurs}{json LIKE %#ENV{recherche}%}>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<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}%}{pagination 50}>
#SET{ouvert,' '}
[[(#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}}
#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>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio>

11
modeles/biblio_auteur.html

@ -1,11 +0,0 @@
#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>

20
modeles/biblio_premier_auteur.html

@ -0,0 +1,20 @@
#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},''}}
#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>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur?}{type?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par auteurs}{json LIKE %#ENV{recherche}%}{pagination 50}>
[[(#COMPTEUR_BOUCLE|>{1}|oui)</ul>]<h4 class="h4">(#AUTEURS|?{[(#AUTEURS|zotspip_premier_auteur)],<:zotspip:sans_auteur:>}|unique{auteur_#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},form_export=#GET{export}}
</BOUCLE_biblio>
</ul>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio>

5
modeles/biblio_recente.html

@ -0,0 +1,5 @@
[(#REM) Un modele a utiliser sur des pages chercheurs
Affiche les publications des trois dernieres annees et ajoute un lien vers toutes les publis de ce chercheur]
#INCLURE{fond=modeles/biblio_annee,auteur,depuis=3ans,export=non,details=non}
[(#ENV{auteur}|et{#CONFIG{zotspip/page_biblio}}|oui)
<div class="zotspip_voir_publis_auteur"><a href="#URL_PAGE{biblio,auteur=#ENV{auteur}}"><:zotspip:voir_publis_auteur{auteur=#ENV{auteur}}:></a></div>]

11
modeles/biblio_type.html

@ -4,9 +4,16 @@
#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?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}{par auteurs}{json LIKE %#ENV{recherche}%}>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<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}%}{pagination 50}>
[[(#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}}
#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>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio>

11
modeles/biblio_type_annee.html

@ -4,11 +4,18 @@
#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?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{zcollection?}{zotsip_depuis}{0,#ENV{max,100000}}{par_type_zotero}{!par annee}{par auteurs}{json LIKE %#ENV{recherche}%}>
[(#GET{export}|oui)
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<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}%}{pagination 50}>
#SET{ouvert,' '}
[[(#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}}
#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>
[<p class="pagination">(#PAGINATION)</p>]
[(#GET{export}|oui)
#INCLURE{fond=inclure/zotspip_form_export_select}
</form>]
</B_biblio>

7
navigation/page-biblio.html

@ -1,4 +1,6 @@
[(#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:>}})]
[(#CONFIG{zotspip/page_biblio}|oui)
[(#SET{tri, #ARRAY{annee,<:zotspip:item_annee:>,type,<:zotspip:item_type:>,annee_type,<:zotspip:item_annee_type:>,type_annee,<:zotspip:item_type_annee:>,premier_auteur,<:zotspip:item_premier_auteur:>}})]
[(#PLUGIN{aeres}|oui)[(#SET{tri,#GET{tri}|array_merge{#ARRAY{aeres,<:zotspip:item_aeres:>}}})]]
<div class="formulaire_spip">
<form action="spip.php" method="get"><div>
<input type="hidden" name="page" value="biblio" />
@ -11,7 +13,8 @@
[(#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:>})]
[(#SAISIE{selection,details,label=<:zotspip:label_details:>,option_intro=<:zotspip:item_resume_tags:>,datas=[(#ARRAY{complet,<:zotspip:item_complet:>})]})]
</ul>
<p class="boutons"><input type="submit" class="submit" value="<:zotspip:filtrer:>" /></p>
</div></form>
</div>
</div>]

2
prive/exec/zcreator.html

@ -8,7 +8,7 @@
<BOUCLE_biblio(ZITEMS){id_parent==0}{auteur}{role}{!par annee}{par type}>
<li class="item">
[<h4>(#ANNEE|=={0}|?{<:zotspip:annee_non_precisee:>,#ANNEE}|unique)</h4>]
<p><ul>#INCLURE{fond=inclure/zitem,id_zitem,liste=oui,icones=oui,details=complet,export=oui,liens=oui,souligne=#ENV{auteur},lien_modif=oui}</ul></p>
<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>

3
prive/exec/zcreators.html

@ -14,5 +14,6 @@
</B_zcreators>
<!--#navigation-->
<div class="cadre-info"><a href="#URL_ECRIRE{zitems}"><:zotspip:retour_liste_zitems:></a></div>
<!--/#navigation-->
<!--/#navigation-->

54
prive/exec/zitems.html

@ -1,12 +1,56 @@
#CACHE{0}
<h1 class="grostitre">Liste des références Zotero</h1>
<h1 class="grostitre"><:zotspip:liste_references:></h1>
<p>Cette page est en construction et sera prochainement disponible.</p>
<p><strong><a href="#URL_ECRIRE{zcreators}">VOIR LA LISTE DES CONTRIBUTEURS</a></strong></p>
[(#SET{defaut_tri,#ARRAY{
auteurs,1,
annee,-1,
type,1,
volume,-1,
numero,-1
}})]
<B_biblio>
<p class="pagination">[(#TRI{auteurs,<:zotspip:item_premier_auteur:>})] | [(#TRI{annee,<:zotspip:item_annee:>})] | [(#TRI{type,<:zotspip:item_type:>})]<br />[(#TRI{volume,<:zotspip:item_volume:>})] | [(#TRI{numero,<:zotspip:item_numero:>})]</p>
<div class="liste">
<ul class="liste-items">
<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}}{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>
[<p class="pagination">(#PAGINATION)</p>]
</B_biblio>
<:zotspip:aucune_reference:>
<//B_biblio>
<!--#navigation-->
<div class="cadre-info"><a href="#URL_ECRIRE{zcreators}"><:zotspip:liste_createurs:></a></div>
<p />
<div class="formulaire_spip">
<form action="." method="get"><div>
<input type="hidden" name="exec" value="zitems" />
<ul>
[(#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_zcollection:>})]
[(#SAISIE{zotspip_publication,publication,label=<:zotspip:label_publication:>})]
[(#SAISIE{zotspip_editeur,editeur,label=<:zotspip:label_editeur:>})]
[(#SAISIE{zotspip_conference,conference,label=<:zotspip:label_conference:>})]
[(#SAISIE{zotspip_collection,collection,label=<:zotspip:label_collection:>})]
[(#SAISIE{zotspip_type_doc,type_doc,label=<:zotspip:label_type_doc:>})]
[(#SAISIE{csl,csl,label=<:zotspip:label_csl:>,cacher_option_intro=on,defaut=#CONFIG{zotspip/csl_defaut}})]
</ul>
<p class="boutons"><input type="submit" class="submit" value="<:zotspip:filtrer:>" /></p>
</div></form>
</div>
<!--/#navigation-->
<!--/#navigation-->
<!--#extra-->
<div class="ajax">#FORMULAIRE_MAJ_ZOTSPIP</div>
<!--/#extra-->

14
zotspip_fonctions.php

@ -300,6 +300,14 @@ function zotspip_liste_creatorTypes_complete($creatorTypes) {
return $retour;
}
// Renvoie l'URL de visualisation d'un item sur zotero.org
function voir_sur_zotero($id_zitem){
if(lire_config('zotspip/type_librairie')=='user')
return "https://www.zotero.org/".lire_config('zotspip/username')."/items/itemKey/$id_zitem";
else
return "https://www.zotero.org/groups/".lire_config('zotspip/username')."/items/itemKey/$id_zitem";
}
// Renvoie l'URL de modification d'un item sur zotero.org
function modifier_sur_zotero($id_zitem){
if(lire_config('zotspip/type_librairie')=='user')
@ -334,4 +342,10 @@ function critere_par_type_zotero($idb, &$boucles, $crit) {
$boucle->order[] = "'$id_table.type'";
}
// Renvoie le premier auteur a partir du champs auteurs de la table zitems
function zotspip_premier_auteur($auteurs) {
$auteurs = explode(', ',$auteurs);
return $auteurs[0];
}
?>
Loading…
Cancel
Save