fix: envoie separe avec le contexte, ajout un pipeline pour les cas compliqués

This commit is contained in:
Christophe 2023-11-06 18:35:45 +01:00
parent 6aaba3f5fe
commit d40c764aa4
3 changed files with 19 additions and 3 deletions

View file

@ -188,6 +188,7 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient
} }
function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{
$retour = [];
// blocage de l'envoi par appel du pseudo-slug no_gamumail // blocage de l'envoi par appel du pseudo-slug no_gamumail
if ($slug === 'no_gamumail') { if ($slug === 'no_gamumail') {
@ -202,9 +203,8 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
include_spip('inc/texte'); include_spip('inc/texte');
include_spip('classes/facteur'); include_spip('classes/facteur');
$retour = [];
$envoi_separe = _request('envoi_separe') ?? ''; $envoi_separe = _request('envoi_separe') ?? '';
$options['envoi_separe'] = $envoi_separe;
$pour = _request('pour'); $pour = _request('pour');
$pour = explode(',', $pour); $pour = explode(',', $pour);
@ -340,6 +340,15 @@ function gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $redirect, &
$nom = isset($p['nom']) ? $p['nom'] : $fichier; $nom = isset($p['nom']) ? $p['nom'] : $fichier;
} }
} }
$c = array_merge($options, $c);
$c = pipeline('tpdf_charger_contexte', [
'args' => [
'destinataires' => $destinataires,
'contexte' => $c,
'options' => $options
], 'data' => $c
]);
$pdf = $recup_pdf($fichier, $c); $pdf = $recup_pdf($fichier, $c);
$nom_fichier = $nom.'.pdf'; $nom_fichier = $nom.'.pdf';
$destination = _DIR_TMP.basename($nom_fichier); $destination = _DIR_TMP.basename($nom_fichier);

View file

@ -1,10 +1,16 @@
[(#SET{Tpdf,#ARRAY{
fichier,#ENV{pdf_fichier},
nom,#ENV{pdf_nom},
contexte,#ARRAY{slug, #ENV{slug}}
}}
)]
<h3 id="titre_slug"><:gamumail:contenu_mail:></h3> <h3 id="titre_slug"><:gamumail:contenu_mail:></h3>
<div class="bloc_contenu_slug ajax"> <div class="bloc_contenu_slug ajax">
[(#FORMULAIRE_GAMUMAIL{ [(#FORMULAIRE_GAMUMAIL{
#ENV{slug}, #ENV{slug},
#ENV{dest}, #ENV{dest},
#ENV{client}, #ENV{client},
#ENV{Tpdf}, #GET{Tpdf},
#ENV{redirect}, #ENV{redirect},
#ENV{options} #ENV{options}
})] })]

View file

@ -21,6 +21,7 @@
<pipeline nom="remplacements_slug" action='' /> <pipeline nom="remplacements_slug" action='' />
<pipeline nom="post_gamumail_ok" action='' /> <pipeline nom="post_gamumail_ok" action='' />
<pipeline nom="tpdf_charger_contexte" action='' />
<pipeline nom="autoriser" inclure="gamumail_autorisations.php" /> <pipeline nom="autoriser" inclure="gamumail_autorisations.php" />