From 2b3e4382fac0d47d598d716b988a3a74025743d8 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Tue, 16 Mar 2021 13:19:50 +0100
Subject: [PATCH] =?UTF-8?q?On=20fait=20une=20inclusion=20pour=20les=20l?=
 =?UTF-8?q?=C3=A9gendes=20des=20mod=C3=A8les=20de=20documents,=20toutes=20?=
 =?UTF-8?q?identiques.=20On=20ajoute=20une=20classe=20sur=20le=20document?=
 =?UTF-8?q?=20(spip=5Fdocument--legende)=20pour=20indiquer=20s'il=20contie?=
 =?UTF-8?q?nt=20une=20l=C3=A9gende,=20de=20sorte=20qu'on=20puisse=20le=20s?=
 =?UTF-8?q?tyler=20diff=C3=A9remment=20avec=20ou=20sans=20l=C3=A9gende=20(?=
 =?UTF-8?q?notamment=20pour=20les=20images...)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 modeles/audio.html                | 11 +++--------
 modeles/document_legende.html     | 11 +++++++++++
 modeles/file.html                 | 11 +++--------
 modeles/file_emb_application.html | 11 +++--------
 modeles/file_emb_text.html        | 13 ++++---------
 modeles/file_emb_text_csv.html    | 10 +++-------
 modeles/file_emb_text_html.html   | 10 +++-------
 modeles/image.html                | 11 +++--------
 modeles/video.html                | 10 +++-------
 9 files changed, 36 insertions(+), 62 deletions(-)
 create mode 100644 modeles/document_legende.html

diff --git a/modeles/audio.html b/modeles/audio.html
index 10e462ea..6aaeb5ea 100644
--- a/modeles/audio.html
+++ b/modeles/audio.html
@@ -4,9 +4,10 @@
   Filtrer en acceptant uniquement les extensions jouables par le player ?
 
 ]<BOUCLE_audio(DOCUMENTS types_documents) {media=audio} {id_document=#ENV{id,#ENV{id_document}}} {inclus=embed} {tout}>
+[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
 #SET{largeur,#ENV{largeur, #LARGEUR|?{#LARGEUR,400}}|max{120}}
 #SET{duree,#ENV{duree,#DUREE}}[(#SET{duree,[(#GET{duree}|intval|?{[(#GET{duree}|intval)],''})]})]
-<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_audio[ spip_documents_(#ENV{align})]'[ style='width:(#GET{largeur})px;']>
+<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_audio[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})]'[ style='width:(#GET{largeur})px;']>
 	[(#LOGO_DOCUMENT{vignette}|image_reduire{#GET{largeur},0}|vider_attribut{class})]
   <div class="audio-wrapper"[ style='width:(#GET{largeur})px;max-width:100%;']>
   	<audio class="mejs mejs-#ID_DOCUMENT [ mejs-(#ENV{skin})]"
@@ -18,13 +19,7 @@
   	       controls="controls"
   				 [autoplay="autoplay"(#ENV{autoplay}|oui)]></audio>
   </div>
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
-]
+#GET{legende}
 [<script>/*<!\[CDATA\[*/var mejspath='[(#CHEMIN{lib/mejs/mediaelement-and-player.min.js}|timestamp)]',mejscss='[(#CHEMIN{lib/mejs/mediaelementplayer.min.css}|timestamp)]';
 (#INCLURE{javascript/mejs-init.min.js})/*\]\]>*/</script>]
 [(#ENV{skin}|oui)[<style>(#INCLURE{#CHEMIN{css/mejs-skin-#ENV{skin}.css}|sinon{#CHEMIN{lib/mejs/mejs-skins.css}}|url_absolue_css})</style>]]
diff --git a/modeles/document_legende.html b/modeles/document_legende.html
new file mode 100644
index 00000000..32f4b1bc
--- /dev/null
+++ b/modeles/document_legende.html
@@ -0,0 +1,11 @@
+[(#REM) 
+	Legende pour les documents 
+]<BOUCLE_legendaire (DOCUMENTS) {id_document=#ENV{id,#ENV{id_document}}} {tout}>
+[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
+<figcaption class='spip_doc_legende'>
+	[<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
+	[<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
+	[<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
+</figcaption>
+]
+</BOUCLE_legendaire>
\ No newline at end of file
diff --git a/modeles/file.html b/modeles/file.html
index 501a05c7..9c379f2d 100644
--- a/modeles/file.html
+++ b/modeles/file.html
@@ -23,18 +23,13 @@
 	#SET{fichier,#GET{fichier}|extraire_attribut{src}}
 ]
 [(#SET{title,[(#TYPE_DOCUMENT) - [(#TAILLE|taille_en_octets)]]})]
+[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
 [(#MEDIA|=={image}|oui) #SET{title,#TITRE|sinon{#GET{title}}]
-<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_file[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok' [ style='width:(#GET{width}|max{120})px;']>
+<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_file[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})][ (#ENV{class})] spip_lien_ok' [ style='width:(#GET{width}|max{120})px;']>
 [<a href="(#GET{url})"[
 	class="(#ENV{lien_class})"] title='[(#GET{title}|attribut_html)]'[
 	(#ENV{lien}|?{'',type="#MIME_TYPE"})]>]<img src='#GET{fichier}' width='#GET{width}' height='#GET{height}' alt='' />[(#GET{url}|?{</a>})]
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
-]
+#GET{legende}
 </figure>
 </BOUCLE_file>
 #FILTRE{trim}
\ No newline at end of file
diff --git a/modeles/file_emb_application.html b/modeles/file_emb_application.html
index 1e6418cd..b31b976e 100644
--- a/modeles/file_emb_application.html
+++ b/modeles/file_emb_application.html
@@ -5,13 +5,14 @@
 - #GET{hauteur} et #GET{largeur} correspondent prioritairement a #ENV,
   puis #LARGEUR/HAUTEUR sauf si il y a un controleur
 ]
+[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
 #SET{hauteur,#ENV{hauteur,#HAUTEUR}} #SET{largeur,#ENV{largeur,#LARGEUR}}
 [(#ENV{controls}=={PlayButton}|?{#SET{hauteur,25},''})][
  (#ENV{controls}=={PlayButton}|?{#SET{largeur,40},''})][
  (#ENV{controls}=={PositionSlider}|?{#SET{hauteur,25},''})][
  (#ENV{controls}=={PositionSlider}|?{#SET{largeur,#GET{largeur}|moins{40}},''})
 ][(#ENV{controls,''}|non)
-<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_application[ spip_documents_(#ENV{align})]'>
+<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_application[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})]'>
 ][(#EXTENSION|=={swf}|oui)
 <object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' 
  codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=#ENV{version,'6,0,0,0'}' 
@@ -35,13 +36,7 @@
 [(#ENV*|env_to_params)]
 <embed src='#URL_DOCUMENT' [(#ENV*|env_to_attributs)] width='#GET{largeur}' height='#GET{hauteur}'></embed></object>
 ][(#ENV{controls,''}|non)
-	[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-	  <figcaption class='spip_doc_legende'>
-	    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-	    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-	    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-	  </figcaption>
-	]
+	#GET{legende}
 </figure>
 ]
 </BOUCLE_application>
diff --git a/modeles/file_emb_text.html b/modeles/file_emb_text.html
index 4d8f7c41..34aa3641 100644
--- a/modeles/file_emb_text.html
+++ b/modeles/file_emb_text.html
@@ -1,12 +1,7 @@
 <BOUCLE_text (DOCUMENTS types_documents) {id_document=#ENV{id,#ENV{id_document}}} {tout}
-	>[<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text[ spip_documents_(#ENV{align})]'
+>[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})][(#REM)
+][<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})]'
 ><pre>(#FICHIER|contenu_document{#ENV{charset,auto}}|echapper_tags)</pre>
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
-]
-</figure>
+[(#GET{legende})
+]</figure>
 ]</BOUCLE_text>
diff --git a/modeles/file_emb_text_csv.html b/modeles/file_emb_text_csv.html
index ab570dd4..eb2dd0f2 100644
--- a/modeles/file_emb_text_csv.html
+++ b/modeles/file_emb_text_csv.html
@@ -1,11 +1,7 @@
 <BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}
-	><figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text[ spip_documents_(#ENV{align})]'>
+>[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})][(#REM)
+]<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})]'>
 [(#FICHIER|contenu_document{#ENV{charset,auto}}|appliquer_filtre{#MIME_TYPE})]
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
+[(#GET{legende}
 ]</figure>
 </BOUCLE_tous>
diff --git a/modeles/file_emb_text_html.html b/modeles/file_emb_text_html.html
index 3fd5d75d..2fc854cb 100644
--- a/modeles/file_emb_text_html.html
+++ b/modeles/file_emb_text_html.html
@@ -1,11 +1,7 @@
 <BOUCLE_texthtml (DOCUMENTS types_documents) {id_document=#ID} {tout}
-	>[<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text_html[ spip_documents_(#ENV{align})]'
+>[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})][(#REM)
+][<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text_html[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})]'
 ><object data="(#URL_DOCUMENT)" width="100%" height="400"><a href="#URL_DOCUMENT">#FICHIER</a></object>
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
+[(#GET{legende})
 ]</figure>
 ]</BOUCLE_texthtml>
diff --git a/modeles/image.html b/modeles/image.html
index 530b96d9..d415b007 100644
--- a/modeles/image.html
+++ b/modeles/image.html
@@ -9,19 +9,14 @@
 		[(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
 		[<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})]
 [(#SET{image,#GET{image}|inserer_attribut{alt,#ENV{alt,#ALT}|sinon{''}}})]
+[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
 #SET{largeur,#GET{image}|largeur}
-<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_image[ spip_documents_(#ENV{align}|sinon{center})][ (#ENV{class})] spip_lien_ok' [ style='width:(#GET{largeur})px;']>
+<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_image[ spip_documents_(#ENV{align}|sinon{center})][ (#GET{legende}|?{spip_document--legende})][ (#ENV{class})] spip_lien_ok'[ style='width:(#GET{largeur})px;']>
 [<a href="(#ENV{lien})"[ class="(#ENV{lien_class}|concat{#GET{autolien}|?{' mediabox'}})"]>]
 [(#ENV{lien}|non|et{#GET{autolien}})<a href="#URL_DOCUMENT" class="mediabox" type="#MIME_TYPE">]
 		#GET{image}
 [(#ENV{lien}|ou{#GET{autolien}}|?{</a>})]
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
-]
+#GET{legende}
 </figure>
 </BOUCLE_image>
 <INCLURE{fond=modeles/file,env} />
diff --git a/modeles/video.html b/modeles/video.html
index 2c1fab2c..7f6a2146 100644
--- a/modeles/video.html
+++ b/modeles/video.html
@@ -5,10 +5,11 @@
 - #GET{hauteur} et #GET{largeur} correspondent prioritairement a #ENV,
   puis #LARGEUR/HAUTEUR sauf si il y a un controleur
 ]
+[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
 #SET{largeur,#ENV{largeur, #LARGEUR|?{#LARGEUR,480}}|max{120}}
 #SET{hauteur,#ENV{hauteur, #HAUTEUR|?{#HAUTEUR,300}}|max{75}}
 #SET{duree,#ENV{duree,#DUREE}}[(#SET{duree,[(#GET{duree}|intval|?{[(#GET{duree}|intval)],''})]})]
-<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_video[ spip_documents_(#ENV{align})]'[ style='width:(#GET{largeur})px;']>
+<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_video[ spip_documents_(#ENV{align})][ (#GET{legende}|?{spip_document--legende})]'[ style='width:(#GET{largeur})px;']>
 <div class="video-intrinsic-wrapper" style='height:0;width:#GET{largeur}px;max-width:100%;padding-bottom:[(#GET{hauteur}|div{#GET{largeur}}|mult{100}|round{2})]%;position:relative;'>
 	<div class="video-wrapper" style="position: absolute;top:0;left:0;width:100%;height:100%;">
 		<video class="mejs mejs-#ID_DOCUMENT[ mejs-(#ENV{skin})]"
@@ -38,12 +39,7 @@
 		</video>
 	</div>
 </div>
-[(#ENV*{titre,#TITRE}|trim|sinon{#ENV*{descriptif,#DESCRIPTIF}|trim}|sinon{#ENV*{credits,#CREDITS}|trim}|oui)
-  <figcaption class='spip_doc_legende'>
-    [<div class='spip_doc_titre [(#ENV{titre}|non)#EDIT{titre}]'><strong>(#ENV*{titre,#TITRE}|propre|ptobr)</strong></div>]
-    [<div class='spip_doc_descriptif [(#ENV{descriptif}|non)#EDIT{descriptif}]'>(#ENV*{descriptif,#DESCRIPTIF}|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
-    [<div class='spip_doc_credits [(#ENV{credits}|non)#EDIT{credits}]'>(#ENV*{credits,#CREDITS}|propre|PtoBR)</div>]
-  </figcaption>
+[(#GET{legende})
 ][<script>/*<!\[CDATA\[*/var mejspath='[(#CHEMIN{lib/mejs/mediaelement-and-player.min.js}|timestamp)]',mejscss='[(#CHEMIN{lib/mejs/mediaelementplayer.min.css}|timestamp)]';
 (#INCLURE{javascript/mejs-init.min.js})/*\]\]>*/</script>]
 [(#ENV{skin}|oui)[<style>(#INCLURE{#CHEMIN{css/mejs-skin-#ENV{skin}.css}|url_absolue_css})</style>]]
-- 
GitLab