From 8ac05fe7c06d929402311579b06744ef65945bd5 Mon Sep 17 00:00:00 2001 From: "maieul@maieul.net" <> Date: Sun, 18 Dec 2016 22:06:37 +0000 Subject: [PATCH] =?UTF-8?q?declarer=20la=20formulaires=5Fformidable=5Ffich?= =?UTF-8?q?iers()=20pour=20que=20les=20fichiers=20envoy=C3=A9s=20soient=20?= =?UTF-8?q?conserv=C3=A9s=20en=20cas=20d'erreur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/formidable.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/formulaires/formidable.php b/formulaires/formidable.php index e2f897fb..d9c99821 100644 --- a/formulaires/formidable.php +++ b/formulaires/formidable.php @@ -369,7 +369,34 @@ function formulaires_formidable_traiter($id, $valeurs = array(), $id_formulaires return $retours; } +/** + * Déclare à cvtupload les champs fichiers du formulaire + * + * @param int|string $id + * Identifiant numerique ou textuel du formulaire formidable + * @param array $valeurs + * Valeurs par défauts passées au contexte du formulaire + * Exemple : array('hidden_1' => 3) pour que champ identifie "@hidden_1@" soit prerempli + * @param int|bool $id_formulaires_reponse + * Identifiant d'une réponse pour forcer la reedition de cette reponse spécifique + * + * @return array + * Tableau des champs de type fichier +**/ +function formulaires_formidable_fichiers($id, $valeurs = array(), $id_formulaires_reponse = false) { + // On peut donner soit un id soit un identifiant + if (!$id_formulaire = formidable_id_formulaire($id)) { + return array(); + } + // On cherche les saisies du formulaire + if ($saisies = sql_getfetsel('saisies', 'spip_formulaires', 'id_formulaire = ' . intval($id_formulaire))) { + $saisies = unserialize($saisies); + include_spip('inc/saisies_lister'); + $saisies_fichiers = array_keys(saisies_lister_avec_type($saisies,'fichiers')); + return $saisies_fichiers; + } +} /** * Ajoute dans le contexte les elements * donnés par une reponse de formulaire indiquée -- GitLab