-
Maïeul a rédigé
- 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)
Maïeul a rédigé- 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)