~maj v3.0.19-->v3.0.21
[ptitvelo/web/www.git] / www / ecrire / public / compiler.php
index 7341b0a..3741856 100644 (file)
@@ -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)) {