Changeset 112324 in spip-zone


Ignore:
Timestamp:
Nov 4, 2018, 9:16:29 PM (2 years ago)
Author:
maieul@…
Message:

saisies_verifier_afficher_si() passe les _request des saisies masquées à
nulle.
Mais elle ne le faisait pas pour les sous-saisies des saisies masquées
(type fieldset). Voici qui est corrigé.
Cas typique où cela pouvait poser problème : un formulaire formidable
avec un fieldset contenant plusieurs saisies radio. Si le fieldset est
conditionnel, mais que les saisies radios ont une valeur par défaut,
celles si sont postées. Ce qui peut fausser exports et analyses.

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/inc/saisies_afficher.php

    r112323 r112324  
    551551                                }
    552552                                if (is_null($env)) {
    553                                         set_request($saisie['options']['nom'], null);
     553                                        saisies_set_request_null_recursivement($saisie);
    554554                                }
    555555                        }
     
    563563        return $saisies;
    564564}
     565
     566
     567/**
     568 * Pose un set_request null sur une saisie et toute ses sous-saisies.
     569 * Utiliser notamment pour annuler toutes les sous saisies d'un fieldeset
     570 * si le fieldset est masquée à cause d'un afficher_si.
     571 * @param array $saisie
     572**/
     573function saisies_set_request_null_recursivement($saisie) {
     574        set_request($saisie['options']['nom'], null);
     575        if (isset($saisie['saisies'])) {
     576                foreach ($saisie['saisies'] as $sous_saisie) {
     577                        saisies_set_request_null_recursivement($sous_saisie);
     578                }
     579        }
     580}
  • _plugins_/saisies/trunk/paquet.xml

    r112322 r112324  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="3.6.0"
     4        version="3.6.1"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.