From e44bbe0b160d2011e673c7252d89ddd83c4c04ab Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Thu, 21 May 2009 14:04:04 +0000 Subject: [PATCH] report de [14024] --- ecrire/inc/utils.php | 6 ++++++ ecrire/public/balises.php | 4 +--- ecrire/public/compiler.php | 9 +++++++++ ecrire/public/interfaces.php | 2 ++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 93e7ac54c1..8208a1d74d 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1634,6 +1634,12 @@ function recuperer_fond($fond, $contexte=array(), $options = array(), $connect=' // (trim etait le 3eme argument, par defaut a true) if (!is_array($options)) $options = array('trim'=>$options); if (!isset($options['trim'])) $options['trim']=true; + + if (isset($contexte['connect'])){ + $connect = ($connect ? $connect : $contexte['connect']); + unset($contexte['connect']); + } + if (isset($options['modele'])) $contexte = creer_contexte_de_modele($contexte); diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index 8229c37d90..b73c4987d4 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -985,14 +985,12 @@ function balise_INCLURE_dist($p) { $_l = 'array(' . join(",\n\t", $_contexte) .')'; if ($flag_env) $_l = "array_merge(\$Pile[0],$_l)"; - $_connect = _q(!$id_boucle ? '' : $p->boucles[$id_boucle]->sql_serveur); - $_options = array(); if (isset($_contexte['ajax'])) $_options[] = "'ajax'=>true"; if ($p->etoile) $_options[] = "'etoile'=>true"; $_options = "array(" . join(',',$_options) . ")"; - $p->code = "recuperer_fond('',\$l = $_l, $_options, $_connect)"; + $p->code = "recuperer_fond('',\$l = $_l, $_options)"; } elseif (!isset($_contexte[1])) { erreur_squelette(_T('zbug_balise_sans_argument', diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index 4b2891e7c7..d7c7dd7261 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -93,6 +93,15 @@ function argumenter_inclure($params, $rejet_filtres, $descr, &$boucles, $id_bouc } } } + // si pas de connect explicite, on transmet celui de la boucle courante + // + if (!isset($l['connect']) + AND $connect = (!$id_boucle ? '' : $boucles[$id_boucle]->sql_serveur) + AND !in_array($connect,$GLOBALS['exception_des_connect'])){ + $l['connect'] = ($echap?"\'connect\' => ' . argumenter_squelette(":"'connect' => ") + . "'$connect'" . ($echap? ") . '":" "); + } + // Cas particulier de la langue : si {lang=xx} est definie, on // la passe, sinon on passe la langue courante au moment du calcul // sauf si on n'en veut pas diff --git a/ecrire/public/interfaces.php b/ecrire/public/interfaces.php index 1949ad0b38..d0dfef3b4b 100644 --- a/ecrire/public/interfaces.php +++ b/ecrire/public/interfaces.php @@ -154,6 +154,8 @@ class Polyglotte { global $table_criteres_infixes; $table_criteres_infixes = array('<', '>', '<=', '>=', '==', '===', '!=', '!==', '<>', '?'); +global $exception_des_connect; +$exception_des_connect[] = ''; // ne pas transmettre le connect='' par les inclure // // Globales de description de la base -- GitLab