diff --git a/inc-compilo.php3 b/inc-compilo.php3 index 9e8e3dd037f5ca10f220a9969af9e9e5ae5d2959..f26d15e7e66ec1a992d9ff5c561cd7cd46d7f945 100644 --- a/inc-compilo.php3 +++ b/inc-compilo.php3 @@ -57,13 +57,13 @@ function calculer_inclure($struct, $descr, &$boucles, $id_boucle) { $l = array(); foreach($struct->param as $val) { $var = array_shift($val); - $l[] = "\'$var\' => \'' . addslashes(" . - ($val ? calculer_liste($val[0], $descr, $boucles, $id_boucle) : - (($var =='lang') ? - '$GLOBALS["spip_lang"]' : - index_pile($id_boucle, $var, $boucles))) - . ") . '\\'"; - } + $futurval = ($val ? calculer_liste($val[0], $descr, $boucles, $id_boucle) :(($var =='lang') ? '$GLOBALS["spip_lang"]' : index_pile($id_boucle, $var, $boucles))); + $l[] = "\'$var\' => ' . (!is_array(\$x = " . + $futurval . + ") ? (\"'\" . addslashes(\$x) . \"'\") : + argumenter_balise_dynamique(array(\$x))) . '"; + + } return "\n'<". "?php\n\t\$contexte_inclus = array(" .