Ignore:
Timestamp:
Mar 20, 2012, 6:21:55 PM (9 years ago)
Author:
marcimat@…
Message:

Report de http://core.spip.org/projects/spip/repository/revisions/19122 : il restait un problème avec le critère si !

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/iterateurs/iterateurs_fonctions.php

    r59322 r59585  
    108108function critere_si($idb, &$boucles, $crit) {
    109109        $boucle = &$boucles[$idb];
    110         $boucle->hash .= 'if (!isset($command[\'si\'])) $command[\'si\'] = array();'."\n";
     110        // il faut initialiser 1 fois le tableau a chaque appel de la boucle
     111        // (par exemple lorsque notre boucle est appelee dans une autre boucle)
     112        // mais ne pas l'initialiser n fois si il y a n criteres {si } dans la boucle !
     113        $boucle->hash .= "\n\tif (!isset(\$si_init)) { \$command['si'] = array(); \$si_init = true; }\n";
    111114        if ($crit->param) {
    112115                foreach($crit->param as $param) {
    113                         $boucle->hash .= '
    114                                 $command[\'si\'][] = '.calculer_liste($param, array(), $boucles, $boucles[$idb]->id_parent).';';
     116                        $boucle->hash .= "\t\$command['si'][] = "
     117                                        . calculer_liste($param, array(), $boucles, $boucles[$idb]->id_parent) . ";\n";
    115118                }
    116119        // interdire {si 0} aussi !
Note: See TracChangeset for help on using the changeset viewer.