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