From c72e88a7ec8795de3a653e24a7f635c7133609fc Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Wed, 5 Aug 2009 21:35:37 +0000
Subject: [PATCH] =?UTF-8?q?[14332]=20avait=20mal=20g=C3=A9r=C3=A9=20la=20d?=
 =?UTF-8?q?iff=C3=A9rence=20entre=20#INCLURE=20et=20<INCLURE=20quant=20au?=
 =?UTF-8?q?=20premier=20argument=20(Bruno).=20Et=20un=20log=20excessif.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

{{{
<INCLURE{fond=inc-pied, id_article}>
<INCLURE{fond=inc-pied}{id_article}>
#INCLURE{fond=inc-pied, id_article}>
#INCLURE{fond=inc-pied}{id_article}>
}}}
---
 ecrire/inc/utils.php       |  2 +-
 ecrire/public/compiler.php | 14 ++++++--------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index e43b47f297..966d6827b8 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -456,7 +456,7 @@ function _L($text, $args=array(), $class=NULL) {
 		}
 		// Si des variables n'ont pas ete inserees, le signaler
 		// (chaines de langues pas a jour)
-		spip_log("$text:  variables inutilisées " . join(', ', $args));
+		if ($args) spip_log("$text:  variables inutilisées " . join(', ', $args));
 	}
 
 	if ($GLOBALS['test_i18n'] And ($class===NULL OR $args))
diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php
index 0ece5c6783..f84b2092e1 100644
--- a/ecrire/public/compiler.php
+++ b/ecrire/public/compiler.php
@@ -47,10 +47,12 @@ include_spip('public/jointures');
 // Le resultat est un tableau indexe par les Vi
 // Toutefois, si le premier argument n'est pas de la forme Vi=Ei
 // il est conventionnellement la valeur de l'index 1.
-// Voir la balise #INCLURE
+// pour la balise #INCLURE
+// mais pas pour <INCLURE> dont le fond est defini explicitement.
+
 
 // http://doc.spip.org/@argumenter_inclure
-function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle, $echap=true	, $lang = ''){
+function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle, $echap=true, $lang = '', $fond1=false){
 	$l = array();
 
 	foreach($params as $k => $couple) {
@@ -76,11 +78,10 @@ function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle,
 				  if (preg_match(',^[\'"](.*)[\'"]$,', $v, $m)) $v = $m[1];
 				  $val[0] = new Texte;
 				  $val[0]->texte = $v;
-				} elseif ($k OR $n) {
+				} elseif ($k OR $n OR $fond1) {
 				  $auto = true;
 				} else $var = 1;
 
-
 				if ($var == 'lang') {
 				  $lang = !$auto 
 				    ? calculer_liste($val, $p->descr, $boucles, $id_boucle)
@@ -116,10 +117,7 @@ function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle,
 // http://doc.spip.org/@calculer_inclure
 function calculer_inclure($p, &$boucles, $id_boucle) {
 
-	$_contexte = argumenter_inclure($p->param, false, $p, $boucles, $id_boucle);
-	// Eliminer le hack pour #INCLURE, 
-	// (s'il est la, c'est une erreur, mais ce n'est pas a  PHP de le dire)
-	if (isset($_contexte[1])) unset($_contexte[1]);
+	$_contexte = argumenter_inclure($p->param, false, $p, $boucles, $id_boucle, true, '', true);
 	if (is_string($p->texte)) {
 		$fichier = $p->texte;
 		$code = "'$fichier'";
-- 
GitLab