[formidable ↪ issue_99_jserialize2json] 4 commits

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

Détails : Début pour le passage du stockage de `serialize` à `json_encode()` : le · 918c4a4608 - formidable - SPIP on GIT

==============================
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

Détails : Perf : passer systématiquement aux traitements le tableau des saisies et · 3b24112b3f - formidable - SPIP on GIT

==============================
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

Détails : https://git.spip.net/spip-contrib-extensions/formidable/commit/7bb74572bf76412dbbd450c15e5ff6d266b6d8e3

==============================
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

Détails : https://git.spip.net/spip-contrib-extensions/formidable/commit/9a2021ffdd2131f85dafb1a0acbcef4335d947c9