diff --git a/README.md b/README.md index 20bd685..439740d 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,13 @@ $GLOBALS['remplacements_gamumail']['@@num_facture@@'] = 'numéro de la facture'; function formulaires_gamumail_charger_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){ } ``` +#### argument $slug "no_gamumail" +Si $slug à pour valeur **no_gamumail** alors l'envoi est annulé +Exemple d'option à insérer dans un select sélecteur de slug : +```html + +``` + #### argument Tclient l'Argument $Tclient est utilisé pour récupérer des emails dans un ou X autres Objets SPIP diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index 9c15420..e63839e 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -183,6 +183,17 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient } function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{ + + // blocage de l'envoi par appel du pseudo-slug no_gamumail + if ($slug === 'no_gamumail') { + $retour['message_ok'] = _T('gamumail:message_no_gamumail'); + if ($redirect AND $redirect != '') { + $retour['redirect'] = $redirect; + } + spip_log("Pas d'envoi de mail pour cause de slug no_gamumail","gamumail"); + return $retour; + } + include_spip('inc/texte'); include_spip('classes/facteur'); diff --git a/inc/envoyer_gamumail.php b/inc/envoyer_gamumail.php index 20e5eab..1590367 100644 --- a/inc/envoyer_gamumail.php +++ b/inc/envoyer_gamumail.php @@ -30,11 +30,19 @@ if (!defined('_ECRIRE_INC_VERSION')){ * */ function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_piece_jointe = []) { + include_spip('inc/texte'); include_spip('classes/facteur'); $retour = array(); + // blocage de l'envoi pour le pseudo-slug "no_gamumail" + if ($slug === 'no_gamumail') { + $retour['message_ok'] = _T('gamumail:message_no_gamumail'); + spip_log("Pas d'envoi de mail pour cause de slug no_gamumail","gamumail"); + return $retour; + } + // sécu if (preg_match('/[^a-zA-Z0-9_\-]/', $slug)) { $retour['message_erreur'] = _T("gamumail:erreur_format_slug"); @@ -251,8 +259,11 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_pie ]); //var_dump($sujet); $sujet = $remplacement_generiques($args, $sujet); + // pour ne pas avoir de warning de la fonction envoyer_mail() on doit lui passer un paramètre $from et un $header + $from = ''; + $header = ''; $envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); - $ok = $envoyer_mail($pour, $sujet, $corps); + $ok = $envoyer_mail($pour, $sujet, $corps, $from, $header); } if (!$ok) {