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)
Chargement en cours
Veuillez vous inscrire ou vous se connecter pour commenter