From dc57373f817a03adf94068743ba7d5e627d921f4 Mon Sep 17 00:00:00 2001 From: tofulm Date: Tue, 24 Jun 2025 16:39:08 +0200 Subject: [PATCH] feat(2 ajouts) : * si redirect=fermer_modalbox si gamumail est ouvert dans une modalbox, le retour fermera simplement cette modal * si en plus, on charge dans `options['ajaxReload] = toto`, cela rechargera ce bloc --- formulaires/gamumail.html | 9 +++++++++ formulaires/gamumail.php | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/formulaires/gamumail.html b/formulaires/gamumail.html index e5aa74f..ab81fdb 100644 --- a/formulaires/gamumail.html +++ b/formulaires/gamumail.html @@ -31,6 +31,15 @@ [

(#ENV*{message_erreur})

] [

(#ENV*{message_ok}|explode{@@}|table_valeur{0})

] + [(#ENV*{message_ok}|explode{@@}|table_valeur{1}|=={fermer_modalbox}|oui) + + ] +
#ACTION_FORMULAIRE{#ENV{action}} diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index 288482f..ebb4e05 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -23,6 +23,7 @@ include_spip('inc/filtres'); * */ function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){ + var_dump($options); $Tmails = []; if (defined('_FORCER_ENVOI_SEPARE')) { @@ -247,6 +248,7 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{ $retour = []; + $retour['message_ok'] = ''; // blocage de l'envoi par appel du pseudo-slug no_gamumail if ($slug === 'no_gamumail') { @@ -291,6 +293,7 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = $envoi_separe = 'oui'; } + if (empty($envoi_separe)) { gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $Tfiles, $redirect, $retour); } else { @@ -311,12 +314,19 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = $retour['message_ok'] .= '@@gamumail_ok'; } } -if ($redirect AND $redirect != '') { + if ($redirect AND $redirect != '') { $retour['redirect'] = $redirect; + if ($redirect === 'fermer_modalbox') { + $retour['redirect'] = ''; + $retour['message_ok'] = _T('gamumail:mail_envoye'); + $retour['message_ok'] .= '@@fermer_modalbox'; + if (!empty($options['ajaxReload'])) { + $retour['message_ok'] .= '@@' . $options['ajaxReload']; + } + } } // debug - // $retour['redirect'] = ""; // fin debug return $retour; }