From 9410649ba14874d87c78b479838defddf953dbea Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Sun, 20 Jan 2013 10:27:18 +0000
Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20du=20crit=C3=A8re=20{par=20?=
 =?UTF-8?q?x.y}=20qui=20ne=20se=20d=C3=A9brouillait=20pas=20de=20lui-m?=
 =?UTF-8?q?=C3=AAme=20pour=20ajouter=20la=20jointure,=20si=20elle=20n'?=
 =?UTF-8?q?=C3=A9tait=20pas=20d=C3=A9j=C3=A0=20l=C3=A0=20au=20moment=20du?=
 =?UTF-8?q?=20calcul=20du=20crit=C3=A8re.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

De la sorte, cette boucle fonctionne (avec le plugin Contacts & Organisations) :

<BOUCLE_a(AUTEURS contacts){par contacts.nom}{0,10}>

De même que celle-ci :

<BOUCLE_a(AUTEURS){par contacts.nom}{0,10}>
---
 ecrire/public/criteres.php | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php
index 66c11ca88b..648d2069bd 100644
--- a/ecrire/public/criteres.php
+++ b/ecrire/public/criteres.php
@@ -669,8 +669,7 @@ function critere_parinverse($idb, &$boucles, $crit, $sens = ''){
 						// cas du tri sur champ de jointure explicite
 						$t = array_search($r[1], $boucle->from);
 						if (!$t){
-							$t = trouver_champ_exterieur($r[2], array($r[1]), $boucle);
-							$t = array_search(@$t[0], $boucle->from);
+							$t = trouver_jointure_champ($r[2], $boucle, array($r[1]));
 						}
 						if (!$t){
 							return (array('zbug_critere_inconnu', array('critere' => $crit->op." $par")));
-- 
GitLab