[formidable ↪ issue_99_jserialize2json] 5 commits

spip-contrib-extensions/formidable | 5 commits

Par Maïeul Rouquette, le 22 mai 2022 à 13h23min :

Et donc avec cela on va pouvoir avoir des emojis

Modifié
CHANGELOG.md

Détails : https://git.spip.net/spip-contrib-extensions/formidable/commit/62612879e581b8da095930c0ba31cf5fbda514aa

==============================
Par Maïeul Rouquette, le 10 mai 2022 à 16h15min :

Début pour le passage du stockage de serialize à json_encode().

  • Le filtre |tenter_unserialize est déprécié.
  • Il est remplacé par |formidable_deserialize.
  • Ce filtre peut recevoir au choix :
    • Un tableau, qu’il retourne tel quel
    • Un tableau serializé via json_encode
    • Un tableau serializé via serialize
  • Dans les deux dernier cas, il renvoie la version deserializé, en cas
    de réussite, sinon l’argument passé.

Exemple

include_spip('formidable_fonctions');
'filtre');
$a = ['a' => 'a'];

$a = json_encode($a);
var_dump($a);

$a = formidable_deserialize($a);
var_dump($a);

$a = serialize($a);
var_dump($a);

$a = formidable_deserialize($a);
var_dump($a);

$a = serialize($a).'plop';//Serialisation corrompu
var_dump($a);

$a = formidable_deserialize($a);
var_dump($a);

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.

On utilisera donc ce filtre à chaque fois que l’on veut déchiffrer
depuis la BDD :

    • traitements d’un formulaire
    • saisies d’un formulaire
    • réponse d’un champ multivalué (ex: checkbox)

Ajouté
filtre/tenter_unserialize.php
Modifié
CHANGELOG.md
afficher_diff/array_serialized.php
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.php
genie/formidable_effacer_enregistrements.php
http/collectionjson/inc-formulaire.html
inc/formidable.php
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/c5f8a04d0a284c18e190dd0c5053ebbacb08171c

==============================
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é
CHANGELOG.md
formulaires/formidable.php
traiter/email.php
traiter/enregistrement.php

Détails : https://git.spip.net/spip-contrib-extensions/formidable/commit/45c74d6db801d42b8c3cacde4e7531c78d76a4b6

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

$formidable_serialize = charger_fonction('formidable_serialize', 'filtre');

C’est un filtre pour faire le sysmétrique à |formidable_serialize,
même si en fait on n’a pas vraiment de raison de l’utiliser en filtre.

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é
CHANGELOG.md
echanger/formulaire/wcs.php
echanger/formulaire/yaml.php
formulaires/editer_formulaire_champs.php
formulaires/editer_formulaire_traitements.php
inc/formidable.php
traiter/enregistrement.php

Détails : https://git.spip.net/spip-contrib-extensions/formidable/commit/2f8561c05431d2371db7ac753e7aa54e8b215dc1

==============================
Par Maïeul Rouquette, le 22 mai 2022 à 13h23min :

Et donc avec cela on va pouvoir avoir des emojis

Modifié
CHANGELOG.md

Détails : https://git.spip.net/spip-contrib-extensions/formidable/commit/81fcf5695a004622400307be14ef2ab4a3c08d44