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
==============================
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
$formidable_deserialize = charger_fonction('formidable_deserialize',
'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/formidable_deserialize.php
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
==============================
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
==============================
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).
Ajouté
filtre/formidable_serialize.php
Modifié
CHANGELOG.md
echanger/formulaire/wcs.php
echanger/formulaire/yaml.php
formulaires/editer_formulaire_champs.php
formulaires/editer_formulaire_traitements.php
traiter/enregistrement.php
==============================
Par Maïeul Rouquette, le 22 mai 2022 à 13h23min :
Et donc avec cela on va pouvoir avoir des emojis
Modifié
CHANGELOG.md