@ -10,31 +10,30 @@
/**
* Recuperer la config par defaut de Facteur, en s'assurant que les meta ont bien ete migrees
* Recuperer la config de Facteur, avec eventuelle surcharge
* en s'assurant que les meta ont bien ete migrees
*
* @param array $options
* @return array
*/
function facteur_config_default() {
function facteur_config($options = array() ) {
if (!function_exists('lire_config')) {
include_spip('inc/config');
}
// si jamais les meta sont pas migrees... le faire a l'arrache !
if (isset($GLOBALS['meta']["facteur_smtp" ])) {
if (empty($GLOBALS['meta']['facteur']) or !@unserialize($GLOBALS['meta']['facteur' ])) {
include_spip('facteur_administrations');
facteur_migre_metas_to_config();
}
$config = lire_config('facteur');
if (!empty($options) and is_array($options)) {
$config = array_merge($config, $options);
}
if ($config['adresse_envoi'] !== 'oui' or !$config['adresse_envoi_email']) {
$config['adresse_envoi_email'] = (isset($GLOBALS['meta']["email_envoi"]) AND $GLOBALS['meta']["email_envoi"]) ?
$GLOBALS['meta']["email_envoi"]
: $GLOBALS['meta']['email_webmaster'];
if (!function_exists('extraire_multi')) {
include_spip('inc/filtres');
}
$config['adresse_envoi_nom'] = strip_tags(extraire_multi($GLOBALS['meta']['nom_site']));
$config = array_merge($config, facteur_config_envoyeur_par_defaut());
}
$config['adresses_site'] = array(
@ -42,6 +41,32 @@ function facteur_config_default() {
url_de_base(),
);
// et on emule la globale facteur_smtp pour les plugins qui s'appuient dessus comme mailshot
$GLOBALS['meta']['facteur_smtp'] = ($config['mailer'] === 'smtp' ? 'oui' : 'non');
return $config;
}
/**
* Generer la config par defaut de l'envoyeur, hors reglage specifique ou surcharge
* @return array
*/
function facteur_config_envoyeur_par_defaut() {
$config = array(
'adresse_envoi_email' => '',
'adresse_envoi_nom' => '',
);
$config['adresse_envoi_email'] = (isset($GLOBALS['meta']["email_envoi"]) AND $GLOBALS['meta']["email_envoi"]) ?
$GLOBALS['meta']["email_envoi"]
: $GLOBALS['meta']['email_webmaster'];
if (!function_exists('extraire_multi')) {
include_spip('inc/filtres');
}
$config['adresse_envoi_nom'] = strip_tags(extraire_multi($GLOBALS['meta']['nom_site']));
return $config;
}
@ -57,7 +82,7 @@ function facteur_factory($options = array()) {
if (!is_array($options)) {
$options = array();
}
$options = array_merge( facteur_config_default (), $options);
$options = facteur_config($options);
$config_mailer = $options['mailer'];