You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.9 KiB

11 years ago
<?php
3 years ago
/**
* Plugin Facteur 4
* (c) 2009-2019 Collectif SPIP
11 years ago
* Distribue sous licence GPL
*
3 years ago
* @package SPIP\Facteur\Administrations
11 years ago
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
11 years ago
function facteur_upgrade($nom_meta_base_version, $version_cible) {
$maj = array();
11 years ago
include_spip('inc/config');
$maj['create'] = array(
array('ecrire_config','facteur/mailer', 'mail'),
array('ecrire_config','facteur/smtp_auth', 'non'),
array('ecrire_config','facteur/smtp_secure', 'non'),
array('ecrire_config','facteur/smtp_sender', ''),
array('ecrire_config','facteur/filtre_images', 0),
array('ecrire_config','facteur/filtre_css', 0),
array('ecrire_config','facteur/filtre_iso_8859', 0),
array('ecrire_config','facteur/adresse_envoi', 'non'),
array('facteur_vieil_upgrade'),
);
$maj['2.0.0'] = array(
array('facteur_migre_metas_to_config'),
);
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
11 years ago
/**
* Migrer les N metas en une seule meta facteur que l'on accede via les fonctions lire_config/ecrire_config
*/
function facteur_migre_metas_to_config(){
include_spip('inc/config');
// ne pas migrer 2 fois
if (!isset($GLOBALS['meta']["facteur"]) or !@unserialize($GLOBALS['meta']["facteur"])) {
foreach (array(
'adresse_envoi', 'adresse_envoi_email', 'adresse_envoi_nom', 'forcer_from',
'cc', 'bcc',
'mailer',
'smtp_host', 'smtp_port', 'smtp_auth',
'smtp_username', 'smtp_password', 'smtp_secure', 'smtp_sender', 'smtp_tls_allow_self_signed',
'filtre_images', 'filtre_iso_8859',
) as $config) {
if (isset($GLOBALS['meta']["facteur_$config"])) {
ecrire_config("facteur/$config", $GLOBALS['meta']["facteur_$config"]);
effacer_meta("facteur_$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');
}
}
/**
* migration depuis tres ancienne version du plugin spip_notifications, a la main
*/
function facteur_vieil_upgrade() {
if (isset($GLOBALS['meta']['spip_notifications_version'])) {
ecrire_config('facteur/mailer', ($GLOBALS['meta']['spip_notifications_smtp'] === 'oui') ? 'smtp' : 'mail');
ecrire_config('facteur/smtp_auth', $GLOBALS['meta']['spip_notifications_smtp_auth']);
ecrire_config('facteur/smtp_secure', $GLOBALS['meta']['spip_notifications_smtp_secure']);
ecrire_config('facteur/smtp_sender', $GLOBALS['meta']['spip_notifications_smtp_sender']);
ecrire_config('facteur/filtre_images', $GLOBALS['meta']['spip_notifications_filtre_images']);
ecrire_config('facteur/filtre_css', $GLOBALS['meta']['spip_notifications_filtre_css']);
ecrire_config('facteur/filtre_iso_8859', $GLOBALS['meta']['spip_notifications_filtre_iso_8859']);
ecrire_config('facteur/adresse_envoi', $GLOBALS['meta']['spip_notifications_adresse_envoi']);
ecrire_config('facteur/adresse_envoi_nom', $GLOBALS['meta']['spip_notifications_adresse_envoi_nom']);
ecrire_config('facteur/adresse_envoi_email', $GLOBALS['meta']['spip_notifications_adresse_envoi_email']);
// supprimer l'ancien nommage
effacer_meta('spip_notifications_smtp');
effacer_meta('spip_notifications_smtp_auth');
effacer_meta('spip_notifications_smtp_secure');
effacer_meta('spip_notifications_smtp_sender');
effacer_meta('spip_notifications_filtre_images');
effacer_meta('spip_notifications_filtre_css');
effacer_meta('spip_notifications_filtre_iso_8859');
effacer_meta('spip_notifications_adresse_envoi');
effacer_meta('spip_notifications_adresse_envoi_nom');
effacer_meta('spip_notifications_adresse_envoi_email');
effacer_meta('spip_notifications_version');
// KEZAKO ?
include_spip('base/abstract_sql');
sql_drop_table('spip_notifications', true);
11 years ago
}
}
function facteur_vider_tables($nom_meta_base_version) {
effacer_meta('facteur');
11 years ago
effacer_meta($nom_meta_base_version);
}