Changeset 118859 in spip-zone


Ignore:
Timestamp:
Dec 2, 2019, 12:30:19 PM (12 days ago)
Author:
Cerdic
Message:

Renommage de la configuration facteur_smtp=oui|non en facteur_mailer=mail|smtp pour etre extensible
on ne fait pas d'upgrade de base, on gere la lecture de la nouvelle config et le fallback vers l'ancienne sinon via la fonction facteur_config_mailer()

Location:
_plugins_/facteur/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/facteur/trunk

    • Property subgit:lock:2f52e87fd945a564c57ca92b0b886087da4bd334 deleted
    • Property subgit:lock:b21141c3263c2bec3e7a8b371fa331c8e32f4069 set to 2019-12-02T18:21:51.505
  • _plugins_/facteur/trunk/classes/facteur.php

    r118853 r118859  
    2727}
    2828
     29/**
     30 * Recuperer la methode du mailer configuree
     31 * avec fallback vers l'ancienne config facteur_smtp
     32 * @return string
     33 */
     34function facteur_config_mailer() {
     35        $config_mailer = '';
     36        if (isset($GLOBALS['meta']["facteur_mailer"])) {
     37                $config_mailer = $GLOBALS['meta']["facteur_mailer"];
     38        }
     39        if (!$config_mailer and isset($GLOBALS['meta']["facteur_smtp"])) {
     40                $config_mailer = ($GLOBALS['meta']["facteur_smtp"] === 'oui') ? 'smtp' : 'mail';
     41        }
     42        if (!in_array($config_mailer, array('mail', 'smtp'))) {
     43                $config_mailer = 'mail';
     44        }
     45        return $config_mailer;
     46}
     47
    2948
    3049class Facteur extends PHPMailer {
     
    5574                        'adresse_envoi', 'adresse_envoi_email', 'adresse_envoi_nom', 'forcer_from',
    5675                        'cc', 'bcc',
    57                         'smtp', 'smtp_host', 'smtp_port', 'smtp_auth',
     76                        'smtp_host', 'smtp_port', 'smtp_auth',
    5877                        'smtp_username', 'smtp_password', 'smtp_secure', 'smtp_sender', 'smtp_tls_allow_self_signed',
    5978                        'filtre_images', 'filtre_iso_8859',
     
    6180                        $defaut[$config] = isset($GLOBALS['meta']["facteur_$config"]) ? $GLOBALS['meta']["facteur_$config"] : '';
    6281                }
     82                $defaut['smtp'] = (facteur_config_mailer() === 'smtp' ? 'oui' : 'non');
     83
    6384                // On fusionne les options avec d'éventuelles surcharges lors de l'appel
    6485                $options = array_merge($defaut, $options);
  • _plugins_/facteur/trunk/facteur_administrations.php

    r118853 r118859  
    1616
    1717        $maj['create'] = array(
    18                 array('ecrire_meta','facteur_smtp', 'non'),
     18                array('ecrire_meta','facteur_mailer', 'mail'),
    1919                array('ecrire_meta','facteur_smtp_auth', 'non'),
    2020                array('ecrire_meta','facteur_smtp_secure', 'non'),
     
    3434        // migration depuis tres ancienne version, a la main
    3535        if (isset($GLOBALS['meta']['spip_notifications_version'])) {
    36                 ecrire_meta('facteur_smtp', $GLOBALS['meta']['spip_notifications_smtp']);
     36                ecrire_meta('facteur_mailer', ($GLOBALS['meta']['spip_notifications_smtp'] === 'oui') ? 'smtp' : 'mail');
    3737                ecrire_meta('facteur_smtp_auth', $GLOBALS['meta']['spip_notifications_smtp_auth']);
    3838                ecrire_meta('facteur_smtp_secure', $GLOBALS['meta']['spip_notifications_smtp_secure']);
     
    6464
    6565function facteur_vider_tables($nom_meta_base_version) {
    66         // cfg la dessus, ca serait mieux !
    6766        effacer_meta('facteur_version');
    68         effacer_meta('facteur_smtp');
     67        effacer_meta('facteur_smtp'); // vieille config
     68        effacer_meta('facteur_mailer');
    6969        effacer_meta('facteur_smtp_auth');
    7070        effacer_meta('facteur_smtp_secure');
  • _plugins_/facteur/trunk/facteur_ieconfig_metas.php

    r118853 r118859  
    1414        $table['facteur']['titre'] = _T('facteur:configuration_facteur');
    1515        $table['facteur']['icone'] = 'facteur-16.png';
    16         $table['facteur']['metas_brutes'] = 'facteur_adresse_envoi,facteur_adresse_envoi_nom,facteur_adresse_envoi_email,facteur_smtp,facteur_smtp_host,facteur_smtp_port,facteur_smtp_auth,facteur_smtp_username,facteur_smtp_password,facteur_smtp_secure,facteur_smtp_sender,facteur_filtre_images,facteur_filtre_css,facteur_filtre_iso_8859';
     16        $table['facteur']['metas_brutes'] = 'facteur_adresse_envoi,facteur_adresse_envoi_nom,facteur_adresse_envoi_email,facteur_mailer,facteur_smtp_host,facteur_smtp_port,facteur_smtp_auth,facteur_smtp_username,facteur_smtp_password,facteur_smtp_secure,facteur_smtp_sender,facteur_filtre_images,facteur_filtre_css,facteur_filtre_iso_8859';
    1717        return $table;
    1818}
  • _plugins_/facteur/trunk/formulaires/configurer_facteur.html

    r118854 r118859  
    5252                        <p class="explication"><:facteur:configuration_smtp_descriptif:></p>
    5353                        <div class="editer-groupe">
    54                                 <div class="editer pleine_largeur editer_facteur_smtp [ (#ENV**{erreurs}|table_valeur{facteur_smtp}|oui)erreur]">
    55                                         [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp})</span>]
     54                                <div class="editer pleine_largeur editer_facteur_mailer [ (#ENV**{erreurs}|table_valeur{facteur_mailer}|oui)erreur]">
     55                                        [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_mailer})</span>]
    5656                                        <div class="choix">
    57                                                 <input type="radio" name="facteur_smtp" class="radio" value="non" id="facteur_smtp_non"[(#ENV{facteur_smtp,'non'}|=={non}|oui)checked="checked"]/>
    58                                                 <label for="facteur_smtp_non"><:facteur:utiliser_mail:></label>
     57                                                <input type="radio" name="facteur_mailer" class="radio" value="mail" id="facteur_mailer_mail"[(#ENV{facteur_mailer,'mail'}|=={mail}|oui)checked="checked"]/>
     58                                                <label for="facteur_mailer_mail"><:facteur:utiliser_mail:></label>
    5959                                        </div>
    6060                                        <div class="choix">
    61                                                 <input type="radio" name="facteur_smtp" class="radio" value="oui" id="facteur_smtp_oui"[(#ENV{facteur_smtp,'non'}|=={oui}|oui)checked="checked"]/>
    62                                                 <label for="facteur_smtp_oui"><:facteur:utiliser_smtp:></label>
     61                                                <input type="radio" name="facteur_mailer" class="radio" value="smtp" id="facteur_mailer_smtp"[(#ENV{facteur_mailer,'mail'}|=={smtp}|oui)checked="checked"]/>
     62                                                <label for="facteur_mailer_smtp"><:facteur:utiliser_smtp:></label>
    6363
    64                                                 <div class="suite editer-groupe editer_facteur_smtp_param" [(#ENV{facteur_smtp,'non'}|=={non}|oui)style='display:none;']>
     64                                                <div class="suite editer-groupe editer_facteur_smtp_param" [(#ENV{facteur_mailer,'mail'}|=={smtp}|non)style='display:none;']>
    6565                                                        <div class="editer editer_facteur_smtp_host [ (#ENV**{erreurs}|table_valeur{facteur_smtp_host}|oui)erreur]">
    6666                                                                <label for="facteur_smtp_host"><:facteur:facteur_smtp_host:></label>[
  • _plugins_/facteur/trunk/formulaires/configurer_facteur.php

    r118853 r118859  
    1414function formulaires_configurer_facteur_charger_dist() {
    1515        include_spip('inc/config');
     16        include_spip('classes/facteur');
     17
    1618        $valeurs = array(
    1719                'facteur_adresse_envoi'             => lire_config('facteur_adresse_envoi'),
     
    1921                'facteur_adresse_envoi_email'       => lire_config('facteur_adresse_envoi_email'),
    2022                'facteur_forcer_from'               => lire_config('facteur_forcer_from'),
    21                 'facteur_smtp'                      => lire_config('facteur_smtp'),
     23                'facteur_mailer'                    => facteur_config_mailer(),
    2224                'facteur_smtp_host'                 => lire_config('facteur_smtp_host'),
    2325                'facteur_smtp_port'                 => lire_config('facteur_smtp_port', 25),
     
    3840
    3941        // recuperer le from par defaut actuel pour l'indiquer dans le formulaire
    40         include_spip('classes/facteur');
    4142        $facteur = new Facteur('test@example.org', 'Test', '', '', array('adresse_envoi' => 'non'));
    4243        $valeurs['_from_defaut'] = $facteur->From;
     
    5657                set_request('facteur_adresse_envoi', 'oui');
    5758        }
    58         if (_request('facteur_smtp') == 'oui') {
     59        if (_request('facteur_mailer') === 'smtp') {
    5960                if (!($h = _request('facteur_smtp_host'))) {
    6061                        $erreurs['facteur_smtp_host'] = _T('info_obligatoire');
     
    133134        ecrire_meta('facteur_forcer_from', ($facteur_forcer_from=='oui')?'oui':'non');
    134135
    135         $facteur_smtp = _request('facteur_smtp');
    136         ecrire_meta('facteur_smtp', ($facteur_smtp=='oui')?'oui':'non');
     136        $facteur_mailer = _request('facteur_mailer');
     137        ecrire_meta('facteur_mailer', $facteur_mailer);
    137138
    138139        $facteur_smtp_host = _request('facteur_smtp_host');
     
    173174        $res = array('message_ok' => _T('facteur:config_info_enregistree'));
    174175
    175         // faut-il envoyer un message de test ?
    176         if (_request('tester')) {
    177                 $res = array();
    178                 $destinataire = _request('email_test');
    179                 $err = facteur_envoyer_mail_test($destinataire, _T('facteur:corps_email_de_test'));
    180                 if ($err) {
    181                         $res['message_erreur'] = $err;
    182                 } else {
    183                         $res['message_ok'] = _T('facteur:email_test_envoye');
    184                 }
    185         }
    186 
    187176        return $res;
    188177}
Note: See TracChangeset for help on using the changeset viewer.