Changeset 30117 in spip-zone


Ignore:
Timestamp:
Jul 22, 2009, 9:57:02 PM (11 years ago)
Author:
nicolas@…
Message:

Gros commit :

  • factorisation de code
  • retour des abonnements en format composite HTML + Texte (tremble, Lotus Notes)
  • ajout quotidien automatique d'abonnes a partir d'un fichier distant
Location:
_plugins_/clevermail/2_0
Files:
2 added
1 deleted
14 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php

    r29625 r30117  
    44  $arg = $securiser_action();
    55  $lsr_id = $arg;
    6   $mode = 1 - sql_getfetsel("lsr_mode", "spip_cm_lists_subscribers", "lsr_id=".sql_quote($lsr_id));
     6  $mode = (sql_getfetsel("lsr_mode", "spip_cm_lists_subscribers", "lsr_id=".sql_quote($lsr_id)) + 1) % 3;
    77 
    88  if (sql_countsel("spip_cm_lists_subscribers", "lsr_id=".sql_quote($lsr_id)) == 1) {
  • _plugins_/clevermail/2_0/base/clevermail.php

    r30055 r30117  
    1919            "lst_auto_hour" => "TINYINT(2) NOT NULL default '8'",
    2020            "lst_auto_week_day" => "TINYINT(1) NOT NULL default '1'", // 0 = dimanche
    21             "lst_auto_month_day" => "TINYINT(2) NOT NULL default '1'"
     21            "lst_auto_month_day" => "TINYINT(2) NOT NULL default '1'",
     22            "lst_auto_subscribers" => "VARCHAR(255) NOT NULL",
     23            "lst_auto_subscribers_mode" => "TINYINT(1) NOT NULL default '0'",
     24            "lst_auto_subscribers_updated" => "int(11) NOT NULL default '0'"
    2225        );
    2326       
     
    186189      sql_insertq('spip_cm_settings',  array('set_name' => 'CM_SEND_NUMBER', 'set_value' => 50));
    187190      ecrire_meta($nom_meta_base_version,$current_version="0.1",'non');
     191      spip_log('Installation des tables du plugin CleverMail en version 0.1', 'clevermail');
    188192    }
    189193    if (version_compare($current_version,'0.2','<')) {
     
    198202                  sql_alter("TABLE cm_subscribers RENAME spip_cm_subscribers");
    199203      ecrire_meta($nom_meta_base_version,$current_version="0.2",'non');
     204      spip_log('Mise à jour des tables du plugin CleverMail en version 0.2', 'clevermail');
    200205    }
    201206    if (version_compare($current_version,'0.3','<')) {
     
    204209        maj_tables('spip_cm_lists');
    205210      ecrire_meta($nom_meta_base_version,$current_version="0.3",'non');
     211      spip_log('Mise à jour des tables du plugin CleverMail en version 0.3', 'clevermail');
     212    }
     213    if (version_compare($current_version,'0.4','<')) {
     214      include_spip('base/abstract_sql');
     215      include_spip('base/create');
     216      maj_tables('spip_cm_lists');
     217      ecrire_meta($nom_meta_base_version,$current_version="0.4",'non');
     218      spip_log('Mise à jour des tables du plugin CleverMail en version 0.4', 'clevermail');
    206219    }
    207220  }
     
    221234  sql_drop_table('spip_cm_subscribers');
    222235  effacer_meta($nom_meta_base_version);
     236  spip_log('Suppression des tables du plugin CleverMail', 'clevermail');
    223237}
    224238?>
  • _plugins_/clevermail/2_0/clevermail_pipelines.php

    r30064 r30117  
    33        $taches_generales['clevermail_queue_process'] = 10;
    44  $taches_generales['clevermail_automatisation'] = 10;
    5         return $taches_generales;
     5  $taches_generales['clevermail_auto_ajout_abonnes'] = 10;
     6  return $taches_generales;
    67}
    78
  • _plugins_/clevermail/2_0/formulaires/clevermail.html

    r29738 r30117  
    2626                  <label><:clevermail:version:></label>
    2727                  [<span class='erreur_message'>(#GET{erreurs})</span>]
    28                   <div class="choix">
    29                     <input type="radio" name="#GET{name}" id="#GET{name}1" class="radio" value="1"[ (#ENV{#GET{name}}|=={1}|oui)checked="checked"] />
    30                     <label for="#GET{name}1">HTML</label>
    31                   </div>
    32                   <div class="choix">
    33                     <input type="radio" name="#GET{name}" id="#GET{name}2" class="radio" value="0"[ (#ENV{#GET{name}}|=={0}|oui)checked="checked"] />
    34                     <label for="#GET{name}2">Text</label>
    35                   </div>
     28                    #SET{value,0}
     29                    <div class="choix">
     30                      <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     31                      <label for="#GET{name}#GET{value}"><:clevermail:choix_version_texte:></label>
     32                    </div>
     33                    #SET{value,1}
     34                    <div class="choix">
     35                      <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     36                      <label for="#GET{name}#GET{value}"><:clevermail:choix_version_html:></label>
     37                    </div>
     38                    #SET{value,2}
     39                    <div class="choix">
     40                      <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     41                      <label for="#GET{name}#GET{value}"><:clevermail:choix_version_composite:></label>
     42                    </div>
    3643                </li>
    3744              </ul>
  • _plugins_/clevermail/2_0/formulaires/clevermail.php

    r29729 r30117  
    11<?php
    22function formulaires_clevermail_charger_dist($lst_id = 0) {
    3         $default = array('editable' => ' ', 'lsr_mode' => 1, 'sub_email' => '', 'lst_ids' => array());
     3        $default = array('editable' => ' ', 'lsr_mode' => 0, 'sub_email' => '', 'lst_ids' => array());
    44        if (intval($lst_id) != 0) {
    55                if ($lst_id = sql_getfetsel("lst_id", "spip_cm_lists", "lst_id=".intval($lst_id)." AND lst_moderation!='closed'")) {
  • _plugins_/clevermail/2_0/formulaires/clevermail_list_edit.html

    r30058 r30117  
    294294        </ul>
    295295      </fieldset>
     296      <fieldset>
     297        <legend><:clevermail:auto_subscribers:></legend>
     298        <ul>
     299          #SET{name,lst_auto_subscribers}
     300          #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     301          #SET{obli,''}
     302          <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     303            <label for="#GET{name}"><:clevermail:auto_subscribers_url:></label>
     304            [<span class='erreur_message'>(#GET{erreurs})</span>]
     305            <p class="explication"><:clevermail:auto_subscribers_explication:></p>
     306            <input type="text" class="text" name="#GET{name}" id="#GET{name}" size="50" maxlength="255" value="#ENV{#GET{name}}" /></li>
     307          </li>
     308          #SET{name,lst_auto_subscribers_mode}
     309          #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     310          #SET{obli,''}
     311          <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     312            <label><:clevermail:auto_subscribers_mode:></label>
     313            [<span class='erreur_message'>(#GET{erreurs})</span>]
     314                   #SET{value,0}
     315                   <div class="choix">
     316                     <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     317                     <label for="#GET{name}#GET{value}"><:clevermail:choix_version_texte:></label>
     318                   </div>
     319                   #SET{value,1}
     320                   <div class="choix">
     321                     <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     322                     <label for="#GET{name}#GET{value}"><:clevermail:choix_version_html:></label>
     323                   </div>
     324                   #SET{value,2}
     325                   <div class="choix">
     326                     <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     327                     <label for="#GET{name}#GET{value}"><:clevermail:choix_version_composite:></label>
     328                   </div>
     329          </li>
     330        </ul>
     331      </fieldset>
    296332      <p class="boutons"><span class="image_loading"></span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
    297333                </div></form>
  • _plugins_/clevermail/2_0/formulaires/clevermail_list_edit.php

    r30058 r30117  
    1515                        'lst_unsubscribe_text' => _T('clevermail:confirmation_votre_desinscription_text'),
    1616                        'lst_subject_tag' => 1,
    17                         'lst_url_html' => "http://",
    18                         'lst_url_text' => "http://",
     17                        'lst_url_html' => 'http://',
     18                        'lst_url_text' => 'http://',
    1919                  'lst_auto_mode' => 'none',
    2020                  'lst_auto_hour' => 8,
    2121                  'lst_auto_week_day' => 1,
    22                   'lst_auto_month_day' => 1
     22                  'lst_auto_month_day' => 1,
     23                  'lst_auto_subscribers' => '',
     24                  'lst_auto_subscribers_mode' => 0
    2325                );
    2426        }
     
    5557    $erreurs['lst_auto_month_day'] = _T('clevermail:auto_erreur_ce_jour_mois_pas_possible');
    5658  }
     59  if (_request('lst_auto_subscribers') != '') {
     60        include_spip('inc/distant');
     61    if ($adresses = recuperer_page(_request('lst_auto_subscribers'))) {
     62            include_spip('inc/clevermail_abonnes');
     63            if (!clevermail_verification_adresses_email($adresses)) {
     64              $erreurs['lst_auto_subscribers'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon');
     65            }
     66    } else {
     67        $erreurs['lst_auto_subscribers'] = _T('clevermail:fichier_adresses_distant_impossible_telecharger');
     68    }
     69  }
    5770  if (count($erreurs)) {
    5871                $erreurs['message_erreur'] = _T('clevermail:veuillez_corriger_votre_saisie');
     
    7891    'lst_auto_hour' => intval(_request('lst_auto_hour')),
    7992    'lst_auto_week_day' => intval(_request('lst_auto_week_day')),
    80     'lst_auto_month_day' => intval(_request('lst_auto_month_day'))
     93    'lst_auto_month_day' => intval(_request('lst_auto_month_day')),
     94    'lst_auto_subscribers' => _request('lst_auto_subscribers'),
     95    'lst_auto_subscribers_mode' => intval(_request('lst_auto_subscribers_mode'))
    8196  );
    8297
     
    88103  if (_request('lst_id') == -1) {
    89104    sql_insertq('spip_cm_lists', $champs);
     105    // XXX : log en chaîne de langue
    90106    spip_log('Nouvelle liste « '._request('lst_name').' »', 'clevermail');
    91107  } else {
    92108        sql_updateq('spip_cm_lists', $champs, "lst_id = ".intval(_request('lst_id')));
     109        // XXX : log en chaîne de langue
    93110    spip_log('Modification de la liste « '._request('lst_name').' » (id = '._request('lst_id').')', 'clevermail');
    94111  }
  • _plugins_/clevermail/2_0/formulaires/clevermail_subscriber_new.html

    r29596 r30117  
    4747           <label for="#GET{name}"><:clevermail:mode:></label>
    4848           [<span class='erreur_message'>(#GET{erreurs})</span>]
     49           #SET{value,0}
    4950           <div class="choix">
    50                    <input type="radio" name="#GET{name}" id="#GET{name}1" class="radio" value="1"[ (#ENV{#GET{name}}|=={1}|oui)checked="checked"] />
    51                    <label for="#GET{name}1">HTML</label>
     51                   <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     52                   <label for="#GET{name}#GET{value}"><:clevermail:choix_version_texte:></label>
    5253                 </div>
     54           #SET{value,1}
    5355                 <div class="choix">
    54                    <input type="radio" name="#GET{name}" id="#GET{name}2" class="radio" value="0"[ (#ENV{#GET{name}}|=={0}|oui)checked="checked"] />
    55                    <label for="#GET{name}2">Text</label>
     56                   <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     57                   <label for="#GET{name}#GET{value}"><:clevermail:choix_version_html:></label>
    5658                 </div>
     59           #SET{value,2}
     60           <div class="choix">
     61             <input type="radio" name="#GET{name}" id="#GET{name}#GET{value}" class="radio" value="#GET{value}"[ (#ENV{#GET{name}}|=={#GET{value}}|oui)checked="checked"] />
     62             <label for="#GET{name}#GET{value}"><:clevermail:choix_version_composite:></label>
     63           </div>
    5764         </li>
    5865             </ul>
  • _plugins_/clevermail/2_0/formulaires/clevermail_subscriber_new.php

    r29698 r30117  
    11<?php
     2include_spip('inc/clevermail_abonnes');
     3
    24function formulaires_clevermail_subscriber_new_charger_dist() {
    35        $valeurs = array(
    46                'cm_file' => '',
    57          'cm_subs' => '',
    6           'cm_mode' => 1,
     8          'cm_mode' => 0,
    79          'cm_lists' => array()
    810        );
     
    2123  if (isset($_FILES['cm_file']) && is_uploaded_file($_FILES['cm_file']['tmp_name'])) {
    2224    $adresses = implode('', file($_FILES['cm_file']['tmp_name']));
    23     // TODO : utiliser plutôt la fonction email_valide()
    24     if (!ereg("^([^@ ]+@[^@ ]+\.[^@. ]+[,;\t\n\r ]+)*[^@ ]+@[^@ ]+\.[^@. ]+[,;\t\n\r ]*$", $adresses)) {
     25    if (!clevermail_verification_adresses_email($adresses)) {
    2526      $erreurs['cm_file'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon');
    2627    }
    2728  }
    28   // TODO : utiliser plutôt la fonction email_valide()
    29   if (_request('cm_subs') != '' && !ereg("^([^@ ]+@[^@ ]+\.[^@. ]+[,;\n\r ]+)*[^@ ]+@[^@ ]+\.[^@. ]+[,;\t\n\r ]*$", _request('cm_subs'))) {
     29  if (_request('cm_subs') != '' && !clevermail_verification_adresses_email(_request('cm_subs'))) {
    3030    $erreurs['cm_subs'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon');
    3131        }
     
    4040
    4141function formulaires_clevermail_subscriber_new_traiter_dist() {
    42         $adresses = array();
     42        $adresses = '';
    4343  if (isset($_FILES['cm_file']) && is_uploaded_file($_FILES['cm_file']['tmp_name'])) {
    44     $fileContent = implode('', file($_FILES['cm_file']['tmp_name']));
    45     $fileContent = ereg_replace("[,;\t\n\r ]+"," ", $fileContent);
    46     $adresses = array_merge($adresses, explode(' ', trim($fileContent)));
     44    $adresses .= "\n".implode('', file($_FILES['cm_file']['tmp_name']));
    4745  }
    4846  if (_request('cm_subs')) {
    49     $textareaContent = ereg_replace("[,;\t\n\r ]+"," ", _request('cm_subs'));
    50     $adresses = array_merge($adresses, explode(' ', trim($textareaContent)));
     47    $adresses .= "\n"._request('cm_subs');
    5148  }
    52   $adresses = array_unique($adresses);
    53   $nbNewSubs = 0;
    54   $nbUpdSubs = 0;
    55   $lsr_mode = intval(_request('cm_mode'));
    56         if (sizeof($adresses) > 0) {
    57     foreach($adresses as $adresse) {
    58         if (!$sub_id = sql_getfetsel("sub_id", "spip_cm_subscribers", "sub_email=".sql_quote($adresse))) {
    59                 $sub_id = sql_insertq("spip_cm_subscribers", array('sub_email' => $adresse));
    60                 sql_updateq("spip_cm_subscribers", array('sub_profile' => md5($sub_id.'#'.$adresse.'#'.time())), "sub_id=".intval($sub_id));
    61         }
    62         foreach(_request('cm_lists') as $lst_id) {
    63                 $lst_name = sql_getfetsel("lst_name", "spip_cm_lists", "lst_id=".intval($lst_id));
    64                 if (sql_countsel("spip_cm_lists_subscribers", "lst_id=".intval($lst_id)." AND sub_id=".intval($sub_id)) == 0) {
    65                         sql_insertq("spip_cm_lists_subscribers", array('lst_id' => intval($lst_id), 'sub_id' => intval($sub_id), 'lsr_mode' => intval($lsr_mode), 'lsr_id' => md5('subscribe#'.$lst_id.'#'.$sub_id.'#'.time())));
    66           spip_log('Ajout de '.$adresse.' (id='.$sub_id.') à la liste « '.$lst_name.' » (id='.$lst_id.')', 'clevermail');
    67                         $nbNewSubs++;
    68                 } else {
    69                         if ($lsr_mode != sql_getfetsel("lsr_mode", "spip_cm_lists_subscribers", "lst_id=".intval($lst_id)." AND sub_id=".intval($sub_id))) {
    70                                 sql_updateq("spip_cm_lists_subscribers", array('lsr_mode' => intval($lsr_mode)), "lst_id=".intval($lst_id)." AND sub_id=".intval($sub_id));
    71                   spip_log('Changement de mode d\'abonnement de '.$adresse.' (id='.$sub_id.') à la liste « '.$lst_name.' » (id='.$lst_id.')', 'clevermail');
    72                                 $nbUpdSubs++;
    73                         }
    74                 }
    75         }
    76     }
    77         }
    78   $msg = $nbNewSubs > 0 ? $nbNewSubs._T('clevermail:n_nouveaux_abonnes') : _T('clevermail:aucun_nouvel_abonne');
    79   $msg .= $nbNewSubs > 0 && $nbUpdSubs > 0 ? _T('clevermail:nouveaux_abonnes_et') : '';
    80   $msg .= $nbUpdSubs > 0 ? $nbUpdSubs._T('clevermail:changements_mode_abonnement') : '';
     49  $retour = clevermail_abonnes_ajout(_request('cm_lists'), intval(_request('cm_mode')), $adresses);
     50
     51  if ($retour === false) {
     52        $msg = _T('clevermail:aucun_nouvel_abonne');
     53  } else {
     54          $msg = $retour['nb_nouv'] > 0 ? $retour['nb_nouv']._T('clevermail:n_nouveaux_abonnes') : _T('clevermail:aucun_nouvel_abonne');
     55          $msg .= $retour['nb_nouv'] > 0 && $retour['nb_maj'] > 0 ? _T('clevermail:nouveaux_abonnes_et') : '';
     56          $msg .= $retour['nb_maj'] > 0 ? $retour['nb_maj']._T('clevermail:changements_mode_abonnement') : '';
     57  }
    8158 
    8259  return array('message_ok' => $msg);
  • _plugins_/clevermail/2_0/genie/clevermail_queue_process.php

    r29679 r30117  
    1515                        $subscriber = sql_fetsel("*", "spip_cm_subscribers", "sub_id = ".intval($message['sub_id']));
    1616                        $subscription = sql_fetsel("lsr_mode, lsr_id", "spip_cm_lists_subscribers", "lst_id = ".intval($post['lst_id'])." AND sub_id = ".intval($message['sub_id']));
    17 
    18                         $mode = ($subscription['lsr_mode'] == 1 ? 'html' : 'texte');
    1917
    2018                        // recipient
     
    5553                        }
    5654
    57                         switch ($mode) {
    58         case 'html':
    59           $body = array('html' => $html, 'texte' => '');
     55                        switch (intval($subscription['lsr_mode'])) {
     56        case 0:
     57          $mode = 'text';
     58                $body = array('html' => '', 'texte' => $text);
    6059          break;
    61         case 'texte':
    62           $body = array('html' => '', 'texte' => $text);
     60                                case 1:
     61          $mode = 'html';
     62          // TODO : que fait le facteur dans ce cas ?
     63                                        $body = array('html' => '', 'texte' => $html);
    6364          break;
     65        case 2:
    6466        default:
    65           $body = array('html' => $html, 'texte' => $text);
     67          $mode = 'composite';
     68                $body = array('html' => $html, 'texte' => $text);
    6669          break;
    6770      }
  • _plugins_/clevermail/2_0/lang/clevermail_fr.php

    r30059 r30117  
    99          'vous_devez_choisir_au_moins_une_liste' => 'Vous devez choisir au moins une liste.',
    1010          'veuillez_corriger_votre_saisie' => 'Veuillez corriger votre saisie.',
    11           'n_nouveaux_abonnes' => ' nouveaux abonnés',
    12           'aucun_nouvel_abonne' => 'aucun nouvel abonné',
     11          'n_nouveaux_abonnes' => ' nouveaux abonn&eacute;s',
     12          'aucun_nouvel_abonne' => 'aucun nouvel abonn&eacute;',
    1313          'nouveaux_abonnes_et' => ' et ',
    1414          'changements_mode_abonnement' => ' changements de mode d\'abonnement',
    15           'inscription_deja_abonne_meme_mode' => 'Vous étiez déjà inscrit à la liste « @lst_name@ » dans ce même mode.',
    16           'inscription_deja_abonne_autre_mode' => 'Vous étiez déjà inscrit à la liste « @lst_name@ » dans un autre mode, changement opéré.',
     15          'inscription_deja_abonne_meme_mode' => 'Vous &eacute;tiez d&eacute;j&agrave; inscrit &agrave; la liste « @lst_name@ » dans ce m&ecirc;me mode.',
     16          'inscription_deja_abonne_autre_mode' => 'Vous &eacute;tiez d&eacute;j&agrave; inscrit &agrave; la liste « @lst_name@ » dans un autre mode, changement op&eacute;r&eacute;.',
    1717          'bouton_inscription' => 'S\'inscrire',
    1818
     
    2020                'email' => 'E-mail :',
    2121                'version' => 'Version :',
    22                 'inscription_lettre' => 'Inscrivez-vous à notre lettre d\'information :',
    23                 'inscription_lettres' => 'Inscrivez-vous à nos lettres d\'information :',
    24                 'deja_inscrit' => 'Vous étiez déjà inscrit à la liste « @lst_name@ ». Votre mode d\'inscription a été mis à jour.',
    25                 'inscription_validee' => 'Votre inscription à la liste « @lst_name@ » est validée. Merci.',
    26                 'desinscription_validee' => 'Votre désinscription de la liste « @lst_name@ » est validée. A bientôt.',
    27                 'deja_validee' => 'Cette opération a déjà été validée. Désolé.',
    28                 'aucune_inscription' => 'Aucune inscription ne correspond &agrave; ce paramètre.',
    29                 'desinscription_confirmation_debut' => 'Désinscription de la lettre d\'information',
    30                 'desinscription_confirmation_fin' => 'demandée. Vous allez recevoir un message demandant confirmation.',
    31                 'inscription_ok' => 'Vous allez recevoir un message de demande de confirmation de votre inscription à la liste « @lst_name@ ».',
    32                 'inscription_nok' => 'Inscription non authorisée pour cette lettre d\'information',
    33                 'inscription_mok' => 'Votre demande d\'inscription à la liste « @lst_name@ » a été soumise au modérateur. Vous serez informé de sa décision.',
    34                 'send_error' => 'Erreur lors de l\'envoi du message de demande de confirmation, veuillez réessayer.',
     22          'choix_version_html' => 'HTML',
     23          'choix_version_texte' => 'Texte brut',
     24          'choix_version_composite' => 'HTML et texte brut',
     25                'inscription_lettre' => 'Inscrivez-vous &agrave; notre lettre d\'information :',
     26                'inscription_lettres' => 'Inscrivez-vous &agrave; nos lettres d\'information :',
     27                'deja_inscrit' => 'Vous &eacute;tiez d&eacute;j&agrave; inscrit &agrave; la liste « @lst_name@ ». Votre mode d\'inscription a &eacute;t&eacute; mis &agrave; jour.',
     28                'inscription_validee' => 'Votre inscription &agrave; la liste « @lst_name@ » est valid&eacute;e. Merci.',
     29                'desinscription_validee' => 'Votre d&eacute;sinscription de la liste « @lst_name@ » est valid&eacute;e. A bientôt.',
     30                'deja_validee' => 'Cette op&eacute;ration a d&eacute;j&agrave; &eacute;t&eacute; valid&eacute;e. D&eacute;sol&eacute;.',
     31                'aucune_inscription' => 'Aucune inscription ne correspond &agrave; ce param&egrave;tre.',
     32                'desinscription_confirmation_debut' => 'D&eacute;sinscription de la lettre d\'information',
     33                'desinscription_confirmation_fin' => 'demand&eacute;e. Vous allez recevoir un message demandant confirmation.',
     34                'inscription_ok' => 'Vous allez recevoir un message de demande de confirmation de votre inscription &agrave; la liste « @lst_name@ ».',
     35                'inscription_nok' => 'Inscription non authoris&eacute;e pour cette lettre d\'information',
     36                'inscription_mok' => 'Votre demande d\'inscription &agrave; la liste « @lst_name@ » a &eacute;t&eacute; soumise au mod&eacute;rateur. Vous serez inform&eacute; de sa d&eacute;cision.',
     37                'send_error' => 'Erreur lors de l\'envoi du message de demande de confirmation, veuillez r&eacute;essayer.',
    3538                'email_non_valide' => 'Adresse non valide.',
    36           'front_clevermail_action_validation' => 'Validation d\'une opération',
    37           'front_clevermail_unsubscription_query' => 'Demande de désinscription',
     39          'front_clevermail_action_validation' => 'Validation d\'une op&eacute;ration',
     40          'front_clevermail_unsubscription_query' => 'Demande de d&eacute;sinscription',
    3841
    3942          // Back Office : toutes pages
     
    4447    'creer_lettre' => 'Cr&eacute;er une lettre d\'information',
    4548    'liste_abonnes' => 'Liste des abonn&eacute;s',
    46     'ajouter_abonne' => 'Ajouter un abonn&eacute;',
     49    'ajouter_abonnes' => 'Ajouter des abonn&eacute;s',
    4750    'parametres' => 'Param&egrave;tres',
    4851       
     
    5457    'un_message_en_cours_envoi' => '1 en cours d\'envoi',
    5558    'plusieurs_messages_en_cours_envoi' => '@nb@ en cours d\'envoi',
    56     'aucun_message_envoye' => 'aucun envoyé',
    57     'un_message_envoye' => '1 envoyé',
    58     'plusieurs_messages_envoyes' => '@nb@ envoyés',
     59    'aucun_message_envoye' => 'aucun envoy&eacute;',
     60    'un_message_envoye' => '1 envoy&eacute;',
     61    'plusieurs_messages_envoyes' => '@nb@ envoy&eacute;s',
    5962       
    6063                // Back reste
     
    99102                'description' => 'Description',
    100103                'moderation' => 'Mod&eacute;ration',
    101           'mod_explication' => 'Les différents modes de modération sont décris ci-contre.',
     104          'mod_explication' => 'Les diff&eacute;rents modes de mod&eacute;ration sont d&eacute;cris ci-contre.',
    102105                'mod_explication_open' => 'Ouverte : tout le monde peut s\'inscrire sans confirmation',
    103106                'mod_explication_email' => 'E-mail : tout le monde peut s\'inscrire apr&egrave;s confirmation par e-mail',
     
    106109          'mod_open' => 'Ouverte',
    107110          'mod_email' => 'E-mail',
    108           'mod_mod' => 'Modérée',
    109           'mod_closed' => 'Fermée',
    110           'automatisation' => 'Automatisation',
     111          'mod_mod' => 'Mod&eacute;r&eacute;e',
     112          'mod_closed' => 'Ferm&eacute;e',
     113          'automatisation' => 'Automatisation des envois',
    111114          'auto_mode' => 'Mode',
    112115          'auto_mode_none' => 'Aucune automatisation',
     
    115118          'auto_mode_month' => 'Envois mensuels',
    116119          'auto_erreur_ce_mode_automatisation_existe_pas' => 'Ce mode d\'automatisation n\'existe pas.',
    117           'auto_heure_creation' => 'Heure de création du message',
    118           'auto_heure_creation_explication' => 'Les messages seront créés à cette heure et directement mis en file d\'attente pour envoi.',
     120          'auto_heure_creation' => 'Heure de cr&eacute;ation du message',
     121          'auto_heure_creation_explication' => 'Les messages seront cr&eacute;&eacute;s &agrave; cette heure et directement mis en file d\'attente pour envoi.',
    119122          'auto_heure_creation_minutes' => 'h00',
    120123          'auto_erreur_cette_heure_existe_pas' => 'Cette heure n\'existe pas.',
     
    129132          'auto_erreur_ce_jour_semaine_existe_pas' => 'Ce jour n\'existe pas dans la semaine.',
    130133    'auto_month_day' => 'Jour du mois',
    131           'auto_month_day_explication' => 'Les jours proposés ne vont que de 1 à 28 pour éviter tout problème lors des mois de moins de 31 jours.',
     134          'auto_month_day_explication' => 'Les jours propos&eacute;s ne vont que de 1 &agrave; 28 pour &eacute;viter tout probl&egrave;me lors des mois de moins de 31 jours.',
    132135          'auto_erreur_ce_jour_mois_existe_pas' => 'Ce jour n\'existe pas dans le mois.',
    133136          'auto_erreur_ce_jour_mois_pas_possible' => 'Le choix de ce jour n\'est pas possible.',
     137          'auto_subscribers' => 'Ajout automatique d\'abonnés',
     138    'auto_subscribers_explication' => 'Les adresses contenus dans ce fichier distant seront automatiquement abonnées une fois par jour à cette liste.',
     139          'auto_subscribers_url' => 'URL du fichier d\'adresses',
     140          'auto_subscribers_mode' => 'Mode d\'abonnement',
    134141          'email_moderateur' => 'E-mail du mod&eacute;rateur',
    135           'prefixer_messages' => 'Préfixe',
     142          'prefixer_messages' => 'Pr&eacute;fixe',
    136143                'prefixer_messages_explication' => 'Pr&eacute;fixer les sujets des messages avec le nom de la lettre d\'information',
    137144                'confirmation_inscription' => 'Confirmation d\'une inscription envoy&eacute; par e-mail',
     
    144151                'url_templates' => 'URL des templates g&eacute;n&eacute;r&eacute;s',
    145152                'version_html' => 'Version HTML',
    146                 'version_txt' => 'Version TXT',
     153                'version_txt' => 'Version texte brut',
    147154                'annuler' => 'Annuler',
    148155                'creer' => 'Cr&eacute;er',
     
    184191          // Mails
    185192          'mail_info_inscription_sujet' => 'Inscription de @sub_email@',
    186           'mail_info_inscription_corps' => 'Alerte envoyée par le plugin CleverMail du site @nom_site@ ( @url_site@ ) :'."\n\n".'Inscription de @sub_email@ à la liste « @lst_name@ »',
    187     'mail_info_desinscription_corps' => 'Alerte envoyée par le plugin CleverMail du site @nom_site@ ( @url_site@ ) :'."\n\n".'Désinscription de @sub_email@ de la liste « @lst_name@ »',
     193          'mail_info_inscription_corps' => 'Alerte envoy&eacute;e par le plugin CleverMail du site @nom_site@ ( @url_site@ ) :'."\n\n".'Inscription de @sub_email@ &agrave; la liste « @lst_name@ »',
     194    'mail_info_desinscription_corps' => 'Alerte envoy&eacute;e par le plugin CleverMail du site @nom_site@ ( @url_site@ ) :'."\n\n".'D&eacute;sinscription de @sub_email@ de la liste « @lst_name@ »',
    188195       
    189196        );
  • _plugins_/clevermail/2_0/plugin.xml

    r30064 r30117  
    22        <nom>CleverMail pour SPIP 2.0</nom>
    33        <auteur>Thomas Beaumanoir et Nicolas Hoizey de [Clever Age->http://www.clever-age.com/]</auteur>
    4         <version>2.1.0</version>
    5   <version_base>0.3</version_base>
     4        <version>2.1.1</version>
     5  <version_base>0.4</version_base>
    66        <etat>test</etat>
    77        <description>
     
    99-* Gestion de {{multiples lettres}}
    1010-* Gestion des inscriptions/d&eacute;sinscriptions, {{les abonn&eacute;s &eacute;tant distincts des utilisateurs de SPIP}}
    11 -* Abonnement au choix de l'utilisateur en version {{HTML ou texte brut}}
     11-* Abonnement au choix de l'utilisateur en version {{HTML, texte brut ou multipart simultan&eacute; HTML + texte brut}} (attention, Lotus Notes n'aime pas)
    1212-* R&eacute;cup&eacute;ration des contenus HTML et texte brut &agrave; partir de deux URL, donc {{utilisation de squelettes SPIP}} d&eacute;di&eacute;s possible
    13 -* {{Automatisation}} des cr&eacute;ations et envois quotidiens, hebdomadaires et mensuels
     13-* {{Automatisation des envois}} avec une fr&eacute;quence quotidienne, hebdomadaire ou mensuelle
     14-* {{Automatisation des inscriptions}} depuis un fichier distant
    1415
    1516&Eacute;volutions envisag&eacute;es :
    16 -* Option d'envoi en multipart simultan&eacute; HTML + texte brut (attention, Lotus Notes n'aime pas)
    17 -* Alimentation automatique de la liste des abonn&eacute;s &agrave; partir d'une ressource externe
     17-* Choix des modes d'abonnement possibles pour chaque liste
    1818-* Extraction de tous les textes sous forme de cha&#238;nes de langue
    1919-* Salvatorisation. [N&eacute;cessite un changement de nom du plugin->http://article.gmane.org/gmane.comp.web.spip.zone/13503]... :-(
    2020-* Envoi programm&eacute; d'un message d&eacute;j&agrave; cr&eacute;&eacute;
    2121-* Envoi en multipart avec images et CSS incluses ?
     22-* Utilisation de CFG pour la configuration ? (bof, une d&eacute;pendance en plus)
    2223-* Vos id&eacute;es ?
    2324        </description>
  • _plugins_/clevermail/2_0/prive/listes/clevermail_subscribers.html

    r29589 r30117  
    1515                      <td>#SUB_EMAIL</td>
    1616          [(#ENV{lst_id}|non)<td>#LST_NAME</td>]
    17                       <td>[(#LSR_MODE|=={1}|?{HTML,Texte})]</td>
     17                      <td>[(#LSR_MODE|=={0}|?{<:clevermail:choix_version_texte:>,[(#LSR_MODE|=={1}|?{<:clevermail:choix_version_html:>,<:clevermail:choix_version_composite:>})]})]</td>
    1818                      <td class="actions">
    1919            [(#BOUTON_ACTION{<:clevermail:changer_mode:>,#URL_ACTION_AUTEUR{clevermail_list_subscriber_toggle,#LSR_ID,#SELF,ajax}})]
  • _plugins_/clevermail/2_0/prive/menu.html

    r30061 r30117  
    44          [<li><a href="(#URL_ECRIRE{clevermail_list_edit}|parametre_url{lst_id,-1})"><:clevermail:creer_lettre:></a></li>]
    55          [<li><a href="(#URL_ECRIRE{clevermail_subscribers})"><:clevermail:liste_abonnes:></a></li>]
    6           [<li><a href="(#URL_ECRIRE{clevermail_subscriber_new})"><:clevermail:ajouter_abonne:></a></li>]
     6          [<li><a href="(#URL_ECRIRE{clevermail_subscriber_new})"><:clevermail:ajouter_abonnes:></a></li>]
    77          [<li><a href="(#URL_ECRIRE{clevermail_settings_edit})"><:clevermail:parametres:></a></li>]
    88        </ul>
Note: See TracChangeset for help on using the changeset viewer.