Valider 47a90535 rédigé par Maïeul's avatar Maïeul
Parcourir les fichiers

Issue #89, pb 2 (conditionner toute une étape par afficher_si).

Etape a. Tester les futures étapes, et tant que condition d'afficher_si
pas rempli, avancer à l'étape suivante.

Attention cela nécessite des ajustements du core pas encore
officiellement releasés, mais présent dans :
  - SPIP 3.3/4
  - ou spip 3.2.12
Le fichier du core concerné est `inc/cvt_multietape.php`.

Cela nécessite également une reéécriture du retour de la fonction
`saisies_lister_par_etapes()`, qui au lieu de renvoyer
```
array(
  x => array(...),
  y => array(...),
  z => array(...),
)
```

renvoie désormais

```
array(
  etape_x => array(...),
  etape_y => array(...),
  etape_z => array(...),
)
```

En dehors de saisies et formidable, personne n'utilise encore pour
l'instant cette fonction, donc on peut se permettre la rupture.

But : `saisies_verifier_afficher_si()` supprime du tableau de saisies les étapes masquées par
afficher_si, et utilise par ailleurs des `array_merge()` sur le tableau de saisies pour gérer la récursion. Si on garde des clés strictement numériques, alors, en
supposant que l'étape y est masquée par afficher si, on obtient un
tableau de saisies de type

```
array(
  x => array(...),
  y => array(...),
)
```

et non pas, comme on le désirerait

```
array(
  x => array(...),
  z => array(...),
)
```

En préfixant les les clés, on obtient bien

```
array(
  etape_x => array(...),
  etape_z => array(...),
)
```

Ce qui permet de ne pas tenter à l'étape y d'appliquer les vérifications de l'étape z.
parent 48a74e63
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter