From 2f2ae30f6a5c00738548c8b87b6a7a89eb91e4b8 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 7 Dec 2006 15:26:34 +0000
Subject: [PATCH] =?UTF-8?q?Donner=20acc=C3=A8s=20aux=20documents=20joints?=
 =?UTF-8?q?=20=C3=A0=20la=20rubrique=20dans=20le=20formulaire=20d'=C3=A9di?=
 =?UTF-8?q?tion=20de=20la=20rubrique,=20c'est=20tellement=20simple=20maint?=
 =?UTF-8?q?enant.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/exec/rubriques_edit.php | 11 +++++++++++
 ecrire/inc/documents.php       | 25 ++++++++++++-------------
 2 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/ecrire/exec/rubriques_edit.php b/ecrire/exec/rubriques_edit.php
index 60020ab909..2788f05408 100644
--- a/ecrire/exec/rubriques_edit.php
+++ b/ecrire/exec/rubriques_edit.php
@@ -13,6 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_spip('inc/presentation');
+include_spip('inc/documents');
 
 // http://doc.spip.org/@exec_rubriques_edit_dist
 function exec_rubriques_edit_dist()
@@ -80,6 +81,16 @@ function exec_rubriques_edit_dist()
 
 	debut_gauche();
 
+	// Pave "documents associes a la rubrique"
+
+	if (!$new){
+		# affichage sur le cote des pieces jointes, en reperant les inserees
+		# note : traiter_modeles($texte, true) repere les doublons
+		# aussi efficacement que propre(), mais beaucoup plus rapidement
+		traiter_modeles(join('',$row), true);
+		echo afficher_documents_colonne($id_rubrique, 'rubrique', true);
+	} 
+
 	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
 	creer_colonne_droite();
 	echo pipeline('affiche_droite',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));	  
diff --git a/ecrire/inc/documents.php b/ecrire/inc/documents.php
index eb32294d27..0bc49abf67 100644
--- a/ecrire/inc/documents.php
+++ b/ecrire/inc/documents.php
@@ -118,7 +118,7 @@ function document_et_vignette($document, $url, $portfolio=false) {
 function afficher_documents_colonne($id, $type="article", $flag_modif = true) {
 	global $connect_id_auteur, $connect_statut, $options;
 
-	// seuls cas connus : exec=articles_edit ou breves_edit
+	// seuls cas connus : article, breve ou rubrique
 	$script = $type.'s_edit';
 
 	/// Ajouter nouvelle image
@@ -159,22 +159,21 @@ function afficher_documents_colonne($id, $type="article", $flag_modif = true) {
 
 	/// Ajouter nouveau document
 	$ret .= "</div><p>&nbsp;</p>\n<a name='documents'></a>\n<a name='portfolio'></a>\n";
-	if ($type == "article") {
-		if ($GLOBALS['meta']["documents_article"] != 'non') {
-			$titre_cadre = _T('bouton_ajouter_document').aide("ins_doc");
-			$ret .= debut_cadre_enfonce("doc-24.gif", true, "creer.gif", $titre_cadre);
-			$ret .= $joindre($script, "id_$type=$id", $id, _T('info_telecharger_ordinateur'), 'document',$type,'',0,generer_url_ecrire("documents_colonne","id=$id&type=$type",true));
-			$ret .= fin_cadre_enfonce(true);
-		}
 
-		// Afficher les documents lies
-		$ret .= "<p></p><div id='liste_documents'>\n";
+	if ($GLOBALS['meta']["documents_" . $type . 's'] == 'oui') {
+		$titre_cadre = _T('bouton_ajouter_document').aide("ins_doc");
+		$ret .= debut_cadre_enfonce("doc-24.gif", true, "creer.gif", $titre_cadre);
+		$ret .= $joindre($script, "id_$type=$id", $id, _T('info_telecharger_ordinateur'), 'document',$type,'',0,generer_url_ecrire("documents_colonne","id=$id&type=$type",true));
+		$ret .= fin_cadre_enfonce(true);
+	}
+
+	// Afficher les documents lies
+	$ret .= "<p></p><div id='liste_documents'>\n";
 
-		foreach($documents_lies as $doc) {
+	foreach($documents_lies as $doc) {
 			$ret .= afficher_case_document($doc, $id, $script, $type, $id_doc_actif == $doc);
-		}
-		$ret .= "</div>";
 	}
+	$ret .= "</div>";
   
   $ret .= "<script src='"._DIR_JAVASCRIPT."async_upload.js' type='text/javascript'></script>\n";
   $ret .= <<<EOF
-- 
GitLab