spip-contrib-extensions/formidable | 4 commits
Par Maïeul Rouquette, le 10 mai 2022 à 16h15min :
Début pour le passage du stockage de serialize à json_encode() : le
filtre |tenter_unserialize peut prendre l’une ou l’autre forme. Ce qui
permet aux plugins qui l’utilisent d’avoir la bonne information.
Exemple
$a = ['a' => 'a'];
$a = json_encode($a);
var_dump($a);
$a = filtre_tenter_unserialize_dist($a);
var_dump($a);
$a = serialize($a);
var_dump($a);
$a = filtre_tenter_unserialize_dist($a);
var_dump($a);
$a = serialize($a).'plop';//Serialisation corrompu
var_dump($a);
$a = filtre_tenter_unserialize_dist($a);
var_dump($a);
Modifié
inc/formidable.php
==============================
Par Maïeul Rouquette, le 10 mai 2022 à 17h04min :
Perf : passer systématiquement aux traitements le tableau des saisies et
des traitements deja deserializé, pour ne pas avoir à le deserializé
dans chaque traitement.
Modifié
formulaires/formidable.php
traiter/email.php
traiter/enregistrement.php
==============================
Par Maïeul Rouquette, le 10 mai 2022 à 17h10min :
Passer systématiquement par tenter_unserialize.
Ainsi, pas besoin de convertir tous les formulaires de serialize à
json_encode à la mise à jour du plugin formidable :
on peut le faire au fur à mesure qu’on modifie les champs/traitements
d’un formulaire.
Modifié
controleurs/formulaires_reponses_champ.php
echanger/formulaire/yaml.php
formidable_autorisations.php
formidable_fonctions.php
formidable_pipelines.php
formulaires/editer_formulaire_champs.php
formulaires/editer_formulaire_traitements.php
formulaires/exporter_formulaire_analyse.php
formulaires/exporter_formulaire_reponses.php
formulaires/formidable.html
formulaires/formidable.php
genie/formidable_effacer_enregistrements.php
http/collectionjson/inc-formulaire.html
modeles/formulaire_aide_memoire.html
modeles/formulaire_analyse.html
modeles/formulaires_reponse.html
prive/squelettes/contenu/formulaire.html
==============================
Par Maïeul Rouquette, le 10 mai 2022 à 17h39min :
Les enregistrement en base des :
- saisies d’un formulaire
- traitements d’un formulaire
- réponse pour un champ multivalué
Sont désormais en json.
Sont gardés en serialize_php :
- les paramètres passées en url pour l’action de recup de fichier
- la base du calcul des hash md5 dans les sessions (utilisés pour
s’assurer qu’on ne perd pas des données en cas d’interruption de config
d’un formulaire → il faut surtout pas rompre la compat).
Modifié
echanger/formulaire/wcs.php
echanger/formulaire/yaml.php
formulaires/editer_formulaire_champs.php
formulaires/editer_formulaire_traitements.php
traiter/enregistrement.php