From cfa22caf62da48e6ef475cd72b27e0fc5c56b9e3 Mon Sep 17 00:00:00 2001 From: clem Date: Wed, 26 Aug 2020 14:15:54 +0200 Subject: [PATCH] =?UTF-8?q?passage=20en=20pipeline=20du=20traitement=20des?= =?UTF-8?q?=20@@=20sp=C3=A9cifiques=20d'un=20plugin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/gamumail.php | 12 ++++++++++++ gamumail_pipelines.php | 17 ++++++++++++++++- inc/envoyer_gamumail.php | 33 +++++++++++++++++++++++++-------- paquet.xml | 3 ++- 4 files changed, 55 insertions(+), 10 deletions(-) diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index 12932f5..498aa4a 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -244,9 +244,21 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = 'pieces_jointes' => $pieces_jointes ]; +/* if ($f = charger_fonction('traiter', 'gamumail', true)) { $corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect); } +*/ + // 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 + )); + + // appel d'une éventuelle fonction de traitement du contenu spécifique du slug if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) { $corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect); } diff --git a/gamumail_pipelines.php b/gamumail_pipelines.php index 353b26a..fc6c854 100644 --- a/gamumail_pipelines.php +++ b/gamumail_pipelines.php @@ -13,7 +13,21 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } - +/** + * pipeline pour faire les remplacements des @@ dans le contenu du slug envoyé dans $flux + * + * @param array $flux données du pipeline : + * $flux['data'] = $html + * $flux['args']['slug'] = $slug + * $flux['args']['destinataires'] = $destinataires + * $flux['args']['options'] = $options + * @return array $flux données du pipeline + * + **/ +function gamumail_remplacements_slug($flux) { + + return $flux; +} @@ -32,3 +46,4 @@ function gamumail_optimiser_base_disparus($flux) { return $flux; } + diff --git a/inc/envoyer_gamumail.php b/inc/envoyer_gamumail.php index 8159725..7da0478 100644 --- a/inc/envoyer_gamumail.php +++ b/inc/envoyer_gamumail.php @@ -26,7 +26,7 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) { return $retour; } - // contenu + // contenus du slug $res = sql_fetsel('*', 'spip_gamumails', 'slug = "'.$slug.'"'); if ($res) { $sujet = $res['sujet']; @@ -154,6 +154,15 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) { } $html = $html_header . $html . $html_footer; + // pipeline pour les traitement du contenu des slugs spécifiques de chaque plugins + $args = $options; + $args['slug'] = $slug; + $args['destinataires'] = $destinataires; + $html = pipeline('remplacements_slug', array( + 'args' => $args, + 'data' => $html + )); + $corps = [ 'html' => $html, 'texte' => $texte, @@ -161,31 +170,39 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) { 'cci' => $cci, 'pieces_jointes' => $pieces_jointes ]; +/* if ($f = charger_fonction('traiter', 'gamumail', true)) { $corps = $f($corps, $options, $slug, $auteur, $Tclient, $Tpdf, $redirect); } +*/ + // appel d'une éventuelle fonction de traitement du contenu spécifique du slug if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) { - $corps = $f($corps, $options, $slug, $auteur, $Tclient, $Tpdf, $redirect); + $corps = $f($corps, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect); } // si debug on affiche sans envoyer le mail if (isset($options['debug']) AND $options['debug']) { - echo '$options :'; + echo '
slug : '.$slug; + echo '
$options :'; var_dump($options); echo '
$pour : '; var_dump($pour); - echo '
$sujet: '.$sujet.'
$corps : '; + echo '
$sujet : '.$sujet; + echo '
$corps : '; var_dump($corps); - die; + $ok = true; + } + else { + $envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); + $ok = $envoyer_mail($pour, $sujet, $corps); } - $envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); - $ok = $envoyer_mail($pour, $sujet, $corps); if (!$ok) { spip_log("Erreur d'envoi du mail : ","gamumail"); spip_log($corps,"gamumail"); $retour['message_erreur'] = _T("gamumail:erreur_envoi_mail"); - } else { + } + else { $retour['message_ok'] = _T('gamumail:mail_envoye'); } /* diff --git a/paquet.xml b/paquet.xml index c4031ff..13a214c 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ +