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