diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index 25c114f..1efcd5a 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -196,6 +196,7 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient } 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 if ($slug === 'no_gamumail') { @@ -210,9 +211,8 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = include_spip('inc/texte'); include_spip('classes/facteur'); - $retour = []; - $envoi_separe = _request('envoi_separe') ?? ''; + $options['envoi_separe'] = $envoi_separe; $pour = _request('pour'); $pour = explode(',', $pour); @@ -275,6 +275,10 @@ function gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $redirect, & $Tid_doc = _request('Tid_doc'); $texte = facteur_mail_html2text($html); + $args = $options; + $args['slug'] = $slug; + $args['destinataires'] = $destinataires; + $pieces_jointes = []; if ($f = charger_fonction('traiter_av_pdf', 'gamumail', true)) { $options = $f($options, $destinataires, $Tclient, $Tpdf); @@ -341,6 +345,7 @@ function gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $redirect, & $recup_pdf = charger_fonction('charger_pdf','inc'); foreach ($Tpdfs_ok as $pdf) { + $nom = "mon_fichier"; foreach ($Tpdf as $cle => $p) { if ($p['fichier'].'_'.$cle === $pdf) { $fichier = $p['fichier']; @@ -348,6 +353,20 @@ function gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $redirect, & $nom = isset($p['nom']) ? $p['nom'] : $fichier; } } + + $nom = pipeline('remplacements_slug', array( + 'args' => $args, + 'data' => $nom + )); + + $c = pipeline('tpdf_charger_contexte', [ + 'args' => [ + 'destinataires' => $destinataires, + 'contexte' => $c, + 'options' => $options + ], 'data' => $c + ]); + $pdf = $recup_pdf($fichier, $c); $nom_fichier = $nom.'.pdf'; $destination = _DIR_TMP.basename($nom_fichier); @@ -392,9 +411,6 @@ function gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $redirect, & $html = $html_header . $html . $html_footer; // pipeline pour les traitement du contenu des slugs spécifiques de chaque plugin - $args = $options; - $args['slug'] = $slug; - $args['destinataires'] = $destinataires; $html = pipeline('remplacements_slug', array( 'args' => $args, 'data' => $html diff --git a/inclure/vue_slug.html b/inclure/vue_slug.html index 542b98a..1a168f2 100644 --- a/inclure/vue_slug.html +++ b/inclure/vue_slug.html @@ -1,10 +1,16 @@ +[(#SET{Tpdf,#ARRAY{ +fichier,#ENV{pdf_fichier}, +nom,#ENV{pdf_nom}, +contexte,#ARRAY{slug, #ENV{slug}} +}} +)]