From c699436115700ed1039351b0f252655344ff7a17 Mon Sep 17 00:00:00 2001 From: Cerdic Date: Tue, 3 Dec 2019 09:32:32 +0100 Subject: [PATCH] Gestion de la config : separer le calcul de l'envoyeur par defaut, mieux gerer la surcharge, et assurer la compat des autres plugins en emulant une meta facteur_smtp (mailshot) --- classes/facteur.php | 15 ++++----- facteur_administrations.php | 2 +- formulaires/configurer_facteur.html | 3 ++ formulaires/configurer_facteur.php | 15 +++++---- inc/facteur.php | 49 ++++++++++++++++++++++------- 5 files changed, 56 insertions(+), 28 deletions(-) diff --git a/classes/facteur.php b/classes/facteur.php index f1ebffa..ffda28c 100755 --- a/classes/facteur.php +++ b/classes/facteur.php @@ -27,15 +27,16 @@ class Facteur extends SPIP\Facteur\FacteurSMTP { */ public function __construct($email, $objet, $message_html, $message_texte, $options = array()) { - $defaut = facteur_config_default(); + // config eventuellement surchargeee lors de l'appel + $config = facteur_config($options); - // compat ancicenne option smtp - $defaut['smtp'] = ($defaut['mailer'] === 'smtp' ? 'oui' : 'non'); - - // On fusionne les options avec d'éventuelles surcharges lors de l'appel - $options = array_merge($defaut, $options); + // compat ancienne option smtp + if (isset($options['smtp']) and empty($config['mailer'])) { + $config['mailer'] = ($options['smtp'] === 'oui' ? 'smtp' : 'mail'); + } - if ($options['smtp'] !== 'oui') { + // toute autre config que smtp se degrade en mail() + if ($config['mailer'] !== 'smtp') { unset($options['smtp_host']); unset($options['smtp_port']); } diff --git a/facteur_administrations.php b/facteur_administrations.php index 6c6dc2d..c307dc9 100755 --- a/facteur_administrations.php +++ b/facteur_administrations.php @@ -61,8 +61,8 @@ function facteur_migre_metas_to_config(){ if (isset($GLOBALS['meta']["facteur_smtp"])) { if (!lire_config("facteur/mailer",'')) { ecrire_config("facteur/mailer", $GLOBALS['meta']["facteur_smtp"] === 'oui' ? 'smtp' : 'mail'); - effacer_meta('facteur_smtp'); } + effacer_meta('facteur_smtp'); } } diff --git a/formulaires/configurer_facteur.html b/formulaires/configurer_facteur.html index 2c182cb..a7afd4a 100644 --- a/formulaires/configurer_facteur.html +++ b/formulaires/configurer_facteur.html @@ -118,6 +118,9 @@

+