diff --git a/CHANGELOG.md b/CHANGELOG.md index 61130e26afb3211ca3fd5b7f7e624be39403a372..36fc8a98a0114b755010f001521077872aef4172 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ * Un tableau serializé via `json_encode()` * Un tableau serializé via `serialize()` Et renvoie le tableau deserializé, ou la valeur reçue en cas d'échec. +- #111 Les traitements reçoivent comme arguments les forment déserializées des traitements et saisies associées au formulaire +>>>>>>> 7d12b82... Perf : passer systématiquement aux traitements le tableau des saisies et ### Changed diff --git a/formulaires/formidable.php b/formulaires/formidable.php index 4a236964adadd6d3bf8d6992f39ae5a18035d61a..4da4439f7662b4dafcf4719cbf5d720593329cf9 100644 --- a/formulaires/formidable.php +++ b/formulaires/formidable.php @@ -339,6 +339,7 @@ function formulaires_formidable_verifier_traitements($id, $valeurs = array(), $o and is_array($traitements) ) { $saisies = formidable_deserialize($formulaire['saisies']); + // Pour chaque traitement choisi, on cherche s'il propose une fonction de vérification propre à ses besoins foreach ($traitements as $type_traitement => $options) { if ($verifier_traitement = charger_fonction('verifier', "traiter/$type_traitement", true)) { @@ -346,6 +347,8 @@ function formulaires_formidable_verifier_traitements($id, $valeurs = array(), $o array( 'formulaire' => $formulaire, 'options' => $options, + 'traitements' => $traitements, + 'saisies' => $saisies, 'id_formulaire' => $formulaire['id_formulaire'], 'valeurs' => $valeurs, 'id_formulaires_reponse' => $id_formulaires_reponse, @@ -505,6 +508,8 @@ function formulaires_formidable_traiter_dist($id, $valeurs = [], $options_appel 'formulaire' => $formulaire, 'options' => $options, 'options_appel' => $options_appel, + 'saisies' => $saisies, + 'traitements' => $traitements, 'id_formulaire' => $id_formulaire, 'valeurs' => $valeurs, 'id_formulaires_reponse' => $id_formulaires_reponse, diff --git a/traiter/email.php b/traiter/email.php index e2c052c2fef4c915248ba195ca5c8206357038eb..80753f88f6f091b3bf1c1634e6e7c6f4a34a0170 100644 --- a/traiter/email.php +++ b/traiter/email.php @@ -31,9 +31,9 @@ function traiter_email_dist($args, $retours) { $id_formulaire = $args['id_formulaire']; $formulaire = $args['formulaire']; $options = $args['options']; - $saisies = unserialize($formulaire['saisies']); + $saisies = $args['saisies']; $saisies_fond_notification = $saisies; - $traitements = unserialize($formulaire['traitements']); + $traitements = $args['traitements']; $champs = saisies_lister_champs($saisies); $destinataires = array(); $taille_fichiers = 0; //taille des fichiers en email diff --git a/traiter/enregistrement.php b/traiter/enregistrement.php index 5067b284c007d141833452bfab2d69d79bce7803..d160f87dfae1bdb28b7d581d93591f230abe0329 100644 --- a/traiter/enregistrement.php +++ b/traiter/enregistrement.php @@ -12,8 +12,7 @@ function traiter_enregistrement_dist($args, $retours) { $options = $args['options']; $formulaire = $args['formulaire']; $id_formulaire = $args['id_formulaire']; - $saisies = unserialize($formulaire['saisies']); - $saisies = saisies_lister_par_nom($saisies); + $saisies = saisies_lister_par_nom($args['saisies']); $variable_php = ''; // La personne a-t-elle un compte ? $id_auteur = isset($GLOBALS['visiteur_session']) ? (isset($GLOBALS['visiteur_session']['id_auteur']) ?