From 0d1d535230438c8e700ec86a83f15f48676be485 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= <>
Date: Sat, 1 Jul 2017 14:33:40 +0000
Subject: [PATCH] =?UTF-8?q?d=C3=A9coupage=20du=20code=20pour=20future=20fa?=
 =?UTF-8?q?ctorisation?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ...formidable_recuperer_fichier_par_email.php | 18 +------------
 inc/formidable_fichiers.php                   | 26 +++++++++++++++++++
 2 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/action/formidable_recuperer_fichier_par_email.php b/action/formidable_recuperer_fichier_par_email.php
index 6a324542..7bd7692a 100644
--- a/action/formidable_recuperer_fichier_par_email.php
+++ b/action/formidable_recuperer_fichier_par_email.php
@@ -21,23 +21,7 @@ function action_formidable_recuperer_fichier_par_email() {
 		or $hash==_action_auteur("$action-$arg", '', $pass, 'alea_ephemere_ancien')) {
 		$arg = unserialize($arg);
 		// Construire le chemin du fichier, en fonction de ce qu'on reçoit
-		if (isset($arg['reponse'])) {
-			$chemin_fichier = _DIR_FICHIERS_FORMIDABLE
-				.'formulaire_'.$arg['formulaire']
-				.'/reponse_'.$arg['reponse']
-				.'/'.$arg['saisie']
-				.'/'.$arg['fichier'];
-		} elseif (isset($arg['timestamp'])) {
-			$chemin_fichier = _DIR_FICHIERS_FORMIDABLE
-				. 'timestamp/'
-				. $arg['timestamp'].'/'
-				. $arg['saisie'].'/'
-				. $arg['fichier'];
-		} else {
-			include_spip('inc/minipres');
-			echo minipres(_T('formidable:erreur_fichier_introuvable'));
-		}
-
+		$chemin_fichier = formidable_generer_chemin_fichier($arg);
 		// Vérifier que le fichier existe, qu'il n'est pas trop vieux, et l'envoyer le cas échéant
 		if (@file_exists($chemin_fichier)) {
 			$f = $arg['fichier'];
diff --git a/inc/formidable_fichiers.php b/inc/formidable_fichiers.php
index 90e0b99c..cdf18e45 100644
--- a/inc/formidable_fichiers.php
+++ b/inc/formidable_fichiers.php
@@ -521,3 +521,29 @@ function formidable_generer_url_action_recuperer_fichier_email($saisie, $fichier
 	$url = generer_url_action($action, "arg=$arg&hash=$hash", true, true);
 	return $url;
 }
+
+/** Générer le chemin d'un fichier d'après les paramètres passés en argument
+ * @param array $param, paramètres décrivant le fichiers: nom, timestamp de la réponse ou numéro d'enregistrement de la réponse, id du formulaire,  champ formidable
+ * @return string $chemin;
+**/
+function formidable_generer_chemin_fichier($param){
+	$chemin_fichier = '';
+	if (isset($param['reponse'])) {
+		$chemin_fichier = _DIR_FICHIERS_FORMIDABLE
+			.'formulaire_'.$param['formulaire']
+			.'/reponse_'.$param['reponse']
+			.'/'.$param['saisie']
+			.'/'.$param['fichier'];
+	} elseif (isset($param['timestamp'])) {
+		$chemin_fichier = _DIR_FICHIERS_FORMIDABLE
+			. 'timestamp/'
+			. $param['timestamp'].'/'
+			. $param['saisie'].'/'
+			. $param['fichier'];
+	} else {
+		include_spip('inc/minipres');
+		echo minipres(_T('formidable:erreur_fichier_introuvable'));
+	}
+	return $chemin_fichier;
+}
+
-- 
GitLab