From c177c93011209d6dbc0151115480d8f62cafedca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= <maieul@maieul.net> Date: Tue, 10 May 2022 14:05:42 +0200 Subject: [PATCH] =?UTF-8?q?Nouvelle=20option=20passable=20=C3=A0=20l'appel?= =?UTF-8?q?=20d'un=20formulaire=20`traiter=5Femail=5Fdestinataires`=20:=20?= =?UTF-8?q?re=C3=A7ois=20un=20tableau=20d'emails=20(ou=20une=20liste=20s?= =?UTF-8?q?=C3=A9par=C3=A9e=20des=20virgule).=20Se=20compl=C3=A8te=20avec?= =?UTF-8?q?=20l'option=20`traiter=5Femail=5Fdestinataires=5Fmethode=5Fmeth?= =?UTF-8?q?ode`=20qui=20peut=20=C3=AAtre=20:=20-=20`remplacer`=20pour=20qu?= =?UTF-8?q?e=20les=20destinataires=20pass=C3=A9s=20par=20squelettes=20remp?= =?UTF-8?q?lacent=20ceux=20de=20config=20-=20`ajouter`=20(valeur=20par=20d?= =?UTF-8?q?=C3=A9faut)=20pour=20qu'ils=20viennent=20compl=C3=A9ter=20la=20?= =?UTF-8?q?liste.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Exemple d'appel ```` #FORMULAIRE_FORMIDABLE{coordonnees,#ARRAY{input_1,plop}, #ARRAY{traiter_email_destinataires,22@22.fr,traiter_email_destinataires_methode,remplacer}} ```` --- traiter/email.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/traiter/email.php b/traiter/email.php index 3aace77a..b26e212f 100644 --- a/traiter/email.php +++ b/traiter/email.php @@ -8,7 +8,6 @@ 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 (isset($retours['modification_reponse']) and $retours['modification_reponse'] == true @@ -71,6 +70,18 @@ function traiter_email_dist($args, $retours) { $destinataires = array_merge($destinataires, $destinataires_plus); } + // Les destinataires éventuellement passés au formulaire dans le squelette + $traiter_email_destinataires = $args['options_appel']['traiter_email_destinataires'] ?? []; + if (!is_array($traiter_email_destinataires)) { + $traiter_email_destinataires = explode(',', $traiter_email_destinataires); + } + $traiter_email_destinataires = array_map('trim', $traiter_email_destinataires); + if (($args['options_appel']['traiter_email_destinataires_methode'] ?? 'ajouter') === 'remplacer') { + $destinataires = $traiter_email_destinataires; + } else { + $destinataires = array_merge($destinataires, $traiter_email_destinataires); + } + // On ajoute les destinataires en fonction des choix de saisie dans le formulaire // @selection_1@/choix1 : mail@domain.tld // @selection_1@/choix2 : autre@domain.tld, lapin@domain.tld -- GitLab