From 04486d240eb03fa644a448ff692149dea5c68a42 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Mon, 12 Oct 2009 12:47:53 +0000
Subject: [PATCH] =?UTF-8?q?Oracle=20accepte=20finalement=20que=20ses=20mot?=
 =?UTF-8?q?-cl=C3=A9s=20soient=20utilis=C3=A9s=20comme=20nom=20de=20colonn?=
 =?UTF-8?q?e=20si=20on=20les=20met=20entre=20apostrophes=20(mais=20celles-?=
 =?UTF-8?q?ci=20sont=20refus=C3=A9es=20quand=20elles=20sont=20inutiles,=20?=
 =?UTF-8?q?fallait=20le=20savoir).=20Ca=20pose=20des=20probl=C3=A8mes=20po?=
 =?UTF-8?q?ur=20=C3=A9crire=20de=20Trigger,=20mais=20on=20n'a=20pas=20beso?=
 =?UTF-8?q?in=20du=20moins=20dans=20l'imm=C3=A9diat=20(et=20il=20semblerai?=
 =?UTF-8?q?t=20qu'on=20puisse=20ruser=20en=20passant=20par=20une=20vue=20s?=
 =?UTF-8?q?i=20=C3=A7a=20devient=20n=C3=A9cessaire).?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

En conséquence, retour du champ {((mode}}} en rétablissant les fichiers pre[14588]. La MAJ pour les installations ayant chargé cette version restaurera ce nom de champ, les autres auront une mise à jour qui se réduira à changer le numéro de version installée, pas la peine de faire et défaire.
---
 ecrire/action/changer_mode_document.php |  2 +-
 ecrire/action/documenter.php            |  2 +-
 ecrire/base/serial.php                  |  4 ++--
 ecrire/exec/documents_liste.php         |  2 +-
 ecrire/inc/ajouter_documents.php        |  4 +---
 ecrire/inc/documenter.php               |  4 ++--
 ecrire/inc/documents.php                | 16 ++++++++--------
 ecrire/inc/legender.php                 |  4 ++--
 ecrire/inc_version.php                  |  9 +++++----
 ecrire/maj/svn10000.php                 | 16 +++++++++++++++-
 ecrire/public/boucles.php               |  4 ++--
 ecrire/public/quete.php                 |  2 +-
 prive/modeles/doc.html                  |  4 ++--
 prive/modeles/img.html                  |  4 ++--
 squelettes-dist/inc-documents.html      |  8 ++++----
 squelettes-dist/inc-rss-item.html       |  2 +-
 squelettes-dist/rubrique.html           |  2 +-
 17 files changed, 51 insertions(+), 38 deletions(-)

diff --git a/ecrire/action/changer_mode_document.php b/ecrire/action/changer_mode_document.php
index b58cdaea70..bd78f19f8b 100644
--- a/ecrire/action/changer_mode_document.php
+++ b/ecrire/action/changer_mode_document.php
@@ -34,7 +34,7 @@ function action_changer_mode_document_post($r)
 	list(, $id_document, $mode) = $r;
 	if ($id_document = intval($id_document)
 	AND in_array($mode, array('vignette', 'image', 'document'))) {
-		sql_updateq('spip_documents', array('genre'=>$mode), 'id_document='.$id_document);
+		sql_updateq('spip_documents', array('mode'=>$mode), 'id_document='.$id_document);
 	}
 	if ($case = _request('afficher_case')){
 		$case = explode('-',$case);
diff --git a/ecrire/action/documenter.php b/ecrire/action/documenter.php
index 3d25cfeb95..121359344b 100644
--- a/ecrire/action/documenter.php
+++ b/ecrire/action/documenter.php
@@ -63,7 +63,7 @@ function action_documenter_post($r)
 	else {
 		$obj = "id_objet=".intval($id)." AND objet=".sql_quote($type);
 
-		$s = sql_select('D.id_document AS id_doc', "spip_documents AS D LEFT JOIN spip_documents_liens AS L ON L.id_document=D.id_document", "$obj AND D.genre='document' AND " . (sql_in('D.extension', array('gif', 'jpg', 'png'), $sign  ? '' : 'NOT')));
+		$s = sql_select('D.id_document AS id_doc', "spip_documents AS D LEFT JOIN spip_documents_liens AS L ON L.id_document=D.id_document", "$obj AND D.mode='document' AND " . (sql_in('D.extension', array('gif', 'jpg', 'png'), $sign  ? '' : 'NOT')));
 
 		while ($t = sql_fetch($s)) {
 			supprimer_lien_document($t['id_doc'], $type, $id);
diff --git a/ecrire/base/serial.php b/ecrire/base/serial.php
index 143093380b..195adcf79f 100644
--- a/ecrire/base/serial.php
+++ b/ecrire/base/serial.php
@@ -204,14 +204,14 @@ $spip_documents = array(
 		"taille"	=> "integer",
 		"largeur"	=> "integer",
 		"hauteur"	=> "integer",
-		"genre"	=> "ENUM('vignette', 'image', 'document') DEFAULT 'document' NOT NULL",
+		"mode"	=> "ENUM('vignette', 'image', 'document') DEFAULT 'document' NOT NULL",
 		"distant"	=> "VARCHAR(3) DEFAULT 'non'",
 		"maj"	=> "TIMESTAMP");
 
 $spip_documents_key = array(
 		"PRIMARY KEY"	=> "id_document",
 		"KEY id_vignette"	=> "id_vignette",
-		"KEY genre"	=> "genre",
+		"KEY mode"	=> "mode",
 		"KEY extension"	=> "extension");
 $spip_documents_join = array(
 		"id_document"=>"id_document",
diff --git a/ecrire/exec/documents_liste.php b/ecrire/exec/documents_liste.php
index 6f1f1befeb..1bf51565d8 100644
--- a/ecrire/exec/documents_liste.php
+++ b/ecrire/exec/documents_liste.php
@@ -46,7 +46,7 @@ echo debut_droite('', true);
 	while ($row = sql_fetch($res))
 		$types[$row['extension']] = $row;
 
-	$result = sql_select("D.id_document AS id_doc, D.extension AS extension, D.fichier AS fichier, D.date AS date, D.titre AS titre, D.descriptif AS descriptif, R.id_rubrique AS id_rub, R.titre AS titre_rub", "spip_documents AS D, spip_documents_liens AS L, spip_rubriques AS R", "D.id_document = L.id_document AND R.id_rubrique = L.id_objet AND L.objet='rubrique' AND D.genre = 'document'", "", "D.date DESC");
+	$result = sql_select("D.id_document AS id_doc, D.extension AS extension, D.fichier AS fichier, D.date AS date, D.titre AS titre, D.descriptif AS descriptif, R.id_rubrique AS id_rub, R.titre AS titre_rub", "spip_documents AS D, spip_documents_liens AS L, spip_rubriques AS R", "D.id_document = L.id_document AND R.id_rubrique = L.id_objet AND L.objet='rubrique' AND D.mode = 'document'", "", "D.date DESC");
 
 	while ($row=sql_fetch($result)){
 		$titre=$row['titre'];
diff --git a/ecrire/inc/ajouter_documents.php b/ecrire/inc/ajouter_documents.php
index 164fd679e5..900358e58a 100644
--- a/ecrire/inc/ajouter_documents.php
+++ b/ecrire/inc/ajouter_documents.php
@@ -289,8 +289,6 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode,
 	// note : la fonction peut "mettre a jour un document" si on lui
 	// passe "mode=document" et "id_document=.." (pas utilise)
 
-	// "mode" est interdit en Oracle. Cf svn 14588)
-	  if (isset($a['mode'])) {$a['genre'] = $a['mode']; unset($a['mode']);}
 		$id = sql_insertq("spip_documents", $a);
 
 		spip_log ("ajout du document $source $nom_envoye  (M '$mode' T '$type_lien' L '$id_lien' D '$id')");
@@ -305,7 +303,7 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode,
 		} else spip_log("Pb d'insertion $id_lien $type_lien");
 
 		if ($id_document) {
-			sql_updateq("spip_documents", array("id_vignette" => $id, "genre" => 'document'), "id_document=$id_document");
+			sql_updateq("spip_documents", array("id_vignette" => $id, "mode" => 'document'), "id_document=$id_document");
 
 		} else  $id_document = $id;
 
diff --git a/ecrire/inc/documenter.php b/ecrire/inc/documenter.php
index a0e42ca223..92396d25e8 100644
--- a/ecrire/inc/documenter.php
+++ b/ecrire/inc/documenter.php
@@ -28,9 +28,9 @@ function inc_documenter_dist(
 	if (is_int($doc)) {
 		$prim = 'id_' . $type;
 		$img = ($ancre == 'portfolio') ? '' : " NOT";
-		$select = "D.id_document, D.id_vignette, D.extension, D.titre,  D.date,  D.descriptif,  D.fichier,  D.taille, D.largeur,  D.hauteur,  D.genre,  D.distant, L.vu, L.id_objet, L.id_objet as $prim";
+		$select = "D.id_document, D.id_vignette, D.extension, D.titre,  D.date,  D.descriptif,  D.fichier,  D.taille, D.largeur,  D.hauteur,  D.mode,  D.distant, L.vu, L.id_objet, L.id_objet as $prim";
 		$from = "spip_documents AS D LEFT JOIN spip_documents_liens AS L ON  L.id_document=D.id_document"; 
-		$where = "L.id_objet=$doc AND L.objet='$type' AND D.genre='document' AND D.extension $img IN ('gif', 'jpg', 'png')";
+		$where = "L.id_objet=$doc AND L.objet='$type' AND D.mode='document' AND D.extension $img IN ('gif', 'jpg', 'png')";
 		$order = "0+D.titre, D.date";
 		$docs = sql_allfetsel($select, $from, $where, '', $order);
 		$opt = array('objet'=>$type, 'id_objet' => $doc);
diff --git a/ecrire/inc/documents.php b/ecrire/inc/documents.php
index f243ac196b..b7f13866cc 100644
--- a/ecrire/inc/documents.php
+++ b/ecrire/inc/documents.php
@@ -293,7 +293,7 @@ function afficher_documents_colonne($id, $type="article",$script=NULL) {
 			'args' => "id_$type=$id",
 			'id' => $id,
 			'intitule' => _T('info_telecharger'),
-			'mode' => 'image', // mode = genre
+			'mode' => 'image',
 			'type' => $type,
 			'ancre' => '',
 			'id_document' => 0,
@@ -303,7 +303,7 @@ function afficher_documents_colonne($id, $type="article",$script=NULL) {
 
 	if (!_INTERFACE_DOCUMENTS) {
 		//// Images sans documents
-		$res = sql_select("D.id_document", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "T.id_objet=" . intval($id) . " AND T.objet=" . sql_quote($type) . " AND D.genre='image'", "", "D.id_document");
+		$res = sql_select("D.id_document", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "T.id_objet=" . intval($id) . " AND T.objet=" . sql_quote($type) . " AND D.mode='image'", "", "D.id_document");
 
 		$ret .= "\n<div id='liste_images'>";
 
@@ -347,9 +347,9 @@ function afficher_documents_colonne($id, $type="article",$script=NULL) {
 	//// Documents associes
 	$res = sql_select("D.id_document", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "T.id_objet=" . intval($id) . " AND T.objet=" . sql_quote($type)
 	. ((!_INTERFACE_DOCUMENTS)
-		? " AND D.genre='document'"	
-    	: " AND D.genre IN ('image','document')"
-	), "", "D.genre, D.id_document");
+		? " AND D.mode='document'"	
+    	: " AND D.mode IN ('image','document')"
+	), "", "D.mode, D.id_document");
 
 	while($row = sql_fetch($res))
 		$ret .= afficher_case_document($row['id_document'], $id, $script, $type, ($id_document_actif==$row['id_document']));
@@ -405,7 +405,7 @@ function est_inclus($id_document) {
 function afficher_case_document($id_document, $id, $script, $type, $deplier=false) {
 	global $spip_lang_right;
 	
-	$document = sql_fetsel("D.id_document, D.id_vignette,D.extension,D.titre,D.descriptif,D.fichier,D.largeur,D.hauteur,D.taille,D.genre,D.distant, D.date, L.vu", "spip_documents AS D INNER JOIN spip_documents_liens AS L ON L.id_document=D.id_document", "L.id_objet=".intval($id)." AND objet=".sql_quote($type)." AND L.id_document=".intval($id_document));
+	$document = sql_fetsel("D.id_document, D.id_vignette,D.extension,D.titre,D.descriptif,D.fichier,D.largeur,D.hauteur,D.taille,D.mode,D.distant, D.date, L.vu", "spip_documents AS D INNER JOIN spip_documents_liens AS L ON L.id_document=D.id_document", "L.id_objet=".intval($id)." AND objet=".sql_quote($type)." AND L.id_document=".intval($id_document));
 
 	if (!$document) return "";
 
@@ -415,7 +415,7 @@ function afficher_case_document($id_document, $id, $script, $type, $deplier=fals
 	$fichier = $document['fichier'];
 	$largeur = $document['largeur'];
 	$hauteur = $document['hauteur'];
-	$mode = $document['genre'];
+	$mode = $document['mode'];
 	$distant = $document['distant'];
 	$titre = $document['titre'];
 	$legender = charger_fonction('legender', 'inc');
@@ -522,7 +522,7 @@ function lister_les_documents_orphelins() {
 	}
 
 	// les vignettes qui n'appartiennent a aucun document sont aussi orphelines
-	$s = sql_select("V.id_document", "spip_documents AS V LEFT JOIN spip_documents AS D ON V.id_document=D.id_vignette", "V.genre='vignette' AND D.id_document IS NULL");
+	$s = sql_select("V.id_document", "spip_documents AS V LEFT JOIN spip_documents AS D ON V.id_document=D.id_vignette", "V.mode='vignette' AND D.id_document IS NULL");
 	while ($t = sql_fetch($s))
 		$orphelins[$t['id_document']] = true;
 
diff --git a/ecrire/inc/legender.php b/ecrire/inc/legender.php
index e3c9c8d557..e4a89b61ea 100644
--- a/ecrire/inc/legender.php
+++ b/ecrire/inc/legender.php
@@ -40,7 +40,7 @@ function inc_legender_dist($id_document, $document, $script, $type, $id, $ancre,
 		$flag = 'ajax';
 	}
 
-	if ($document['genre'] == 'image') {
+	if ($document['mode'] == 'image') {
 		$supp = 'image-24.gif';
 		$label = _T('entree_titre_image');
 		$taille = $vignette = '';
@@ -187,7 +187,7 @@ function legender_image_doc($document, $id_document, $id, $type, $s, $script, $a
 	if (!_BOUTON_MODE_IMAGE
 	OR !in_array($document['extension'], array('jpg', 'gif', 'png'))) 
 		return '';
-	if ($document['genre'] == 'image') {
+	if ($document['mode'] == 'image') {
 				$texte = _T('upload_info_mode_document');
 				$mode = 'document';
 				$logo = 'doc-24.gif';
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index 34afb8f8a1..a01c19bffa 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -374,14 +374,15 @@ $liste_des_authentifications = array(
 @umask(0);
 
 // numero de branche, utilise par les plugins 
-// pour specifier les versions de SPIP necessaire
-// il faut s'en tenir a un nombre de decimales fixe ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2 
+// pour specifier les versions de SPIP necessaires
+// il faut s'en tenir a un nombre de decimales fixe
+// ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2 
 $spip_version_branche = "2.1.0 dev";
 // version des signatures de fonctions PHP
 // (= numero SVN de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes)
-$spip_version_code = 14588;
+$spip_version_code = 14598;
 // version de la base SQL (= numero SVN de sa derniere modif)
-$spip_version_base = 14588;
+$spip_version_base = 14598;
 
 // version de l'interface a la base
 $spip_sql_version = 1;
diff --git a/ecrire/maj/svn10000.php b/ecrire/maj/svn10000.php
index 39adc494cb..cba9528a10 100644
--- a/ecrire/maj/svn10000.php
+++ b/ecrire/maj/svn10000.php
@@ -228,9 +228,23 @@ $GLOBALS['maj'][14558] = array(array('upgrade_types_documents'));
 // etre sur qu'ils sont bien unipotents(?)...
 $GLOBALS['maj'][14559] = $GLOBALS['maj'][13904]+$GLOBALS['maj'][13929]+$GLOBALS['maj'][14558];
 
-$GLOBALS['maj'][14588] = array(
+
+// La version 14588 etait une mauvaise piste:
+// Retour en arriere pour ceux qui l'ont subi, ne rien faire sinon
+if (@$GLOBALS['meta']['version_installee'] >= 14588) {
+
+	// "mode" est un mot-cle d'Oracle
+	$GLOBALS['maj'][14588] = array(
 	array('sql_alter',"TABLE spip_documents  DROP INDEX mode"),
 	array('sql_alter',"TABLE spip_documents  CHANGE mode genre ENUM('vignette', 'image', 'document') DEFAULT 'document' NOT NULL"),
 	array('sql_alter',"TABLE spip_documents  ADD INDEX genre(genre)")
 			       );
+	// solution moins intrusive au pb de mot-clé d'Oracle, retour avant 14588
+	$GLOBALS['maj'][14598] = array(
+	array('sql_alter',"TABLE spip_documents  DROP INDEX genre"),
+	array('sql_alter',"TABLE spip_documents  CHANGE genre mode ENUM('vignette', 'image', 'document') DEFAULT 'document' NOT NULL"),
+	array('sql_alter',"TABLE spip_documents  ADD INDEX mode(mode)")
+			       );
+}
+
 ?>
diff --git a/ecrire/public/boucles.php b/ecrire/public/boucles.php
index 9fe4bae072..aee6e770f8 100644
--- a/ecrire/public/boucles.php
+++ b/ecrire/public/boucles.php
@@ -141,9 +141,9 @@ function boucle_DOCUMENTS_dist($id_boucle, &$boucles) {
 	array_unshift($boucle->where,array("'($id_table.taille > 0 OR $id_table.distant=\\'oui\\')'"));
 
 	// Supprimer les vignettes
-	if (!isset($boucle->modificateur['criteres']['genre'])
+	if (!isset($boucle->modificateur['criteres']['mode'])
 	AND !isset($boucle->modificateur['criteres']['tout'])) {
-		array_unshift($boucle->where,array("'!='", "'$id_table.genre'", "'\\'vignette\\''"));
+		array_unshift($boucle->where,array("'!='", "'$id_table.mode'", "'\\'vignette\\''"));
 	}
 
 	// Pour une boucle generique (DOCUMENTS) sans critere de lien, verifier
diff --git a/ecrire/public/quete.php b/ecrire/public/quete.php
index 10a27bbc05..c2ddbeb758 100644
--- a/ecrire/public/quete.php
+++ b/ecrire/public/quete.php
@@ -186,7 +186,7 @@ function vignette_logo_document($row, $connect='')
 	}
 	$f = get_spip_doc($fichier);
 	if ($f AND @file_exists($f)) return $f;
-	if ($row['genre'] !== 'vignette') return '';
+	if ($row['mode'] !== 'vignette') return '';
 	return generer_url_entite($row['id_document'], 'document','','', $connect);
 }
 
diff --git a/prive/modeles/doc.html b/prive/modeles/doc.html
index 019d61e792..9f79c0b829 100644
--- a/prive/modeles/doc.html
+++ b/prive/modeles/doc.html
@@ -10,13 +10,13 @@
 	Dans le cas d'une simple image (mode=image), on affiche
 	le document lui-meme, sans lien de telechargement
 ]
-[(#GENRE|=={image}|oui)
+[(#MODE|=={image}|oui)
 	#SET{fichier,#URL_DOCUMENT}
 	#SET{width,#LARGEUR}
 	#SET{height,#HAUTEUR}
 	#SET{url,#ENV{lien}}
 ]
-[(#GENRE|=={image}|non)
+[(#MODE|=={image}|non)
 	[(#SET{fichier,[(#LOGO_DOCUMENT||extraire_attribut{src})]})]
 	[(#SET{width,[(#LOGO_DOCUMENT||extraire_attribut{width})]})]
 	[(#SET{height,[(#LOGO_DOCUMENT||extraire_attribut{height})]})]
diff --git a/prive/modeles/img.html b/prive/modeles/img.html
index 61134d49fa..96111d417d 100644
--- a/prive/modeles/img.html
+++ b/prive/modeles/img.html
@@ -1,4 +1,4 @@
-<BOUCLE_document (DOCUMENTS) {id_document} {genre?} {tout}>
+<BOUCLE_document (DOCUMENTS) {id_document} {mode?} {tout}>
 [(#REM)
 
 	Modele pour <img>
@@ -12,7 +12,7 @@
 ]
 [(#SET{
 	image,
-		#GENRE|match{'image|vignette'}
+		#MODE|match{'image|vignette'}
 		|sinon{#ENV{embed}}
 		|?{' '}
 })][
diff --git a/squelettes-dist/inc-documents.html b/squelettes-dist/inc-documents.html
index 22f373848d..04de79e980 100644
--- a/squelettes-dist/inc-documents.html
+++ b/squelettes-dist/inc-documents.html
@@ -2,7 +2,7 @@
 <B_documents_portfolio>
 <div id="documents_portfolio">
 	<h2><:info_portfolio:></h2>
-	<BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {genre=document}{extension IN png,jpg,gif} {par num titre, date}{doublons}{vu=non}>[
+	<BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {mode=document}{extension IN png,jpg,gif} {par num titre, date}{doublons}{vu=non}>[
 	<a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
 		|parametre_url{id_document,#ID_DOCUMENT}
 		)]#documents_portfolio';return false;"[ class="(#EXPOSER)"][ title="(#TITRE|attribut_html|couper{80})"]>[(#FICHIER
@@ -16,7 +16,7 @@
 [(#REM)
 	Afficher en grand le document demande dans l'URL
 ]
-<BOUCLE_afficher_document(DOCUMENTS) {id_document}{id_article} {genre=document}{extension IN png,jpg,gif}>
+<BOUCLE_afficher_document(DOCUMENTS) {id_document}{id_article} {mode=document}{extension IN png,jpg,gif}>
 [(#MODELE{emb}|image_reduire{500,0})]
 </BOUCLE_afficher_document>
 
@@ -25,7 +25,7 @@
 	Si un seul document est joint a l'article, et si le texte est vide,
 	on incruste automatiquement ce document
 ]
-<BOUCLE_documents_decompte(DOCUMENTS spip_documents_liens articles) {id_article} {genre=document}{texte=''}{extension !IN gif,jpg,png} {vu=non}>
+<BOUCLE_documents_decompte(DOCUMENTS spip_documents_liens articles) {id_article} {mode=document}{texte=''}{extension !IN gif,jpg,png} {vu=non}>
 [(#TOTAL_BOUCLE|=={1}
 	|?{[(#INCLURE{fond=modeles/emb, id_document}
 	|trim)]})]</BOUCLE_documents_decompte>
@@ -49,4 +49,4 @@
 	</div>
 </B_documents_joints>
 
-<//B_documents_decompte>
+<//B_documents_decompte>
\ No newline at end of file
diff --git a/squelettes-dist/inc-rss-item.html b/squelettes-dist/inc-rss-item.html
index 26003f9cc1..3846ec6c0f 100644
--- a/squelettes-dist/inc-rss-item.html
+++ b/squelettes-dist/inc-rss-item.html
@@ -46,7 +46,7 @@
 [(#REM)
 	Le bloc qui suit diffuse l'adresse des documents associes aux articles ;
 	ajouter par ex. {extension=mp3} pour limiter a un certain type de document.
-]		<BOUCLE_documents(DOCUMENTS){id_article}{genre=document}{doublons}>[
+]		<BOUCLE_documents(DOCUMENTS){id_article}{mode=document}{doublons}>[
 		<enclosure url="(#URL_DOCUMENT|url_absolue|unique)"[ length="(#TAILLE)"][ type="(#MIME_TYPE)"] />]
 		</BOUCLE_documents>
 
diff --git a/squelettes-dist/rubrique.html b/squelettes-dist/rubrique.html
index 11b124e7c0..8676ae9107 100644
--- a/squelettes-dist/rubrique.html
+++ b/squelettes-dist/rubrique.html
@@ -87,7 +87,7 @@
         <div class="menu" id="documents_joints">
             <h2><:titre_documents_joints:></h2>
             <ul>
-                <BOUCLE_documents_joints(DOCUMENTS) {id_rubrique} {genre=document} {par num titre, date} {doublons}>
+                <BOUCLE_documents_joints(DOCUMENTS) {id_rubrique} {mode=document} {par num titre, date} {doublons}>
                 <li>
                     <strong><a href="#URL_DOCUMENT" title="<:bouton_telecharger:>" type="#MIME_TYPE">[(#TITRE|sinon{<:info_document:>})]</a></strong>
                     <small>(#TYPE_DOCUMENT[ &ndash; (#TAILLE|taille_en_octets)])</small>
-- 
GitLab