case 'idiome':
$l = array();
+ $code = '';
foreach ($p->arg as $k => $v) {
- if ($k) $l[]= _q($k).' => '.calculer_liste($v,$p->descr,$boucles,$id_boucle);
+ $_v = calculer_liste($v, $descr, $boucles, $id_boucle);
+ if ($k) {
+ $l[] = _q($k) . ' => ' . $_v;
+ } else {
+ $code = $_v;
+ }
+ }
+ // Si le module n'est pas fourni, l'expliciter sauf si calculé
+ if ($p->module) {
+ $m = $p->module .':'.$p->nom_champ;
+ } elseif ($p->nom_champ) {
+ $m = MODULES_IDIOMES .':'.$p->nom_champ;
+ } else {
+ $m = '';
}
- $l = !$l ? '' : (", array(".implode(",\n",$l).")");
- $code = "_T('" . $p->module . ":" .$p->nom_champ . "'$l)";
+ $code = (!$code ? "'$m'" :
+ ($m ? "'$m' . $code" :
+ ("(strpos(\$x=$code, ':') ? \$x : ('" . MODULES_IDIOMES . ":' . \$x))")))
+ . (!$l ? '' : (", array(" . implode(",\n", $l) . ")"));
+ $code = "_T($code)";
if ($p->param) {
$p->id_boucle = $id_boucle;
$p->boucles = &$boucles;