From af9a54348f6bdc0105de6a62dd369117d00d7b4f Mon Sep 17 00:00:00 2001 From: davux <da@weeno.net> Date: Fri, 1 Oct 2010 17:12:28 +0000 Subject: [PATCH] =?UTF-8?q?Bugfix:=20URL=5FPAGE:=20g=C3=A9rer=20le=20cas?= =?UTF-8?q?=20de=20connect=20+=20arguments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Quand des arguments sont passés à la balise #URL_PAGE, l'appel à la fonction generer_url_public() est construit avec un 2e argument. C'est aussi le cas quand il y a un connect spécifique. Du coup, quand les deux cas sont vrais en même temps, le connect passe en 3e argument. On corrige ce cas en construisant la chaîne d'arguments à part, et on ne la passe à generer_url_public qu'en un seul point. (Je veux quand même bien une relecture, car c'est un bout de code un peu sensible.) --- ecrire/balise/url_.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ecrire/balise/url_.php b/ecrire/balise/url_.php index aa8ce9ac57..d993abb494 100644 --- a/ecrire/balise/url_.php +++ b/ecrire/balise/url_.php @@ -137,8 +137,6 @@ function balise_URL_PAGE_dist($p) { $p->code = interprete_argument_balise(1,$p); $args = interprete_argument_balise(2,$p); - if ($args != "''" && $args!==NULL) - $p->code .= ','.$args; if ($p->id_boucle AND $s = $p->boucles[$p->id_boucle]->sql_serveur) { @@ -152,11 +150,19 @@ function balise_URL_PAGE_dist($p) { $p->code = $f('page', $p->code, $s); return $p; } - $p->code .= ", 'connect=" . addslashes($s) . "'"; + $connect = addslashes($s); } } - - $p->code = 'generer_url_public(' . $p->code .')'; + if ($args != "''" && $args!==NULL) { + if (defined($connect)) { + $args .= " . '&connect=$connect'"; + } // sinon $args reste tel quel + } else { // si pas d'arguments + if (defined($connect)) { + $args = ($connect ? "'connect=$connect'" : "''"); + } + } + $p->code = 'generer_url_public(' . $p->code . ", $args)"; #$p->interdire_scripts = true; return $p; } -- GitLab