diff --git a/controleurs/formulaires_reponses_champ.php b/controleurs/formulaires_reponses_champ.php index f7b90b2106e6e2c3ffc338bb14200ae4287d761b..ee55549ab8226d756eb6333434d48e800e6c4f4c 100644 --- a/controleurs/formulaires_reponses_champ.php +++ b/controleurs/formulaires_reponses_champ.php @@ -40,7 +40,8 @@ function controleurs_formulaires_reponses_champ_dist($regs, $c = null) { // Crayons utilise son propre formalisme pour le 'name' des saisies. $nom_crayons = 'content_' . $key . '_valeur'; $saisie['options']['nom'] = $nom_crayons; - + include_spip('inc/formidable'); + $valeur = filtre_tenter_unserialize_dist($valeur);// Pour une raison mystérieuse, charger_fonction déclenche une erreur (!) $contexte = array('_saisies' => array($saisie), $nom_crayons => $valeur); $html = $n->formulaire($contexte); diff --git a/formidable_pipelines.php b/formidable_pipelines.php index 4e672bed3523a61e9c672ef854cc52fb0f6855a3..4a137d82acab66563026b138ec7eab146fe79037 100644 --- a/formidable_pipelines.php +++ b/formidable_pipelines.php @@ -357,15 +357,20 @@ function formidable_crayons_verifier($flux) { include_spip('inc/saisies'); $id = $flux['args']['id']; $valeur = $flux['args']['content']['valeur']; - $data = sql_fetsel('nom,saisies', 'spip_formulaires_reponses_champs JOIN spip_formulaires_reponses JOIN spip_formulaires', "id_formulaires_reponses_champ=$id AND spip_formulaires_reponses.id_formulaires_reponse = spip_formulaires_reponses_champs.id_formulaires_reponse AND spip_formulaires.id_formulaire = spip_formulaires_reponses.id_formulaire"); $saisies = unserialize($data['saisies']); $saisie = saisies_chercher($saisies, $data['nom']); - set_request($data['nom'], $valeur); + if (saisies_saisie_est_tabulaire($saisie)) { + $atrouver = 'content_'.$flux['args']['wid'].'_valeur'; + $valeur = saisies_request($atrouver); + $flux['data']['normaliser']['valeur'] = serialize($valeur); + } + saisies_set_request($data['nom'], $valeur); $erreur = saisies_verifier(array($saisie), false); + if ($erreur) { $flux['data']['erreurs']['valeur'] = implode('<br />',$erreur); - } elseif (_request($data['nom']) !== $valeur) { + } elseif (saisies_request($data['nom']) !== $valeur) { $flux['data']['normaliser']['valeur'] = $normaliser; } return $flux;