From 5ce193cc1d61cbe06e4f8c118eaaabd892da594c Mon Sep 17 00:00:00 2001
From: "cedric@yterium.com" <>
Date: Sun, 27 Mar 2011 15:27:07 +0000
Subject: [PATCH] =?UTF-8?q?#1105=20:=20rafraichir=20le=20bloc=20info=20de?=
 =?UTF-8?q?=20l'objet=20visualis=C3=A9=20quand=20on=20ajoute=20un=20premie?=
 =?UTF-8?q?r=20document=20ou=20qu'on=20retire=20le=20dernier=20document=20?=
 =?UTF-8?q?d'un=20objet=20Cela=20permet=20de=20faire=20apparaitre/disparai?=
 =?UTF-8?q?tre=20le=20bouton=20de=20suppression=20de=20la=20rubrique?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 medias_pipelines.php                          |  4 ++--
 .../inclure/portfolio-documents.html          | 23 +++++++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/medias_pipelines.php b/medias_pipelines.php
index 2872589b..7b28189f 100644
--- a/medias_pipelines.php
+++ b/medias_pipelines.php
@@ -140,9 +140,9 @@ function medias_objet_compte_enfants($flux){
 	  AND $id=intval($flux['args']['id_objet'])) {
 		// juste les publies ?
 		if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) {
-			$flux['data']['document'] = sql_countsel('spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document', "L.objet=".sql_quote($objet)."AND Lid_objet=".intval($id)." AND (D.statut='publie')");
+			$flux['data']['document'] = sql_countsel('spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document', "L.objet=".sql_quote($objet)."AND L.id_objet=".intval($id)." AND (D.statut='publie')");
 		} else {
-			$flux['data']['document'] = sql_countsel('spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document', "L.objet=".sql_quote($objet)."AND Lid_objet=".intval($id)." AND (D.statut='publie' OR D.statut='prepa')");
+			$flux['data']['document'] = sql_countsel('spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document', "L.objet=".sql_quote($objet)."AND L.id_objet=".intval($id)." AND (D.statut='publie' OR D.statut='prepa')");
 		}
 	}
 	return $flux;
diff --git a/prive/squelettes/inclure/portfolio-documents.html b/prive/squelettes/inclure/portfolio-documents.html
index 2ff44789..c33ff07c 100644
--- a/prive/squelettes/inclure/portfolio-documents.html
+++ b/prive/squelettes/inclure/portfolio-documents.html
@@ -5,6 +5,7 @@
   Distribue sous licence GPL
 
 ]
+#SET{nbdocs,0}
 <div id="portfolios">
 [(#REM) D'abord les images illustration]
 <B_illustrations>
@@ -16,6 +17,7 @@
 </BOUCLE_illustrations>
 [(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/image,#SELF|ancre_url{illustrations}},'ajax tout_supprimer'})]
 </div>
+#SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_illustrations>
 
 [(#REM) puis les images du portfolio]
@@ -28,6 +30,7 @@
 </BOUCLE_portfolio>
 [(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/document,#SELF|ancre_url{portfolio}},'ajax tout_supprimer'})]
 </div>
+#SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_portfolio>
 
 [(#REM) puis les documents]
@@ -40,10 +43,30 @@
 </BOUCLE_documents>
 [(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-D/document,#SELF|ancre_url{documents}},'ajax tout_supprimer'})]
 </div>
+#SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_documents>
 
 <script type="text/javascript">/*<![CDATA[*/
 var multifile='[(#CHEMIN{javascript/jquery.multifile.js}|texte_script)]';
 [(#INCLURE{javascript/medias_edit.js}|compacte{js})]
+[(#OBJET|=={rubrique}|et{#EVAL{_AJAX}}|et{#GET{nbdocs}|=={1}}|oui)
+if (window.jQuery) jQuery('#navigation .box.info').ajaxReload();]
+function check_reload_page(){
+	var reload = false;
+	if($('#illustrations').length && !$('#illustrations .item.document').length){
+		$('#illustrations').remove();reload = true;
+	}
+	if($('#portfolio').length && !$('#portfolio .item.document').length){
+		$('#portfolio').remove();reload = true;
+	}
+	if($('#documents').length && !$('#documents .item.document').length){
+		$('#documents').remove();reload = true;
+	}
+	if (reload) {
+		jQuery('#portfolios').ajaxReload();
+		jQuery('#navigation .box.info').ajaxReload();
+	}
+}
+if (window.jQuery) jQuery(function(){onAjaxLoad(check_reload_page);});
 /*]]>*/</script>
 </div>
\ No newline at end of file
-- 
GitLab