Changeset 88620 in spip-zone


Ignore:
Timestamp:
Apr 15, 2015, 12:51:51 PM (5 years ago)
Author:
cedric@…
Message:

Evolutions : on sort la partie subscribe/unsubscribe du pipeline pour pouvoir l'appeler autrement, et on ne necessite plus mesabonnes (mais on l'utilise si present, comme avant)

Location:
_plugins_/mailchimp
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mailchimp/formulaires/configurer_mailchimp.html

    r45289 r88620  
    66                        <ul>
    77                                <li class="mailchimp_apikey[ (#ENV**{erreurs}|table_valeur{apikey}|oui)erreur]">
    8                                         <label ><:mailchimp:configurer_apikey:></label>
     8                                        <label for="apiKey"><:mailchimp:configurer_apikey:></label>
    99                                        [
    1010                                        <span class='erreur'>(#ENV**{erreurs}|table_valeur{apiKey})</span>
     
    1414
    1515                                <li class="mailchimp_listId[ (#ENV**{erreurs}|table_valeur{listId}|oui)erreur]">
    16                                         <label for="font-family"><:mailchimp:configurer_listid:></label>[
     16                                        <label for="listId"><:mailchimp:configurer_listid:></label>[
    1717                                        <span class='erreur'>(#ENV**{erreurs}|table_valeur{listId})</span>
    1818                                        ]<input type="text" class="text" name="listId" id="listId" [ value="(#ENV{listId})"] />
  • _plugins_/mailchimp/lang/mailchimp_fr.php

    r84608 r88620  
    66        //A
    77        'api_errorcode' => 'Infos de retour de MailChimp. Codes retournés:',
     8        'api_error' => 'Une erreur est survenue, votre inscription n\'a pas été prise en compte',
    89
    910        //C
  • _plugins_/mailchimp/mailchimp_pipelines.php

    r45306 r88620  
    1717        // car c'est un pipeline donc tout formulaire passe dedans ( prive ou public)
    1818        $formulaire = $flux['args']['form'];
    19         spip_log(__LINE__);
     19        #spip_log(__LINE__);
    2020
    2121        //dans notre cas c'est le formulaire mesabonnes (du plugin mes_abonnes) qui nous interesse
     
    2323                // necessaire pour utiliser les autorisations
    2424                include_spip('inc/autoriser');
    25                 spip_log(__LINE__);
    26 
    27                 # API mailchimp
    28                 include_spip('inc/1.3/MCAPI.class');
    29 
    30                 // necessaire pour utiliser lire_config
    31                 include_spip('inc/config');
    32 
    33                 #recuperation de la config
    34                 $apiKey = lire_config("mailchimp/apiKey");
    35                 $listId = lire_config("mailchimp/listId");
     25                include_spip('inc/mailchimp');
    3626
    3727                //on verifie que les parametres du plugin mailchimp sont initialisées
    38                 if ($apiKey and $listId){
     28
     29                // 2 cas possibles : inscription ou desinscription
     30                $id_abonne = $flux['data']['id_abonne'];
     31
     32                $statut = sql_getfetsel('statut', 'spip_mesabonnes', 'id_abonne='.intval($id_abonne));
     33                $email = sql_getfetsel('email', 'spip_mesabonnes', 'id_abonne='.intval($id_abonne));
     34
     35                if ($statut=='publie'){
     36                        $flux['data'] = mailchimp_subscribe($email,$flux['data']);
     37                } // $statut=='subscribe'
     38
     39                else if ($statut=='poubelle'){
     40                        $flux['data'] = mailchimp_unsubscribe($email,$flux['data']);
     41                }
     42                else
     43                {
    3944                        spip_log(__LINE__);
    40                         spip_log($apiKey);
    41                         spip_log($listId);
     45                        // ne doit pas arriver normallement
     46                }
    4247
    43                         // initialisation d'un objet mailchimp
    44                         $api = new MCAPI($apiKey);
     48        }
    4549
    46 
    47                         // 2 cas possibles : inscription ou desinscription
    48                         $id_abonne = $flux['data']['id_abonne'];
    49                         $message_ok = $flux['data']['message_ok'];
    50 
    51                         $statut = sql_getfetsel('statut', 'spip_mesabonnes', 'id_abonne='.intval($id_abonne));
    52                         $email = sql_getfetsel('email', 'spip_mesabonnes', 'id_abonne='.intval($id_abonne));
    53 
    54                         if ($statut=='publie'){
    55                                 spip_log(__LINE__);
    56                                 // By default this sends a confirmation email - you will not see new members
    57                                 // until the link contained in it is clicked!
    58                                 $retval = $api->listSubscribe($listId, $email);
    59 
    60                                 if ($api->errorCode){
    61                                         spip_log(__LINE__);
    62                                         $messageErreur = _T('mailchimp:api_errorcode')."<br/><b>".$api->errorCode."</b><br/>".$api->errorMessage;
    63                                         if (autoriser("configurer", "mailchimp")){
    64                                                 spip_log(__LINE__);
    65                                                 $flux['data'] = array('message_erreur' => "Plugin mes_abonnes : $message_ok <br/><br/> Plugin Mailchimp: $messageErreur");
    66                                                 spip_log("Admin $messageErreur");
    67                                                 return $flux;
    68                                         } // fin message pour admin
    69                                         else {
    70                                                 spip_log(__LINE__);
    71                                                 // que le spiplog si on est juste un user
    72                                                 spip_log("$messageErreur");
    73                                                 return $flux;
    74                                         } // autoriser
    75                                 } else {
    76                                         spip_log(__LINE__);
    77                                         $message_ok .="<br/><br/>"._T('mailchimp:demande_inscription_envoyee1', array('email' => "$email"));
    78                                         $message_ok .="<br/><br/>"._T('mailchimp:demande_inscription_envoyee2');
    79                                         $message_ok .="<br/><br/><i>"._T('mailchimp:demande_inscription_envoyee3')."</i>";
    80                                         $flux['data']['message_ok']=$message_ok ;
    81                                         return $flux;
    82                                 }
    83 
    84                         } // $statut=='subscribe'
    85 
    86                         else if ($statut=='poubelle'){
    87                                 spip_log(__LINE__);
    88                                 $retval = $api->listUnSubscribe($listId, $email);
    89 
    90                                 if ($api->errorCode){
    91                                         spip_log(__LINE__);
    92                                         $messageErreur = _T('mailchimp:api_errorcode')."<br/><b>".$api->errorCode."</b><br/>".$api->errorMessage;
    93                                         if (autoriser("configurer", "mailchimp")){
    94                                                 spip_log(__LINE__);
    95                                                 $flux['data'] = array('message_erreur' => "Plugin mes_abonnes : $message_ok <br/> Plugin Mailchimp: $messageErreur");
    96                                                 spip_log("Admin $messageErreur");
    97                                                 return $flux;
    98                                         } // fin message pour admin
    99                                         else {
    100                                                 spip_log(__LINE__);
    101                                                 // que le spiplog si on est juste un user
    102                                                 spip_log(" $messageErreur");
    103                                                 return $flux;
    104                                         } // autoriser
    105                                 } else {
    106                                         spip_log(__LINE__);
    107                                         $message_ok .="<br>"._T('mailchimp:demande_desincription_ok', array('email' => "$email"));
    108                                         $flux['data']['message_ok']=$message_ok ;
    109                                         return $flux;
    110                                 }
    111 
    112                         }
    113                         else
    114                         {
    115                                 spip_log(__LINE__);
    116                                 // ne doit pas arriver normallement
    117 
    118                         }
    119 
    120                 } //($apiKey and $listId)
    121                 else {
    122                         // n'effrayons pas l utilisateur classique
    123                         spip_log(__LINE__);
    124                         if (autoriser("configurer", "mailchimp")){
    125                                 spip_log(__LINE__);
    126                                 //erreur il faut configurer le plugin mailchimp
    127                                 $flux['data'] = array('message_erreur' => _T('mailchimp:config_erreur'));
    128                                 spip_log("Admin"._T('mailchimp:config_erreur'));
    129                                 return $flux;
    130                         }
    131                         else {
    132                                 spip_log(__LINE__);
    133                                 // que le spiplog si on est juste un user
    134                                 spip_log(_T('mailchimp:config_erreur'));
    135                                 return $flux;
    136                         } // autoriser
    137 
    138                         spip_log(__LINE__);
    139                 } // if ( $apiKey and $listId ) {
    140 
    141                 spip_log(__LINE__);
    142         }
    143         spip_log(__LINE__);
    14450        return $flux ;
    145        
    14651}
    147 
    148 
    149 ?>
  • _plugins_/mailchimp/plugin.xml

    r84608 r88620  
    33        <auteur>[Ben->http://www.nursit.net]</auteur>
    44        <licence>GNU/GLP</licence>
    5         <version>0.3</version>
     5        <version>0.4.0</version>
    66        <etat>test</etat>
    77        <slogan>G&eacute;rer une mailing liste &agrave; l&#39;aide de mailchimp</slogan>
     
    1010        <prefix>mailchimp</prefix>
    1111        <icon>images/light_freddie.png</icon>
    12         <necessite id="mesabonnes" version="[0.2;]" />
     12        <utilise id="mesabonnes" version="[0.2;]" />
    1313        <pipeline>
    1414                <nom>formulaire_traiter</nom>           
Note: See TracChangeset for help on using the changeset viewer.