$erreur_p_i_i = array('zbug_parametres_inclus_incorrects',
array('param' => $var->nom_champ));
erreur_squelette($erreur_p_i_i, $p);
- } else $l[1] = calculer_liste($val, $p->descr, $boucles, $id_boucle);
- break;
+ break;
+ }
+ else $l[1] = calculer_liste($val, $p->descr, $boucles, $id_boucle);
} else {
- preg_match(",^([^=]*)(=?)(.*)$,", $var->texte,$m);
+ preg_match(",^([^=]*)(=?)(.*)$,m", $var->texte,$m);
$var = $m[1];
$auto = false;;
if ($m[2]) {
// afin que le corps de boucle affecte la globale directement
$init_lang = "lang_select(\$GLOBALS['spip_lang']);\n\t";
$fin_lang = "lang_select();\n\t";
+ $fin_lang_select_public = "\n\t\tlang_select();";
$corps .=
"\n\t\tlang_select_public("
else {
$init_lang = '';
$fin_lang = '';
+ $fin_lang_select_public = '';
// sortir les appels au traducteur (invariants de boucle)
if (strpos($return, '?php') === false
AND preg_match_all("/\W(_T[(]'[^']*'[)])/", $return, $r)) {
. $boucle->partie
. $corps;
+ // depiler la lang de la boucle si besoin
+ $corps .= $fin_lang_select_public;
+
// si le corps est une constante, ne pas appeler le serveur N fois!
if (preg_match(CODE_MONOTONE,str_replace("\\'",'',$corps), $r)) {