From ec99aeac50d57700c975543e15c398889e3abb5e Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Mon, 3 Aug 2009 12:05:26 +0000 Subject: [PATCH] =?UTF-8?q?Donner=20la=20ligne=20fautive=20pour=20un=20mau?= =?UTF-8?q?vais=20param=C3=A8tre=20d'inclusion.=20Et=20=C3=A9viter=20que?= =?UTF-8?q?=20PHP=20=C3=A9mette=20un=20Parse=20Error=20dans=20la=20foul?= =?UTF-8?q?=C3=A9e.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/lang/spip_fr.php | 2 +- ecrire/public/compiler.php | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ecrire/lang/spip_fr.php b/ecrire/lang/spip_fr.php index bdcb40aaf4..53d6863c47 100644 --- a/ecrire/lang/spip_fr.php +++ b/ecrire/lang/spip_fr.php @@ -768,7 +768,7 @@ et vous reconnecter au site. 'zbug_info_erreur_squelette' => 'Erreur sur le site', 'zbug_inversion_ordre_inexistant' => 'Inversion d\'un ordre inexistant', 'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle recursive', -'zbug_parametres_inclus_incorrects' => 'Paramètres d\'inclusion incorrects', +'zbug_parametres_inclus_incorrects' => 'Paramètre d\'inclusion incorrect : @param@', 'zbug_profile' => 'Temps de calcul : @time@', 'zbug_resultat' => 'résultat', 'zbug_serveur_indefini' => 'Serveur SQL indéfini', diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index 3c1b788cb6..3b16f8c628 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -60,9 +60,12 @@ function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle, foreach($couple as $n => $val) { $var = $val[0]; if ($var->type != 'texte') { - if ($n OR $k) - erreur_squelette(_T('zbug_parametres_inclus_incorrects'), $p); - else $l[1] = calculer_liste($val, $p->descr, $boucles, $id_boucle); + if ($n OR $k) { + $msg = array('zbug_parametres_inclus_incorrects', + array('param' => $var->nom_champ)); + erreur_squelette($msg, $p); + } + $l[1] = calculer_liste($val, $p->descr, $boucles, $id_boucle); break; } else { preg_match(",^([^=]*)(=?)(.*)$,", $var->texte,$m); @@ -114,6 +117,9 @@ function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle, 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]); if (is_string($p->texte)) { $fichier = $p->texte; $code = "'$fichier'"; -- GitLab