diff --git a/inc/formidable_fichiers.php b/inc/formidable_fichiers.php index b02156a9885cf3cd42dcd4c461f45bb7b66e4b88..1128b0ec313711dea1a90572b049d075f137bb14 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 9d52c2ea64cc2ecf9f0450b9c51a9669fb96fa28..56238130c484d77d4771b1e6e831b6718f8ea3aa 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 c03a7e1cf482fe59ef077c6b5ef285ed3fb05986..0a1f865b2b4a51da21257621cd20b04d693af65b 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