Changeset 54071 in spip-zone


Ignore:
Timestamp:
Nov 6, 2011, 7:14:36 AM (9 years ago)
Author:
guillaume@…
Message:

Passage à SPIP3

Location:
_plugins_/clevermail/trunk
Files:
5 edited
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/clevermail/trunk/base/clevermail.php

    r51999 r54071  
    1414}
    1515
    16 function clevermail_declarer_tables_principales($tables_principales) {
     16function clevermail_declarer_tables_objets_sql($tables) {
    1717        // spip_cm_lists
    18         $spip_cm_lists = array(
    19             "lst_id" => "INT(11) NOT NULL auto_increment",
    20             "lst_name" => "VARCHAR(255) NOT NULL",
    21             "lst_comment" => "TEXT NOT NULL",
    22             "lst_moderation" => "VARCHAR(10) NOT NULL",
    23             "lst_moderator_email" => "VARCHAR(255) NOT NULL",
    24             "lst_subscribe_subject" => "VARCHAR(255) NOT NULL",
    25             "lst_subscribe_text" => "TEXT NOT NULL",
    26             "lst_subject" => "VARCHAR(255) NOT NULL",
    27             "lst_unsubscribe_subject" => "VARCHAR(255) NOT NULL",
    28             "lst_unsubscribe_text" => "TEXT NOT NULL",
    29             "lst_subject_tag" => "TINYINT(1) NOT NULL default '1'",
    30             "lst_url_html" => "VARCHAR(255) NOT NULL",
    31             "lst_url_text" => "VARCHAR(255) NOT NULL",
    32             "lst_auto_mode" => "ENUM('none', 'day', 'week', 'month') DEFAULT 'none'",
    33             "lst_auto_hour" => "TINYINT(2) NOT NULL default '8'",
    34             "lst_auto_week_day" => "TINYINT(1) NOT NULL default '1'", // 0 = dimanche
    35         "lst_auto_week_days" => "VARCHAR(13) NOT NULL default '1'", // concatenation numeros des jours, 0 = dimanche
    36             "lst_auto_month_day" => "TINYINT(2) NOT NULL default '1'",
    37             "lst_auto_subscribers" => "VARCHAR(255) NOT NULL",
    38             "lst_auto_subscribers_mode" => "TINYINT(1) NOT NULL default '0'",
    39             "lst_auto_subscribers_updated" => "int(11) NOT NULL default '0'"
     18        $tables["spip_cm_lists"]=array(
     19       
     20                'principale' => "oui",
     21                'field'=> array(
     22                        "lst_id" => "INT(11) NOT NULL auto_increment",
     23                        "lst_name" => "VARCHAR(255) NOT NULL",
     24                        "lst_comment" => "TEXT NOT NULL",
     25                        "lst_moderation" => "VARCHAR(10) NOT NULL",
     26                        "lst_moderator_email" => "VARCHAR(255) NOT NULL",
     27                        "lst_subscribe_subject" => "VARCHAR(255) NOT NULL",
     28                        "lst_subscribe_text" => "TEXT NOT NULL",
     29                        //"lst_subject" => "VARCHAR(255) NOT NULL",
     30                        "lst_unsubscribe_subject" => "VARCHAR(255) NOT NULL",
     31                        "lst_unsubscribe_text" => "TEXT NOT NULL",
     32                        "lst_subject_tag" => "TINYINT(1) NOT NULL default '1'",
     33                        "lst_url_html" => "VARCHAR(255) NOT NULL",
     34                        "lst_url_text" => "VARCHAR(255) NOT NULL",
     35                        "lst_auto_mode" => "ENUM('none', 'day', 'week', 'month') DEFAULT 'none'",
     36                        "lst_auto_hour" => "TINYINT(2) NOT NULL default '8'",
     37                        "lst_auto_week_day" => "TINYINT(1) NOT NULL default '1'", // 0 = dimanche
     38                        "lst_auto_week_days" => "VARCHAR(13) NOT NULL default '1'", // concatenation numeros des jours, 0 = dimanche
     39                        "lst_auto_month_day" => "TINYINT(2) NOT NULL default '1'",
     40                        "lst_auto_subscribers" => "VARCHAR(255) NOT NULL",
     41                        "lst_auto_subscribers_mode" => "TINYINT(1) NOT NULL default '0'",
     42                        "lst_auto_subscribers_updated" => "int(11) NOT NULL default '0'"
     43                ),
     44                'key' => array(
     45                        "PRIMARY KEY" => "lst_id"
     46                ),
     47                'titre' => "lst_name AS titre, '' AS lang",
    4048        );
    4149
    42         $spip_cm_lists_key = array(
    43             "PRIMARY KEY" => "lst_id"
    44         );
    45 
    46         $tables_principales['spip_cm_lists'] = array(
    47     'field' => &$spip_cm_lists,
    48     'key' => &$spip_cm_lists_key
    49   );
    50 
    51         // spip_cm_lists_subscribers
    52         $spip_cm_lists_subscribers = array(
    53           "lst_id" => "INT(11) NOT NULL",
    54           "sub_id" => "BIGINT(20) NOT NULL",
    55           "lsr_mode" => "TINYINT(1) NOT NULL",
    56           "lsr_id" => "VARCHAR(32) NOT NULL"
    57         );
    58 
    59         $spip_cm_lists_subscribers_key = array(
    60             "PRIMARY KEY" => "lst_id, sub_id",
    61             "KEY lst_id" => "lst_id"
    62         );
    63 
    64   $tables_principales['spip_cm_lists_subscribers'] = array(
    65     'field' => &$spip_cm_lists_subscribers,
    66     'key' => &$spip_cm_lists_subscribers_key
    67   );
    68 
     50// spip_cm_lists_subscribers
     51        $tables["spip_cm_lists_subscribers"]=array(
     52                'principale' => "non",
     53                'field'=> array(          "lst_id" => "INT(11) NOT NULL",
     54                          "sub_id" => "BIGINT(20) NOT NULL",
     55                          "lsr_mode" => "TINYINT(1) NOT NULL",
     56                          "lsr_id" => "VARCHAR(32) NOT NULL"
     57                        ),
     58                'key' => array(
     59                        "PRIMARY KEY" => "lst_id, sub_id",
     60                        "KEY lst_id" => "lst_id")
     61                );
     62       
    6963        // spip_cm_pending
    70         $spip_cm_pending = array(
    71           "lst_id" => "int(11) NOT NULL",
    72           "sub_id" => "bigint(20) NOT NULL",
    73           "pnd_action" => "varchar(15) NOT NULL",
    74           "pnd_mode" => "tinyint(1) NOT NULL",
    75           "pnd_action_date" => "int(11) NOT NULL",
    76           "pnd_action_id" => "varchar(32) NOT NULL"
    77         );
    78 
    79         $spip_cm_pending_key = array(
    80           "PRIMARY KEY" => "lst_id, sub_id"
    81         );
    82 
    83   $tables_principales['spip_cm_pending'] = array(
    84     'field' => &$spip_cm_pending,
    85     'key' => &$spip_cm_pending_key
    86   );
     64        $tables["spip_cm_pending"]=array(
     65                'principale' => "oui",
     66                'field'=> array(
     67                          "lst_id" => "int(11) NOT NULL",
     68                          "sub_id" => "bigint(20) NOT NULL",
     69                          "pnd_action" => "varchar(15) NOT NULL",
     70                          "pnd_mode" => "tinyint(1) NOT NULL",
     71                          "pnd_action_date" => "int(11) NOT NULL",
     72                          "pnd_action_id" => "varchar(32) NOT NULL"
     73                        ),
     74                'key' => array(
     75                        "PRIMARY KEY" => "lst_id, sub_id")
     76                );
    8777
    8878        // spip_cm_posts
    89         $spip_cm_posts = array(
    90           "pst_id" => "bigint(20) NOT NULL auto_increment",
    91           "lst_id" => "int(11) NOT NULL",
    92           "pst_date_create" => "int(11) NOT NULL",
    93           "pst_date_update" => "int(11) NOT NULL",
    94           "pst_date_sent" => "int(11) NOT NULL",
    95           "pst_subject" => "varchar(255) NOT NULL",
    96           "pst_html" => "longtext NOT NULL",
    97           "pst_text" => "longtext NOT NULL",
    98         );
    99 
    100         $spip_cm_posts_key = array(
    101           "PRIMARY KEY" => "pst_id"
    102         );
    103 
    104   $tables_principales['spip_cm_posts'] = array(
    105     'field' => &$spip_cm_posts,
    106     'key' => &$spip_cm_posts_key
    107   );
     79        $tables["spip_cm_posts"]=array(
     80                'principale' => "oui",
     81                'field'=> array(
     82                          "pst_id" => "bigint(20) NOT NULL auto_increment",
     83                          "lst_id" => "int(11) NOT NULL",
     84                          "pst_date_create" => "int(11) NOT NULL",
     85                          "pst_date_update" => "int(11) NOT NULL",
     86                          "pst_date_sent" => "int(11) NOT NULL",
     87                          "pst_subject" => "varchar(255) NOT NULL",
     88                          "pst_html" => "longtext NOT NULL",
     89                          "pst_text" => "longtext NOT NULL"
     90                        ),
     91                'key' => array(
     92                        "PRIMARY KEY" => "pst_id"),
     93                'url_voir'=>'clevermail_post_edit'
     94                );
    10895
    10996        // spip_cm_posts_done
    110         $spip_cm_posts_done = array(
    111           "pst_id" => "bigint(20) NOT NULL",
    112           "sub_id" => "bigint(20) NOT NULL"
    113         );
     97        $tables["spip_cm_posts_done"]=array(
     98                'principale' => "oui",
     99                'field'=> array(
     100                          "pst_id" => "bigint(20) NOT NULL",
     101                          "sub_id" => "bigint(20) NOT NULL"
     102                        ),
     103                'key' => array(
     104                        "PRIMARY KEY" => "pst_id, sub_id")
     105                );
    114106
    115         $spip_cm_posts_done_key = array(
    116           "PRIMARY KEY" => "pst_id, sub_id"
    117         );
    118107
    119   $tables_principales['spip_cm_posts_done'] = array(
    120     'field' => &$spip_cm_posts_done,
    121     'key' => &$spip_cm_posts_done_key
    122   );
     108
     109
    123110
    124111        // spip_cm_posts_links
    125         $spip_cm_posts_links = array(
    126           "lnk_id" => "bigint(20) NOT NULL",
    127           "pst_id" => "bigint(20) NOT NULL",
    128           "lnk_name" => "varchar(255) NOT NULL",
    129           "lnk_url" => "text NOT NULL"
    130         );
    131112
    132         $spip_cm_posts_links_key = array(
    133           "PRIMARY KEY" => "lnk_id"
    134         );
     113        $tables["spip_posts_links"]=array(
     114                'principale' => "oui",
     115                'field'=> array(
     116                          "lnk_id" => "bigint(20) NOT NULL",
     117                          "pst_id" => "bigint(20) NOT NULL",
     118                          "lnk_name" => "varchar(255) NOT NULL",
     119                          "lnk_url" => "text NOT NULL"
     120                        ),
     121                'key' => array(
     122                        "PRIMARY KEY" => "lnk_id")
     123                );
    135124
    136   $tables_principales['spip_cm_posts_links'] = array(
    137     'field' => &$spip_cm_posts_links,
    138     'key' => &$spip_cm_posts_links_key
    139   );
     125// spip_cm_posts_queued
     126        $tables["spip_cm_posts_queued"]=array(
     127                'principale' => "oui",
     128                'field'=> array(
     129                  "pst_id" => "bigint(20) NOT NULL",
     130                  "sub_id" => "bigint(20) NOT NULL",
     131                  "psq_date" => "int(11) NOT NULL"
     132                        ),
     133                'key' => array(
     134                        "PRIMARY KEY" => "pst_id,sub_id")
     135                );
    140136
    141         // spip_cm_posts_queued
    142         $spip_cm_posts_queued = array(
    143           "pst_id" => "bigint(20) NOT NULL",
    144           "sub_id" => "bigint(20) NOT NULL",
    145           "psq_date" => "int(11) NOT NULL"
    146         );
    147137
    148         $spip_cm_posts_queued_key = array(
    149           "PRIMARY KEY" => "pst_id, sub_id"
    150         );
    151 
    152   $tables_principales['spip_cm_posts_queued'] = array(
    153     'field' => &$spip_cm_posts_queued,
    154     'key' => &$spip_cm_posts_queued_key
    155   );
    156138
    157139        // spip_cm_settings
    158         $spip_cm_settings = array(
    159           "set_name" => "varchar(15) NOT NULL",
    160           "set_value" => "varchar(255) NOT NULL"
    161         );
     140       
     141        $tables["spip_cm_settings"]=array(
     142                'principale' => "oui",
     143                'field'=> array(
     144                  "set_name" => "varchar(15) NOT NULL",
     145                  "set_value" => "varchar(255) NOT NULL"
     146                        ),
     147                'key' => array(
     148                        //"PRIMARY KEY" => "set_name"
     149                        )
     150                );
    162151
    163         $spip_cm_settings_key = array(
    164           //"PRIMARY KEY" => "set_name"
    165         );
    166 
    167   $tables_principales['spip_cm_settings'] = array(
    168     'field' => &$spip_cm_settings,
    169     'key' => &$spip_cm_settings_key
    170   );
    171152
    172153        // spip_cm_subscribers
    173         $spip_cm_subscribers = array(
    174           "sub_id" => "bigint(20) NOT NULL auto_increment",
    175           "sub_email" => "varchar(255) NOT NULL",
    176           "sub_profile" => "varchar(32) NOT NULL"
    177         );
     154       
     155        $tables["spip_cm_subscribers"]=array(
     156                'principale' => "oui",
     157                'field'=> array(
     158                          "sub_id" => "bigint(20) NOT NULL auto_increment",
     159                          "sub_email" => "varchar(255) NOT NULL",
     160                          "sub_profile" => "varchar(32) NOT NULL"
     161                        ),
     162                'key' => array(
     163                        "PRIMARY KEY" => "sub_id",
     164                          "KEY sub_profile" => "sub_profile",
     165                          "KEY sub_email" => "sub_email")
     166                );
    178167
    179         $spip_cm_subscribers_key = array(
    180           "PRIMARY KEY" => "sub_id",
    181           "KEY sub_profile" => "sub_profile",
    182           "KEY sub_email" => "sub_email"
    183         );
    184 
    185   $tables_principales['spip_cm_subscribers'] = array(
    186     'field' => &$spip_cm_subscribers,
    187     'key' => &$spip_cm_subscribers_key
    188   );
    189 
    190   return $tables_principales;
     168return $tables;
    191169}
    192170
    193 function clevermail_upgrade($nom_meta_base_version, $version_cible) {
    194         include_spip('inc/meta');
    195   $current_version = 0.0;
    196   if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
    197       || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    198     if (version_compare($current_version,'0.1','<')) {
    199       include_spip('base/abstract_sql');
    200       include_spip('base/create');
    201       creer_base();
    202       // pas besoin d'insert si pas de mail webmaster défini
    203       if ($GLOBALS['meta']['email_webmaster']){
    204               sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_FROM', 'set_value' => $GLOBALS['meta']['email_webmaster']));
    205               sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_ADMIN', 'set_value' => $GLOBALS['meta']['email_webmaster']));
    206               sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_RETURN', 'set_value' => $GLOBALS['meta']['email_webmaster']));
    207           }
    208       sql_insertq('spip_cm_settings',  array('set_name' => 'CM_SEND_NUMBER', 'set_value' => 50));
    209       ecrire_meta($nom_meta_base_version,$current_version="0.1",'non');
    210       spip_log('Installation des tables du plugin CleverMail en version 0.1', 'clevermail');
    211     }
    212     if (version_compare($current_version,'0.2','<')) {
    213                   sql_alter("TABLE cm_lists RENAME spip_cm_lists");
    214                   sql_alter("TABLE cm_lists_subscribers RENAME spip_cm_lists_subscribers");
    215                   sql_alter("TABLE cm_pending RENAME spip_cm_pending");
    216                   sql_alter("TABLE cm_posts RENAME spip_cm_posts");
    217                   sql_alter("TABLE cm_posts_done RENAME spip_cm_posts_done");
    218                   sql_alter("TABLE cm_posts_links RENAME spip_cm_posts_links");
    219                   sql_alter("TABLE cm_posts_queued RENAME spip_cm_posts_queued");
    220                   sql_alter("TABLE cm_settings RENAME spip_cm_settings");
    221                   sql_alter("TABLE cm_subscribers RENAME spip_cm_subscribers");
    222       ecrire_meta($nom_meta_base_version,$current_version="0.2",'non');
    223       spip_log('Mise à jour des tables du plugin CleverMail en version 0.2', 'clevermail');
    224     }
    225     if (version_compare($current_version,'0.3','<')) {
    226       include_spip('base/abstract_sql');
    227       include_spip('base/create');
    228         maj_tables('spip_cm_lists');
    229       ecrire_meta($nom_meta_base_version,$current_version="0.3",'non');
    230       spip_log('Mise à jour des tables du plugin CleverMail en version 0.3', 'clevermail');
    231     }
    232     if (version_compare($current_version,'0.4','<')) {
    233       include_spip('base/abstract_sql');
    234       include_spip('base/create');
    235       maj_tables('spip_cm_lists');
    236       ecrire_meta($nom_meta_base_version,$current_version="0.4",'non');
    237       spip_log('Mise à jour des tables du plugin CleverMail en version 0.4', 'clevermail');
    238     }
    239     if (version_compare($current_version,'0.5','<')) {
    240       include_spip('base/abstract_sql');
    241       // On avait inventé un troisième mode pour rien
    242       sql_updateq("spip_cm_lists_subscribers", array('lsr_mode' => 1), "lsr_mode=2");
    243       ecrire_meta($nom_meta_base_version,$current_version="0.5",'non');
    244       spip_log('Mise à jour des tables du plugin CleverMail en version 0.5', 'clevermail');
    245     }
    246     if (version_compare($current_version,'0.6','<')) {
    247       include_spip('base/abstract_sql');
    248       include_spip('base/create');
    249       maj_tables('spip_cm_lists');
    250       sql_update('spip_cm_lists', array('lst_auto_week_days' => 'lst_auto_week_day'));
    251       sql_alter("TABLE spip_cm_lists DROP lst_auto_week_day");
    252       ecrire_meta($nom_meta_base_version,$current_version="0.6",'non');
    253       spip_log('Mise à jour des tables du plugin CleverMail en version 0.6', 'clevermail');
    254     }
    255     if (version_compare($current_version,'0.7','<')) {
    256       include_spip('base/abstract_sql');
    257       include_spip('base/create');
    258       maj_tables('spip_cm_lists');
    259       ecrire_meta($nom_meta_base_version,$current_version="0.7",'non');
    260       spip_log('Mise à jour des tables du plugin CleverMail en version 0.7', 'clevermail');
    261     }
    262     if (version_compare($current_version,'0.8','<')) {
    263       include_spip('base/abstract_sql');
    264       include_spip('base/create');
    265       maj_tables('spip_cm_lists');
    266       sql_alter("TABLE spip_cm_lists DROP lst_subscribe_subject_multiple");
    267       sql_alter("TABLE spip_cm_lists DROP lst_subscribe_text_multiple");
    268       sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_SUBJECT', 'set_value' => _T('clevermail:confirmation_votre_inscription_multiple')));
    269       sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_TEXT', 'set_value' => _T('clevermail:confirmation_votre_inscription_text_multiple')));
    270       ecrire_meta($nom_meta_base_version,$current_version="0.8",'non');
    271       spip_log('Mise à jour des tables du plugin CleverMail en version 0.8', 'clevermail');
    272     }
    273   }
    274 }
    275 
    276 function clevermail_vider_tables($nom_meta_base_version) {
    277   include_spip('inc/meta');
    278   include_spip('base/abstract_sql');
    279   sql_drop_table('spip_cm_lists');
    280   sql_drop_table('spip_cm_lists_subscribers');
    281   sql_drop_table('spip_cm_pending');
    282   sql_drop_table('spip_cm_posts');
    283   sql_drop_table('spip_cm_posts_done');
    284   sql_drop_table('spip_cm_posts_links');
    285   sql_drop_table('spip_cm_posts_queued');
    286   sql_drop_table('spip_cm_settings');
    287   sql_drop_table('spip_cm_subscribers');
    288   effacer_meta($nom_meta_base_version);
    289   spip_log('Suppression des tables du plugin CleverMail', 'clevermail');
    290 }
    291171?>
  • _plugins_/clevermail/trunk/clevermail_administrations.php

    r54070 r54071  
    11<?php
    2 function clevermail_declarer_tables_interfaces($interface){
    3         // 'spip_' dans l'index de $tables_principales
    4         $interface['table_des_tables']['cm_lists']='cm_lists';
    5         $interface['table_des_tables']['cm_lists_subscribers']='cm_lists_subscribers';
    6         $interface['table_des_tables']['cm_pending']='cm_pending';
    7         $interface['table_des_tables']['cm_posts']='cm_posts';
    8         $interface['table_des_tables']['cm_posts_done']='cm_posts_done';
    9         $interface['table_des_tables']['cm_posts_links']='cm_posts_links';
    10         $interface['table_des_tables']['cm_posts_queued']='cm_posts_queued';
    11         $interface['table_des_tables']['cm_settings']='cm_settings';
    12         $interface['table_des_tables']['cm_subscribers']='cm_subscribers';
    13         return $interface;
    14 }
     2if (!defined('_ECRIRE_INC_VERSION')) return;
    153
    16 function clevermail_declarer_tables_principales($tables_principales) {
    17         // spip_cm_lists
    18         $spip_cm_lists = array(
    19             "lst_id" => "INT(11) NOT NULL auto_increment",
    20             "lst_name" => "VARCHAR(255) NOT NULL",
    21             "lst_comment" => "TEXT NOT NULL",
    22             "lst_moderation" => "VARCHAR(10) NOT NULL",
    23             "lst_moderator_email" => "VARCHAR(255) NOT NULL",
    24             "lst_subscribe_subject" => "VARCHAR(255) NOT NULL",
    25             "lst_subscribe_text" => "TEXT NOT NULL",
    26             "lst_subject" => "VARCHAR(255) NOT NULL",
    27             "lst_unsubscribe_subject" => "VARCHAR(255) NOT NULL",
    28             "lst_unsubscribe_text" => "TEXT NOT NULL",
    29             "lst_subject_tag" => "TINYINT(1) NOT NULL default '1'",
    30             "lst_url_html" => "VARCHAR(255) NOT NULL",
    31             "lst_url_text" => "VARCHAR(255) NOT NULL",
    32             "lst_auto_mode" => "ENUM('none', 'day', 'week', 'month') DEFAULT 'none'",
    33             "lst_auto_hour" => "TINYINT(2) NOT NULL default '8'",
    34             "lst_auto_week_day" => "TINYINT(1) NOT NULL default '1'", // 0 = dimanche
    35         "lst_auto_week_days" => "VARCHAR(13) NOT NULL default '1'", // concatenation numeros des jours, 0 = dimanche
    36             "lst_auto_month_day" => "TINYINT(2) NOT NULL default '1'",
    37             "lst_auto_subscribers" => "VARCHAR(255) NOT NULL",
    38             "lst_auto_subscribers_mode" => "TINYINT(1) NOT NULL default '0'",
    39             "lst_auto_subscribers_updated" => "int(11) NOT NULL default '0'"
     4
     5function clevermail_upgrade($nom_meta_base_version, $version_cible) {
     6
     7        $maj = array();
     8        $maj['create'] = array(
     9                array('maj_tables', array('spip_cm_lists','spip_cm_lists_subscribers','spip_cm_pending'
     10        ,'spip_cm_posts','spip_cm_posts_done','spip_cm_posts_links'
     11        ,'spip_cm_posts_queued','spip_cm_settings','spip_cm_subscribers')),
     12                array('peupler_base_0_0_1',array())
     13
    4014        );
    4115
    42         $spip_cm_lists_key = array(
    43             "PRIMARY KEY" => "lst_id"
     16        $maj['0.2.0'] = array(
     17                array('sql_alter',"TABLE cm_lists RENAME spip_cm_lists"),
     18                array('sql_alter',"TABLE cm_lists_subscribers RENAME spip_cm_lists_subscribers"),
     19                array('sql_alter',"TABLE cm_pending RENAME spip_cm_pending"),
     20                array('sql_alter',"TABLE cm_posts_done RENAME spip_cm_posts_done"),
     21                array('sql_alter',"TABLE cm_posts_links RENAME spip_cm_posts_links"),
     22                array('sql_alter',"TABLE cm_posts_queued RENAME spip_cm_posts_queued"),
     23                array('sql_alter',"TABLE cm_settings RENAME spip_cm_settings"),
     24                array('sql_alter',"TABLE cm_subscribers RENAME spip_cm_subscribers")
    4425        );
    4526
    46         $tables_principales['spip_cm_lists'] = array(
    47     'field' => &$spip_cm_lists,
    48     'key' => &$spip_cm_lists_key
    49   );
     27        $maj['0.3.0'] = array(
     28                array('maj_tables',array('spip_cm_lists')));
    5029
    51         // spip_cm_lists_subscribers
    52         $spip_cm_lists_subscribers = array(
    53           "lst_id" => "INT(11) NOT NULL",
    54           "sub_id" => "BIGINT(20) NOT NULL",
    55           "lsr_mode" => "TINYINT(1) NOT NULL",
    56           "lsr_id" => "VARCHAR(32) NOT NULL"
    57         );
     30        $maj['0.4.0'] = array(
     31                array('maj_tables',array('spip_cm_lists')));
    5832
    59         $spip_cm_lists_subscribers_key = array(
    60             "PRIMARY KEY" => "lst_id, sub_id",
    61             "KEY lst_id" => "lst_id"
    62         );
     33        $maj['0.5.0'] = array(
     34                array('sql_updateq',array("spip_cm_lists_subscribers", array('lsr_mode' => 1), "lsr_mode=2")));
    6335
    64   $tables_principales['spip_cm_lists_subscribers'] = array(
    65     'field' => &$spip_cm_lists_subscribers,
    66     'key' => &$spip_cm_lists_subscribers_key
    67   );
     36        $maj['0.6.0'] = array(
     37                array('maj_tables',array('spip_cm_lists')),
     38                array('sql_updateq',array('spip_cm_lists', array('lst_auto_week_days' => 'lst_auto_week_day'))),
     39                array('sql_alter',"TABLE spip_cm_lists DROP lst_auto_week_day"));
     40               
     41        $maj['0.7.0'] = array(
     42                array('maj_tables',array('spip_cm_lists')));
    6843
    69         // spip_cm_pending
    70         $spip_cm_pending = array(
    71           "lst_id" => "int(11) NOT NULL",
    72           "sub_id" => "bigint(20) NOT NULL",
    73           "pnd_action" => "varchar(15) NOT NULL",
    74           "pnd_mode" => "tinyint(1) NOT NULL",
    75           "pnd_action_date" => "int(11) NOT NULL",
    76           "pnd_action_id" => "varchar(32) NOT NULL"
    77         );
     44        $maj['0.8.0'] = array(
     45                array('maj_tables',array('spip_cm_lists')),
     46                array('sql_alter',"TABLE spip_cm_lists DROP lst_subscribe_subject_multiple"),
     47                array('sql_alter',"TABLE spip_cm_lists DROP lst_subscribe_text_multiple"),
     48                array('sql_insertq',array('spip_cm_settings',  array('set_name' => 'CM_MAIL_SUBJECT', 'set_value' => _T('clevermail:confirmation_votre_inscription_multiple')))),
     49                array('sql_insertq',array('spip_cm_settings',  array('set_name' => 'CM_MAIL_TEXT', 'set_value' => _T('clevermail:confirmation_votre_inscription_text_multiple')))),
     50        );
    7851
    79         $spip_cm_pending_key = array(
    80           "PRIMARY KEY" => "lst_id, sub_id"
    81         );
     52        include_spip('base/upgrade');
     53        maj_plugin($nom_meta_base_version, $version_cible, $maj);
     54 }
    8255
    83   $tables_principales['spip_cm_pending'] = array(
    84     'field' => &$spip_cm_pending,
    85     'key' => &$spip_cm_pending_key
    86   );
    8756
    88         // spip_cm_posts
    89         $spip_cm_posts = array(
    90           "pst_id" => "bigint(20) NOT NULL auto_increment",
    91           "lst_id" => "int(11) NOT NULL",
    92           "pst_date_create" => "int(11) NOT NULL",
    93           "pst_date_update" => "int(11) NOT NULL",
    94           "pst_date_sent" => "int(11) NOT NULL",
    95           "pst_subject" => "varchar(255) NOT NULL",
    96           "pst_html" => "longtext NOT NULL",
    97           "pst_text" => "longtext NOT NULL",
    98         );
    9957
    100         $spip_cm_posts_key = array(
    101           "PRIMARY KEY" => "pst_id"
    102         );
    10358
    104   $tables_principales['spip_cm_posts'] = array(
    105     'field' => &$spip_cm_posts,
    106     'key' => &$spip_cm_posts_key
    107   );
    10859
    109         // spip_cm_posts_done
    110         $spip_cm_posts_done = array(
    111           "pst_id" => "bigint(20) NOT NULL",
    112           "sub_id" => "bigint(20) NOT NULL"
    113         );
    114 
    115         $spip_cm_posts_done_key = array(
    116           "PRIMARY KEY" => "pst_id, sub_id"
    117         );
    118 
    119   $tables_principales['spip_cm_posts_done'] = array(
    120     'field' => &$spip_cm_posts_done,
    121     'key' => &$spip_cm_posts_done_key
    122   );
    123 
    124         // spip_cm_posts_links
    125         $spip_cm_posts_links = array(
    126           "lnk_id" => "bigint(20) NOT NULL",
    127           "pst_id" => "bigint(20) NOT NULL",
    128           "lnk_name" => "varchar(255) NOT NULL",
    129           "lnk_url" => "text NOT NULL"
    130         );
    131 
    132         $spip_cm_posts_links_key = array(
    133           "PRIMARY KEY" => "lnk_id"
    134         );
    135 
    136   $tables_principales['spip_cm_posts_links'] = array(
    137     'field' => &$spip_cm_posts_links,
    138     'key' => &$spip_cm_posts_links_key
    139   );
    140 
    141         // spip_cm_posts_queued
    142         $spip_cm_posts_queued = array(
    143           "pst_id" => "bigint(20) NOT NULL",
    144           "sub_id" => "bigint(20) NOT NULL",
    145           "psq_date" => "int(11) NOT NULL"
    146         );
    147 
    148         $spip_cm_posts_queued_key = array(
    149           "PRIMARY KEY" => "pst_id, sub_id"
    150         );
    151 
    152   $tables_principales['spip_cm_posts_queued'] = array(
    153     'field' => &$spip_cm_posts_queued,
    154     'key' => &$spip_cm_posts_queued_key
    155   );
    156 
    157         // spip_cm_settings
    158         $spip_cm_settings = array(
    159           "set_name" => "varchar(15) NOT NULL",
    160           "set_value" => "varchar(255) NOT NULL"
    161         );
    162 
    163         $spip_cm_settings_key = array(
    164           //"PRIMARY KEY" => "set_name"
    165         );
    166 
    167   $tables_principales['spip_cm_settings'] = array(
    168     'field' => &$spip_cm_settings,
    169     'key' => &$spip_cm_settings_key
    170   );
    171 
    172         // spip_cm_subscribers
    173         $spip_cm_subscribers = array(
    174           "sub_id" => "bigint(20) NOT NULL auto_increment",
    175           "sub_email" => "varchar(255) NOT NULL",
    176           "sub_profile" => "varchar(32) NOT NULL"
    177         );
    178 
    179         $spip_cm_subscribers_key = array(
    180           "PRIMARY KEY" => "sub_id",
    181           "KEY sub_profile" => "sub_profile",
    182           "KEY sub_email" => "sub_email"
    183         );
    184 
    185   $tables_principales['spip_cm_subscribers'] = array(
    186     'field' => &$spip_cm_subscribers,
    187     'key' => &$spip_cm_subscribers_key
    188   );
    189 
    190   return $tables_principales;
    191 }
    192 
    193 function clevermail_upgrade($nom_meta_base_version, $version_cible) {
    194         include_spip('inc/meta');
    195   $current_version = 0.0;
    196   if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
    197       || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    198     if (version_compare($current_version,'0.1','<')) {
    199       include_spip('base/abstract_sql');
    200       include_spip('base/create');
    201       creer_base();
     60function peupler_base_0_0_1()
     61{
    20262      // pas besoin d'insert si pas de mail webmaster défini
    20363      if ($GLOBALS['meta']['email_webmaster']){
     
    20767          }
    20868      sql_insertq('spip_cm_settings',  array('set_name' => 'CM_SEND_NUMBER', 'set_value' => 50));
    209       ecrire_meta($nom_meta_base_version,$current_version="0.1",'non');
    210       spip_log('Installation des tables du plugin CleverMail en version 0.1', 'clevermail');
    211     }
    212     if (version_compare($current_version,'0.2','<')) {
    213                   sql_alter("TABLE cm_lists RENAME spip_cm_lists");
    214                   sql_alter("TABLE cm_lists_subscribers RENAME spip_cm_lists_subscribers");
    215                   sql_alter("TABLE cm_pending RENAME spip_cm_pending");
    216                   sql_alter("TABLE cm_posts RENAME spip_cm_posts");
    217                   sql_alter("TABLE cm_posts_done RENAME spip_cm_posts_done");
    218                   sql_alter("TABLE cm_posts_links RENAME spip_cm_posts_links");
    219                   sql_alter("TABLE cm_posts_queued RENAME spip_cm_posts_queued");
    220                   sql_alter("TABLE cm_settings RENAME spip_cm_settings");
    221                   sql_alter("TABLE cm_subscribers RENAME spip_cm_subscribers");
    222       ecrire_meta($nom_meta_base_version,$current_version="0.2",'non');
    223       spip_log('Mise à jour des tables du plugin CleverMail en version 0.2', 'clevermail');
    224     }
    225     if (version_compare($current_version,'0.3','<')) {
    226       include_spip('base/abstract_sql');
    227       include_spip('base/create');
    228         maj_tables('spip_cm_lists');
    229       ecrire_meta($nom_meta_base_version,$current_version="0.3",'non');
    230       spip_log('Mise à jour des tables du plugin CleverMail en version 0.3', 'clevermail');
    231     }
    232     if (version_compare($current_version,'0.4','<')) {
    233       include_spip('base/abstract_sql');
    234       include_spip('base/create');
    235       maj_tables('spip_cm_lists');
    236       ecrire_meta($nom_meta_base_version,$current_version="0.4",'non');
    237       spip_log('Mise à jour des tables du plugin CleverMail en version 0.4', 'clevermail');
    238     }
    239     if (version_compare($current_version,'0.5','<')) {
    240       include_spip('base/abstract_sql');
    241       // On avait inventé un troisième mode pour rien
    242       sql_updateq("spip_cm_lists_subscribers", array('lsr_mode' => 1), "lsr_mode=2");
    243       ecrire_meta($nom_meta_base_version,$current_version="0.5",'non');
    244       spip_log('Mise à jour des tables du plugin CleverMail en version 0.5', 'clevermail');
    245     }
    246     if (version_compare($current_version,'0.6','<')) {
    247       include_spip('base/abstract_sql');
    248       include_spip('base/create');
    249       maj_tables('spip_cm_lists');
    250       sql_update('spip_cm_lists', array('lst_auto_week_days' => 'lst_auto_week_day'));
    251       sql_alter("TABLE spip_cm_lists DROP lst_auto_week_day");
    252       ecrire_meta($nom_meta_base_version,$current_version="0.6",'non');
    253       spip_log('Mise à jour des tables du plugin CleverMail en version 0.6', 'clevermail');
    254     }
    255     if (version_compare($current_version,'0.7','<')) {
    256       include_spip('base/abstract_sql');
    257       include_spip('base/create');
    258       maj_tables('spip_cm_lists');
    259       ecrire_meta($nom_meta_base_version,$current_version="0.7",'non');
    260       spip_log('Mise à jour des tables du plugin CleverMail en version 0.7', 'clevermail');
    261     }
    262     if (version_compare($current_version,'0.8','<')) {
    263       include_spip('base/abstract_sql');
    264       include_spip('base/create');
    265       maj_tables('spip_cm_lists');
    266       sql_alter("TABLE spip_cm_lists DROP lst_subscribe_subject_multiple");
    267       sql_alter("TABLE spip_cm_lists DROP lst_subscribe_text_multiple");
    268       sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_SUBJECT', 'set_value' => _T('clevermail:confirmation_votre_inscription_multiple')));
    269       sql_insertq('spip_cm_settings',  array('set_name' => 'CM_MAIL_TEXT', 'set_value' => _T('clevermail:confirmation_votre_inscription_text_multiple')));
    270       ecrire_meta($nom_meta_base_version,$current_version="0.8",'non');
    271       spip_log('Mise à jour des tables du plugin CleverMail en version 0.8', 'clevermail');
    272     }
    273   }
    27469}
    27570
     71
    27672function clevermail_vider_tables($nom_meta_base_version) {
    277   include_spip('inc/meta');
    278   include_spip('base/abstract_sql');
    27973  sql_drop_table('spip_cm_lists');
    28074  sql_drop_table('spip_cm_lists_subscribers');
  • _plugins_/clevermail/trunk/formulaires/clevermail_list_edit.php

    r49988 r54071  
    1313                        'lst_subscribe_subject' => _T('clevermail:confirmation_votre_inscription'),
    1414                        'lst_subscribe_text' => _T('clevermail:confirmation_votre_inscription_text'),
    15                         'lst_subject' => '',
    1615                        'lst_unsubscribe_subject' => _T('clevermail:confirmation_votre_desinscription'),
    1716                        'lst_unsubscribe_text' => _T('clevermail:confirmation_votre_desinscription_text'),
     
    2120                  'lst_auto_mode' => 'none',
    2221                  'lst_auto_hour' => 8,
    23       'lst_auto_week_days' => array(1),
     22                        'lst_auto_week_days' => array(1),
    2423                  'lst_auto_month_day' => 1,
    2524                  'lst_auto_subscribers' => '',
     
    9089
    9190function formulaires_clevermail_list_edit_traiter_dist($lst_id = -1) {
     91
     92       
    9293  $champs = array(
    9394    'lst_name' => _request('lst_name'),
     
    9798    'lst_subscribe_subject' => _request('lst_subscribe_subject'),
    9899    'lst_subscribe_text' => _request('lst_subscribe_text'),
    99     'lst_subject' => _request('lst_subject'),
    100100    'lst_unsubscribe_subject' => _request('lst_unsubscribe_subject'),
    101101    'lst_unsubscribe_text' => _request('lst_unsubscribe_text'),
  • _plugins_/clevermail/trunk/formulaires/clevermail_post_edit.html

    r32779 r54071  
    2121               #SET{obli,'obligatoire'}
    2222               <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
    23                  <label for="#GET{name}"><:clevermail:contenu_html:></label>
     23                 <label for="#GET{name}"><:clevermail:label_contenu_html:></label>
    2424                 [<span class='erreur_message'>(#GET{erreurs})</span>]
    2525                 <textarea name="#GET{name}" id="#GET{name}" cols="80" rows="10" wrap="virtual" class="textarea">#ENV{#GET{name}}</textarea>
     
    2929         #SET{obli,'obligatoire'}
    3030         <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
    31            <label for="#GET{name}"><:clevermail:contenu_text:></label>
     31           <label for="#GET{name}"><:clevermail:label_contenu_text:></label>
    3232           [<span class='erreur_message'>(#GET{erreurs})</span>]
    3333           <textarea name="#GET{name}" id="#GET{name}" cols="80" rows="10" wrap="virtual" class="textarea">#ENV{#GET{name}}</textarea>
  • _plugins_/clevermail/trunk/lang/clevermail_fr.php

    r53853 r54071  
    11<?php
    22        $GLOBALS[$GLOBALS['idx_lang']] = array(
     3
     4                'clevermail' => 'CleverMail',
     5       
    36          // Formulaires
    47          'ce_champ_est_obligatoire' => 'Ce champ est obligatoire.',
     
    1619          'inscription_deja_abonne_autre_mode' => 'Vous &eacute;tiez d&eacute;j&agrave; inscrit &agrave; la lettre « @lst_name@ » dans un autre mode, changement op&eacute;r&eacute;.',
    1720          'bouton_inscription' => 'S\'inscrire',
     21          'label_contenu_html'=>'Contenu HTML',
     22          'label_contenu_text'=>'Contenu texte',
    1823
    1924                // Front
    2025                'label_inscription_email' => 'Votre adresse e-mail :',
    2126                'label_inscription_version' => 'Type de message :',
     27        'choix_toutes_les_listes' => 'Toutes les listes',
    2228        'choix_version_html' => 'HTML',
    2329        'choix_version_texte' => 'texte brut',
     
    179185          'auto_subscribers_url' => 'URL du fichier d\'adresses',
    180186          'auto_subscribers_mode' => 'Mode d\'abonnement',
     187          'email_return_path' => 'E-mail des retours d\'erreurs (return-path)',
    181188          'email_moderateur' => 'E-mail du mod&eacute;rateur',
    182189          'prefixer_messages' => 'Pr&eacute;fixe',
     
    241248                'confirme_suppression_multiple_base' => 'Vous &ecirc;tes sur le point de supprimer des abonn&eacute;s de la base. &Eacute;tes vous sur ?',
    242249                'confirme_desabonnement_multiple_lettre' => 'Vous &ecirc;tes sur le point de d&eacute;sabonner plusieurs abonn&eacute;s de cette lettre. &Eacute;tes vous sur ?',
     250                'source_des_abonnes'=>'Lister les abonnées',
     251                'selection_des_listes'=>'S&eacute;lection des listes',
    243252
    244253          // Mails
  • _plugins_/clevermail/trunk/noisettes/clevermail_list_info.html

    r50036 r54071  
    3939      </li>
    4040    </ul>
     41    #ENV{err_msg}
    4142    [(#ENV{err_msg}|!={''}|oui)
    4243      [(#ENV{err_lst}|=={#LST_ID}|oui)
  • _plugins_/clevermail/trunk/paquet.xml

    r54070 r54071  
    1 <plugin>
     1<paquet
     2        prefix="clevermail"
     3        categorie="communication"
     4        version="3.0.0"
     5        etat="stable"
     6        compatibilite="[3.0.0-alpha2;["
     7        logo="prive/themes/spip/images/fatcow/32/email_open.png"
     8        schema="0.8"
     9        documentation="http://www.spip-contrib.net/CleverMail"
     10       
     11>       
     12
    213        <nom>CleverMail</nom>
    3         <auteur>Thomas Beaumanoir, Nicolas Hoizey, Stéphanie Caron, [Clever Age->http://www.clever-age.com/]</auteur>
    4         <version>2.6.0</version>
    5         <version_base>0.8</version_base>
    6         <etat>stable</etat>
    7         <slogan>Gestion de lettres d'information</slogan>
    8         <description>
    9 Ce plugin propose les fonctionnalit&#233;s suivantes :
    10 -* Gestion de {{multiples lettres}}
    11 -* Gestion des inscriptions/d&#233;sinscriptions, {{les abonn&#233;s &#233;tant distincts des utilisateurs de SPIP}}
    12 -* Possibilit&#233; de restreindre la liste des lettres propos&#233;es dans le formulaire d'abonnement
    13 -* Abonnement au choix de l'utilisateur en version {{texte brut ou multipart simultan&#233; HTML + texte brut}} (attention, Lotus Notes n'aime pas)
    14 -* Possibilit&#233; de forcer la version dans le formulaire d'abonnement
    15 -* R&#233;cup&#233;ration des contenus HTML et texte brut &#224; partir de deux URL, donc {{utilisation de squelettes SPIP}} d&#233;di&#233;s possible
    16 -* {{Automatisation des envois}} avec une fr&#233;quence quotidienne, hebdomadaire (multiples jours de la semaine possibles) ou mensuelle
    17 -* {{Automatisation des inscriptions}} depuis un fichier distant
    1814
    19 -* Possibilit&#233; de regrouper les lettres par cat&#233;gories en pr&#233;fixant le nom de la lettre avec le nom de la cat&#233;gorie suivi d'un "/", et utilisation du formulaire <code>#FORMULAIRE_CLEVERMAIL_MULTIPLE</code>
     15        <auteur>Thomas Beaumanoir</auteur>
     16        <auteur>Nicolas Hoizey</auteur>
     17        <auteur>Stéphanie Caron</auteur>
     18        <auteur lien="http://www.clever-age.com/">Clever Age</auteur>
     19        <credit lien="http://www.fatcow.com/free-icons">Ic&#244;nes issues de la collection FatCow.</credit>
    2020
    21 Ic&#244;nes issues de la collection [FatCow->http://www.fatcow.com/free-icons].
    22         </description>
    23         <lien>http://www.spip-contrib.net/CleverMail</lien>
    24         <icon>prive/themes/spip/images/fatcow/32/email_open.png</icon>
    25         <install>base/clevermail.php</install>
    26         <options>clevermail_options.php</options>
    27   <fonctions>clevermail_fonctions.php</fonctions>
    28         <prefix>clevermail</prefix>
    29   <pipeline>
    30     <nom>declarer_tables_principales</nom>
    31     <inclure>base/clevermail.php</inclure>
    32   </pipeline>
    33         <pipeline>
    34                 <nom>declarer_tables_interfaces</nom>
    35                 <inclure>base/clevermail.php</inclure>
    36         </pipeline>
    37   <pipeline>
    38     <nom>autoriser</nom>
    39     <inclure>clevermail_autoriser.php</inclure>
    40   </pipeline>
    41         <pipeline>
    42                 <nom>header_prive</nom>
    43     <inclure>clevermail_pipelines.php</inclure>
    44         </pipeline>
    45         <pipeline>
    46                 <nom>taches_generales_cron</nom>
    47                 <inclure>clevermail_pipelines.php</inclure>
    48         </pipeline>
    49         <chemin dir='' />
    50         <necessite id="SPIP" version="[2.0.8;2.1.99]" />
    51         <necessite id="facteur" version="[1.0;]" />
    52   <necessite id="spip_bonux" version="[1.3;]" />
    53   <bouton id='clevermail' parent='bando_publication' position='-1'>
    54     <icone>images/fatcow/16/email_open.png</icone>
    55     <titre>CleverMail</titre>
    56     <url>clevermail_lists</url>
    57   </bouton>
    58   <bouton id='clevermail2' parent='naviguer'>
    59     <titre>CleverMail</titre>
    60     <icone>prive/themes/spip/images/fatcow/32/email_open.png</icone>
    61     <url>clevermail_lists</url>
    62   </bouton>
    63         <categorie>communication</categorie>
    64 </plugin>
     21
     22        <pipeline nom="declarer_tables_objets_sql" inclure="base/clevermail.php" />
     23        <pipeline nom="declarer_tables_interfaces" inclure="base/clevermail.php" />
     24        <pipeline nom="autoriser" inclure="clevermail_autoriser.php" />
     25        <pipeline nom="header_prive" inclure="clevermail_pipelines.php" />
     26        <pipeline nom="taches_generales_cron" inclure="clevermail_pipelines.php" />
     27 
     28
     29        <necessite nom="facteur" compatibilite="[1.0;[" />
     30
     31
     32        <menu nom="clevermail" titre="clevermail:clevermail" parent="bando_publication" icone="images/fatcow/16/email_open.png" position="1" action="clevermail_lists" />
     33        <menu nom="clevermail2" titre="clevermail:clevermail" parent="naviguer" icone="images/fatcow/32/email_open.png" action="clevermail_lists" />
     34        <menu nom="clevermail_creer" titre="clevermail:icone_creer_post" parent="outils_rapides" icone="images/fatcow/16/email_add.png" action="clevermail_post_edit" parametres="new=oui" />
     35
     36</paquet>
Note: See TracChangeset for help on using the changeset viewer.