From e533e06e78d76a0df042ede35c0254d3f16eed9d Mon Sep 17 00:00:00 2001
From: "maieul@maieul.net" <>
Date: Mon, 21 Oct 2019 15:41:16 +0000
Subject: [PATCH] =?UTF-8?q?options=20pour=20ne=20pas=20envoyer=20d'email?=
 =?UTF-8?q?=20en=20cas=20de=20modif=20de=20r=C3=A9ponse=20(par=20exemple:?=
 =?UTF-8?q?=20lorsqu'on=20modifie=20depuis=20l'espace=20priv=C3=A9)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lang/formidable_fr.php |  1 +
 traiter/email.php      |  7 +++++++
 traiter/email.yaml     | 10 ++++++++--
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/lang/formidable_fr.php b/lang/formidable_fr.php
index 4a08e82b..671808e2 100644
--- a/lang/formidable_fr.php
+++ b/lang/formidable_fr.php
@@ -264,6 +264,7 @@ Cette option n’est conservée que pour compatibilité ascendante. Elle n’app
 	'traiter_email_option_masquer_champs_vide_label_case' => 'Masquer les champs vides',
 	'traiter_email_option_masquer_liens_label_case' => 'Masquer les liens d’administration dans le courriel.',
 	'traiter_email_option_masquer_valeurs_accuse_label_case' => 'Ne pas envoyer les valeurs de la réponse dans l’accusé de réception',
+	'traiter_email_option_modification_reponse_label_case' => 'Ne pas envoyer d\'email en cas de modification d\'une réponse déjà enregistrée.',
 	'traiter_email_option_nom_envoyeur_accuse_explication' => 'Précisez le nom de l’expéditeur utilisé pour envoyer l’accusé de réception. Si vous ne mettez rien, ce sera le nom du site..',
 	'traiter_email_option_nom_envoyeur_accuse_label' => 'Nom de l’expéditeur de l’accusé de réception',
 	'traiter_email_option_pj_explication' => 'Si les documents postés pèsent moins de _FORMIDABLE_TAILLE_MAX_FICHIERS_EMAIL Mio (constante modifiable par le·la webmestre).',
diff --git a/traiter/email.php b/traiter/email.php
index 929487ea..2f670e0d 100644
--- a/traiter/email.php
+++ b/traiter/email.php
@@ -8,6 +8,13 @@ include_spip('inc/utils');
 include_spip('inc/formidable_fichiers');
 
 function traiter_email_dist($args, $retours) {
+
+	// Vérifier si on doit envoyer en cas de modification de réponses
+	if ($retours['modification_reponse'] == true and isset($args['options']['modification_reponse'])) {
+		$retours['traitements']['email'] = true;
+		return $retours;
+	}
+
 	include_spip('inc/texte');
 	if (!isset($retours['fichiers'])) {
 		$retours['fichiers'] = array();
diff --git a/traiter/email.yaml b/traiter/email.yaml
index e750b966..bb91d641 100644
--- a/traiter/email.yaml
+++ b/traiter/email.yaml
@@ -2,6 +2,12 @@
 titre: '<:formidable:traiter_email_titre:>'
 description: '<:formidable:traiter_email_description:>'
 options:
+  -
+    saisie: 'case'
+    options:
+      nom: 'modification_reponse'
+      label_case: '<:formidable:traiter_email_option_modification_reponse_label_case:>'
+      li_class: 'pleine_largeur'
   -
     saisie: 'fieldset'
     options:
@@ -165,13 +171,13 @@ options:
           label: '<:formidable:traiter_email_option_texte_accuse_label:>'
           explication: '<:formidable:traiter_email_option_texte_accuse_explication:>'
           afficher_si: '@traitements[email][activer_accuse]@!=""'
-          rows: 4          
+          rows: 4
       -
         saisie: 'case'
         options:
           nom: 'masquer_valeurs_accuse'
           label_case: '<:formidable:traiter_email_option_masquer_valeurs_accuse_label_case:>'
-          afficher_si: '@traitements[email][activer_accuse]@!=""'          
+          afficher_si: '@traitements[email][activer_accuse]@!=""'
       -
         saisie: 'input'
         options:
-- 
GitLab