From 36036b02892ad8f73c2effd3bda03249d681d317 Mon Sep 17 00:00:00 2001 From: "maieul@maieul.net" <> Date: Mon, 9 Jan 2017 22:08:51 +0000 Subject: [PATCH] =?UTF-8?q?pouvoir=20ne=20pas=20envoyer=20de=20lien=20vers?= =?UTF-8?q?=20les=20fichiers=20dans=20l'accus=C3=A9=20de=20r=C3=A9ception?= =?UTF-8?q?=20pour=20se=20faire=20d=C3=A9finir=20=5FFORMIDABLE=5FLIENS=5FF?= =?UTF-8?q?ICHIERS=5FACCUSE=5FRECEPTION=20=C3=A0=20false?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/formidable_fichiers.php | 3 +++ paquet.xml | 2 +- traiter/email.php | 38 +++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/inc/formidable_fichiers.php b/inc/formidable_fichiers.php index b02156a9..1128b0ec 100644 --- a/inc/formidable_fichiers.php +++ b/inc/formidable_fichiers.php @@ -20,6 +20,9 @@ if (!defined('_FORMIDABLE_EXPIRATION_FICHIERS_EMAIL')) { if (!defined('_FORMIDABLE_EFFACEMENT_FICHIERS_EMAIL')) { define ('_FORMIDABLE_EFFACEMENT_FICHIERS_EMAIL', _FORMIDABLE_EXPIRATION_FICHIERS_EMAIL); // Au bout de combien de temps efface-t-on les fichiers enregistrés lorsque le traitement est uniquement email? } +if (!defined('_FORMIDABLE_LIENS_FICHIERS_ACCUSE_RECEPTION')) { + define('_FORMIDABLE_LIENS_FICHIERS_ACCUSE_RECEPTION', true); // mettre à false si on ne veut pas de lien vers les fichiers dans l'accusé de réception +} /** * Créer, si le formulaire contient des saisies de type fichiers, un dossier pour stocker les fichiers. * Vérifier que ce dossier soit accessible en écriture. diff --git a/paquet.xml b/paquet.xml index 9d52c2ea..56238130 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="formidable" categorie="communication" - version="3.0.3" + version="3.1.0" etat="stable" compatibilite="[3.0.0;3.1.*]" logo="images/formidable-64.png" diff --git a/traiter/email.php b/traiter/email.php index c03a7e1c..0a1f865b 100644 --- a/traiter/email.php +++ b/traiter/email.php @@ -234,6 +234,9 @@ function traiter_email_dist($args, $retours) { } // On génère l'accusé de réception + if (_FORMIDABLE_LIENS_FICHIERS_ACCUSE_RECEPTION == false) { + $valeurs = vues_saisies_supprimer_action_recuperer_fichier_par_email($saisies,$valeurs); + } $html_accuse = recuperer_fond( $accuse, array( @@ -410,6 +413,41 @@ function ajouter_action_recuperer_fichier_par_email($saisie_a_modifier, $nom_sai } return $saisie_a_modifier; } +/** + * Supprime dans une vue de saisie 'fichiers' + * l'url de récupération par email + * et l'information sur le délai d'expiration + * @param array $vue + * @return array $vue +**/ +function supprimer_action_recuperer_fichier_par_email($vue) { + foreach ($vue as $f => &$desc){ + if (isset($desc['url'])) { + unset($desc['url']); + } + $desc['nom'] = $desc['fichier']; + } + return $vue; +} + +/** + * Dans l'ensemble de vues des saisies + * recherche les saisies 'fichiers' + * et supprime pour chacune d'entre elle les actions de récupération de fichier + * @param array $saisies + * @param array $vues + * @return array $vues +**/ +function +vues_saisies_supprimer_action_recuperer_fichier_par_email($saisies, $vues) { + foreach ($saisies as $saisie=>$description){ + if ($description['saisie'] == 'fichiers') { // si de type fichiers + $nom_saisie = $description['options']['nom']; + $vues[$nom_saisie] = supprimer_action_recuperer_fichier_par_email($vues[$nom_saisie]); + } + } + return $vues; +} /** * Retourne des secondes sous une jolie forme, du type xx jours, yy heures, zz minutes, aa secondes * @param int $seconde -- GitLab