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 @@
+