From b01e68cb4dd4aaabc5178e3f95d6d7798ec40f23 Mon Sep 17 00:00:00 2001
From: "guy.cesaro@gmail.com" <>
Date: Fri, 21 Dec 2012 13:33:55 +0000
Subject: [PATCH] retour sur r68520 et r68523. l'unicite des classes css n'a
 pas d'interet ? ce sont les selecteurs id qui doivent etre unique pour ne pas
 generer d'erreur en appelant plusieurs fois l'inclure "portfolio-documents"
 dans une page. pour eviter de casser l'existant on vide le parametre
 id_unique dans l'appel de cet inclure dans medias, et on l'ajoute sur les
 differents selecteur id de cet inclure . Aux pages et plugins de fournir ce
 parametre id_unique en cas de multiples appels a cet inclure sur une meme
 page.

En esperant que ca convienne a tous.
---
 paquet.xml                                    |  2 +-
 prive/objets/contenu/portfolio_document.html  |  2 +-
 .../inclure/portfolio-documents.html          | 31 +++++++++----------
 3 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/paquet.xml b/paquet.xml
index dfb538f0..4c8d4771 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="medias"
 	categorie="multimedia"
-	version="2.8.3"
+	version="2.8.4"
 	etat="stable"
 	compatibilite="[3.0.0;3.1.*]"
 	logo="prive/themes/spip/images/portfolio-32.png"
diff --git a/prive/objets/contenu/portfolio_document.html b/prive/objets/contenu/portfolio_document.html
index 0b8a3550..dfc567f2 100644
--- a/prive/objets/contenu/portfolio_document.html
+++ b/prive/objets/contenu/portfolio_document.html
@@ -6,7 +6,7 @@
 
 ]
 [
-(#INCLURE{fond=prive/squelettes/inclure/portfolio-documents, env, ajax=documents})
+(#INCLURE{fond=prive/squelettes/inclure/portfolio-documents, env, id_unique='', ajax=documents})
 ]
 [
 (#INCLURE{fond=prive/squelettes/inclure/ajouter-documents, env, ajax})
diff --git a/prive/squelettes/inclure/portfolio-documents.html b/prive/squelettes/inclure/portfolio-documents.html
index 963f997a..50c24ecc 100644
--- a/prive/squelettes/inclure/portfolio-documents.html
+++ b/prive/squelettes/inclure/portfolio-documents.html
@@ -5,18 +5,15 @@
   Distribue sous licence GPL
 
 ]
-#SET{id_unique, #VAL{portfolios_}|concat{#OBJET|et{#ID_OBJET}|?{
-			#OBJET|concat{#ID_OBJET},
-			#EVAL{'rand();'}
-		}
-	}
-}
+[(#REM) pour permettre d'inclure ce squelette plusieurs fois dans une page]
+#SET{id_unique, #ENV{id_unique,''}}
+
 #SET{nbdocs,0}
-<div id="portfolios"[ class="(#GET{id_unique})"]>
+<div id="portfolios#GET{id_unique}">
 [(#REM) D'abord les images illustration]
 <B_illustrations>
 <h3><span class="image_loading"></span><:medias:info_illustrations:></h3>
-<div class="liste_items documents[ (#GET{id_unique})]" id="illustrations">
+<div class="liste_items documents" id="illustrations#GET{id_unique}">
 [<p class="pagination">(#PAGINATION)</p>]
 <BOUCLE_illustrations(DOCUMENTS documents_liens types_documents){inclus=image}{mode=image}{id_objet}{objet}{par num titre,date,id_document}{pagination 50}{statut?}>
 	#MODELE{document_desc,id_document,id_objet,objet}
@@ -30,7 +27,7 @@
 [(#REM) puis les images du portfolio]
 <B_portfolio>
 <h3><:medias:info_portfolio:></h3>
-<div class="liste_items documents[ (#GET{id_unique})]" id="portfolio">
+<div class="liste_items documents" id="portfolio#GET{id_unique}">
 [<p class="pagination">(#PAGINATION)</p>]
 <BOUCLE_portfolio(DOCUMENTS documents_liens types_documents){inclus=image}{mode=document}{id_objet}{objet}{par num titre,date,id_document}{pagination 50}{statut?}>
 	#MODELE{document_desc,id_document,id_objet,objet}
@@ -44,7 +41,7 @@
 [(#REM) puis les documents]
 <B_documents>
 <h3><:medias:info_documents:></h3>
-<div class="liste_items documents[ (#GET{id_unique})]" id="documents">
+<div class="liste_items documents" id="documents#GET{id_unique}">
 [<p class="pagination">(#PAGINATION)</p>]
 <BOUCLE_documents(DOCUMENTS documents_liens types_documents){inclus!=image}{mode!=vignette}{id_objet}{objet}{par num titre,date,id_document}{pagination 50}{statut?}>
 	#MODELE{document_desc,id_document,id_objet,objet}
@@ -64,17 +61,17 @@ if (!$.isFunction(window.editbox_init)) {
 if (window.jQuery) jQuery('#navigation .box.info').ajaxReload();]
 function check_reload_page(){
 	var reload = false;
-	if($('#illustrations[.(#GET{id_unique})]').length && !$('#illustrations[.(#GET{id_unique})] .item').length){
-		$('#illustrations[.(#GET{id_unique})]').remove();reload = true;
+	if($('#illustrations#GET{id_unique}').length && !$('#illustrations#GET{id_unique} .item').length){
+		$('#illustrations#GET{id_unique}').remove();reload = true;
 	}
-	if($('#portfolio[.(#GET{id_unique})]').length && !$('#portfolio[.(#GET{id_unique})] .item').length){
-		$('#portfolio[.(#GET{id_unique})]').remove();reload = true;
+	if($('#portfolio#GET{id_unique}').length && !$('#portfolio#GET{id_unique} .item').length){
+		$('#portfolio#GET{id_unique}').remove();reload = true;
 	}
-	if($('#documents[.(#GET{id_unique})]').length && !$('#documents[.(#GET{id_unique})] .item').length){
-		$('#documents[.(#GET{id_unique})]').remove();reload = true;
+	if($('#documents#GET{id_unique}').length && !$('#documents#GET{id_unique} .item').length){
+		$('#documents#GET{id_unique}').remove();reload = true;
 	}
 	if (reload) {
-		jQuery('#portfolios[.(#GET{id_unique})]').ajaxReload();
+		jQuery('#portfolios#GET{id_unique}').ajaxReload();
 		jQuery('#navigation .box.info').ajaxReload();
 	}
 }
-- 
GitLab