Skip to content
Extraits de code Groupes Projets
Valider c177c930 rédigé par Maïeul's avatar Maïeul
Parcourir les fichiers

Nouvelle option passable à l'appel d'un formulaire

`traiter_email_destinataires` : reçois un tableau d'emails (ou une liste
séparée des virgule).
Se complète avec l'option `traiter_email_destinataires_methode_methode`
qui peut être :
- `remplacer` pour que les destinataires passés par squelettes
remplacent ceux de config
- `ajouter` (valeur par défaut) pour qu'ils viennent compléter la liste.

Exemple d'appel

````

 #FORMULAIRE_FORMIDABLE{coordonnees,#ARRAY{input_1,plop}, #ARRAY{traiter_email_destinataires,22@22.fr,traiter_email_destinataires_methode,remplacer}}

````
parent 49bd0308
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -8,7 +8,6 @@ include_spip('inc/utils'); ...@@ -8,7 +8,6 @@ include_spip('inc/utils');
include_spip('inc/formidable_fichiers'); include_spip('inc/formidable_fichiers');
function traiter_email_dist($args, $retours) { function traiter_email_dist($args, $retours) {
// Vérifier si on doit envoyer en cas de modification de réponses // Vérifier si on doit envoyer en cas de modification de réponses
if (isset($retours['modification_reponse']) if (isset($retours['modification_reponse'])
and $retours['modification_reponse'] == true and $retours['modification_reponse'] == true
...@@ -71,6 +70,18 @@ function traiter_email_dist($args, $retours) { ...@@ -71,6 +70,18 @@ function traiter_email_dist($args, $retours) {
$destinataires = array_merge($destinataires, $destinataires_plus); $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 // On ajoute les destinataires en fonction des choix de saisie dans le formulaire
// @selection_1@/choix1 : mail@domain.tld // @selection_1@/choix1 : mail@domain.tld
// @selection_1@/choix2 : autre@domain.tld, lapin@domain.tld // @selection_1@/choix2 : autre@domain.tld, lapin@domain.tld
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter