X-Git-Url: http://git.cyclocoop.org/?p=ptitvelo%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fpublic%2Fcompiler.php;h=374185664578c95f49b483227d1ccb69279aec34;hp=7341b0a3a398e3d5f1e34c0a778fee3fcc41e484;hb=f854641371bdfbaba8fbab6212853d9795ba8cc8;hpb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543 diff --git a/www/ecrire/public/compiler.php b/www/ecrire/public/compiler.php index 7341b0a..3741856 100644 --- a/www/ecrire/public/compiler.php +++ b/www/ecrire/public/compiler.php @@ -446,6 +446,7 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) { // 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(" @@ -459,6 +460,7 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) { 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)) { @@ -503,6 +505,9 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) { . $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)) {