From 6bd9c5b9d9c5e7bf9ccb4e3e266f47d3fd510941 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Mon, 6 Jun 2005 14:51:08 +0000 Subject: [PATCH] ignorer les pseudo-criteres des boucles recursives --- inc-compilo.php3 | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/inc-compilo.php3 b/inc-compilo.php3 index 4e8ee4fd25..380322f543 100644 --- a/inc-compilo.php3 +++ b/inc-compilo.php3 @@ -370,8 +370,7 @@ function calculer_parties($partie, $mode_partie, $total_parties, $id_boucle) { function calculer_liste($tableau, $descr, &$boucles, $id_boucle='') { if (!$tableau) return "''"; $codes = array(); - spip_log($id_boucle); - $type = $id_boucle ? $boucles[$id_boucle]->type_requete : ''; + $type = (is_array($id_boucle) ? $id_boucle[0] : $boucles[$id_boucle]->type_requete) ; $descr['niv']++; for ($i=0; $i<=$descr['niv']; $i++) $tab .= "\t"; @@ -495,20 +494,29 @@ function code_boucle($boucle, $id, $nom, $sourcefile) // Indiquer la boucle en commentaire $pretty = ''; - // Resynthetiser les criteres - foreach ($boucle->param as $param) { - $c = $param[1][0]; - $s = $c->apres ; - if ($s) - $s = ($s . $c->texte . $s); - else { - // faudrait decompiler aussi les balises... - if (is_array($t = $param[1])) - foreach ($t as $c) - $s .= ($c->type == 'texte') ? $c->texte : '#...'; + if ($boucle->type_requete != 'boucle') + { + // Resynthetiser les criteres + foreach ($boucle->param as $param) { + $s = ""; + $sep = ""; + foreach ($param as $t) { + if (is_array($t)) { // toujours vrai normalement + $s .= $sep; + $c = $t[0]; + if ($c->apres) + $s .= ($c->apres . $c->texte . $c->apres); + else { + // faudrait decompiler aussi les balises... + foreach ($t as $c) + $s .= ($c->type == 'texte') ? $c->texte : '#...'; + } + $sep = ", "; + } + } + $pretty .= ' {' . $s . '}'; + } } - $pretty .= ' {' . $s . '}'; - } $pretty = "BOUCLE$id(".strtoupper($boucle->type_requete) . ")" . ereg_replace("[\r\n]", " ", $pretty); -- GitLab