[formidable ↪ issue_99_jserialize2json] 5 commits

spip-contrib-extensions/formidable | 5 commits

Par Maïeul Rouquette, le 10 mai 2022 à 14h05min :

Nouvelle option passable à l’appel d’un formulaire
traiter_email_destinataires : reçois un tableau d’emails (ou une liste
séparée des virgule).
Se complète avec l’option traiter_email_destinataires_methode_methode
qui peut être :

  • remplacer pour que les destinataires passés par squelettes
    remplacent ceux de config
  • ajouter (valeur par défaut) pour qu’ils viennent compléter la liste.

Exemple d’appel


 #FORMULAIRE_FORMIDABLE{coordonnees,#ARRAY{input_1,plop}, #ARRAY{traiter_email_destinataires,22@22.fr,traiter_email_destinataires_methode,remplacer}}

Modifié
traiter/email.php

Détails : Nouvelle option passable à l'appel d'un formulaire · c177c93011 - formidable - SPIP on GIT

==============================
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 · e5fe1b642a - 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 · b428618507 - 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.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/47386d9fec7fba41088955fd8f7f836537d566a9

==============================
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 : Les enregistrement en base des : · 5b8e61fc36 - formidable - SPIP on GIT