From 2a3326954604bc8fdca800bbd248c5ad2860afa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= <maieul@maieul.net> Date: Tue, 18 Jan 2022 17:54:31 +0100 Subject: [PATCH] =?UTF-8?q?Crayonnage=20des=20champs=20:=20-=20pour=20les?= =?UTF-8?q?=20checkbox,=20stocker=20de=20mani=C3=A8re=20s=C3=A9rialis?= =?UTF-8?q?=C3=A9e=20-=20pour=20les=20choix=5Fgrille,=20stocker=20correcte?= =?UTF-8?q?ment,=20tout=20court,=20et=20d=C3=A9j=C3=A0=20permettre=20l'?= =?UTF-8?q?=C3=A9dition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Attention on s'appuie sur `saisies_est_tabulaire()` qui a été corrigée dans https://git.spip.net/spip-contrib-extensions/saisies/commit/2e507635d41e0f1255772992ae81c6667395d99e --- controleurs/formulaires_reponses_champ.php | 3 ++- formidable_pipelines.php | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/controleurs/formulaires_reponses_champ.php b/controleurs/formulaires_reponses_champ.php index f7b90b21..ee55549a 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 4e672bed..4a137d82 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; -- GitLab