From 8a7a4c1a58de5277097a5311d708b1944f3557ce Mon Sep 17 00:00:00 2001 From: tofulm Date: Thu, 18 Jul 2024 11:49:44 +0200 Subject: [PATCH] feat: on peut utiliser inc/envoyer_gamumail sans slug Pour cela, il faut : * utiliser le slug : `no_slug` * ajouter dans $options['message'] * facultatif $options['sujet'] --- inc/envoyer_gamumail.php | 33 +++++++++++++++++++++------------ paquet.xml | 2 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/inc/envoyer_gamumail.php b/inc/envoyer_gamumail.php index 40f694f..ff04765 100644 --- a/inc/envoyer_gamumail.php +++ b/inc/envoyer_gamumail.php @@ -55,17 +55,26 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_pie // langue (par défaut langue du site) $lang = !empty($options['lang']) ? $options['lang'] : lire_config('langue_site', 'fr'); - - // contenus du slug - $res = sql_fetsel('*', 'spip_gamumails', 'slug = "'.$slug.'"'); - if ($res) { - $sujet = extraire_multi($res['sujet'], $lang); - $html = propre($res['texte']); - $id_docs = $res['id_docs']; - } - else { - $retour['message_erreur'] = _T("gamumail:pas_de_slug"); - return $retour; + $id_docs = ''; + if ($slug === 'no_slug' && array_key_exists('message', $options)) { + $html = $options['message']; + if (array_key_exists('sujet', $options)) { + $sujet = $options['sujet']; + } else { + $sujet = array_shift($texte); + } + } else { + // contenus du slug + $res = sql_fetsel('*', 'spip_gamumails', 'slug = "'.$slug.'"'); + if ($res) { + $sujet = extraire_multi($res['sujet'], $lang); + $html = propre($res['texte']); + $id_docs = $res['id_docs']; + } + else { + $retour['message_erreur'] = _T("gamumail:pas_de_slug"); + return $retour; + } } // destinataires (id_auteur ou mails) => $pour[] est un array avec les adresses mails valides @@ -275,7 +284,7 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = [], $Tid_doc_pie } else { // pour ne pas avoir de warning de la fonction envoyer_mail() on doit lui passer un paramètre $from et un $header $from = ''; - $header = ''; + $header = $options['header'] ?? ''; $envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); $ok = $envoyer_mail($pour, $sujet, $corps, $from, $header); } diff --git a/paquet.xml b/paquet.xml index e2e4328..80bbfc1 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@