passage en pipeline du traitement des @@ spécifiques d'un plugin

This commit is contained in:
clem 2020-08-26 14:15:54 +02:00
parent 15b011259e
commit cfa22caf62
4 changed files with 55 additions and 10 deletions

View file

@ -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);
}

View file

@ -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;
}

View file

@ -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 '<br>slug : '.$slug;
echo '<br>$options :';
var_dump($options);
echo '<br>$pour : ';
var_dump($pour);
echo '<br>$sujet: '.$sujet.'<br>$corps : ';
echo '<br>$sujet : '.$sujet;
echo '<br>$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');
}
/*

View file

@ -1,7 +1,7 @@
<paquet
prefix="gamumail"
categorie="communication"
version="1.0.7"
version="1.0.9"
etat="dev"
compatibilite="[3.2.0;3.3.*]"
logo="prive/themes/spip/images/gamumail-64.png"
@ -19,6 +19,7 @@
<necessite nom="crayons" compatibilite="[2.0.10;[" />
<necessite nom="facteur" compatibilite="[4.0.0;[" />
<pipeline nom="remplacements_slug" action='' />
<pipeline nom="autoriser" inclure="gamumail_autorisations.php" />