From 599c5473a2c21ce7dd13033dcd1c7a73478f447a Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sun, 30 Aug 2009 13:41:48 +0000
Subject: [PATCH] =?UTF-8?q?Confusion=20Boucle=200=20/=20Pas=20de=20boucle?=
 =?UTF-8?q?=20dans=20la=20balise=20MODELE.=20Et=20petite=20optimisation=20?=
 =?UTF-8?q?(non=20visible=20du=20d=C3=A9busqueur)=20intervenant=20fr=C3=A9?=
 =?UTF-8?q?quemment.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/public/balises.php | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index ae975e3fc5..362cabd140 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -983,11 +983,15 @@ function balise_MODELE_dist($p) {
 		$nom = $_contexte[1];
 		unset($_contexte[1]);
 
+		if (preg_match("/^\s*'[^']*'/s", $nom))
+			$nom = "'modeles/" . substr($nom,1);
+		else $nom = "'modeles/' . $nom";
+
 		// Incoherence dans la syntaxe du contexte. A revoir.
 		// Reserver la cle primaire de la boucle courante si elle existe
-		if ($idb = $p->id_boucle) {
-			if ($primary = $p->boucles[$idb]->primary
-			AND !strpos($primary,',')) {
+		if (isset($p->boucles[$p->id_boucle]->primary)) {
+			$primary = $p->boucles[$p->id_boucle]->primary;
+			if (!strpos($primary,',')) {
 				$id = champ_sql($primary, $p);
 				$_contexte[] = "'$primary'=>".$id;
 				$_contexte[] = "'id'=>".$id;
@@ -1002,7 +1006,7 @@ function balise_MODELE_dist($p) {
 		$_options = "'compil'=>array($_options), 'trim'=>true"
 		  . (isset($_contexte['ajax'])?", 'ajax'=>true":'');
 
-		$page = sprintf(CODE_RECUPERER_FOND, "'modeles/' . $nom", 'array(' . join(',', $_contexte) .')', $_options, _q($connect));
+		$page = sprintf(CODE_RECUPERER_FOND, $nom, 'array(' . join(',', $_contexte) .')', $_options, _q($connect));
 
 		$p->code = "\n\t(((\$recurs=(isset(\$Pile[0]['recurs'])?\$Pile[0]['recurs']:0))>=5)? '' :\n\t$page)\n";
 
-- 
GitLab