Changeset 59820 in spip-zone


Ignore:
Timestamp:
Mar 27, 2012, 3:48:29 PM (8 years ago)
Author:
abelass@…
Message:

possibilité de declarer des tables et champs

Location:
_plugins_/squirrels_love_chimps_lists_plus
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/formulaires/auteur_listes.php

    r59313 r59820  
    2121         $listes_accordes=lire_config('squirrel_chimp/mailinglists');
    2222         
     23
     24
    2325         $auteur=sql_fetsel('email,format','spip_auteurs','id_auteur='.$id_auteur);
    2426         $email= $auteur['email'];     
     
    2729         $listes=sql_select('*','spip_auteurs_listes','id_auteur='.$id_auteur);
    2830
     31        $editable=donnees_sync('','',$id_auteur)?true:false;           
    2932         
    3033         $info_liste_spip=array();
     
    4346         $status=array();
    4447       
    45 
     48        if($editable){
    4649         foreach($listes_accordes AS $id_liste_spip=>$id_liste_mc){
    4750
     
    6669
    6770                                if(!$timestamp){
    68                                         $member_info=membres_liste_info_mc($api,$id_liste_mc,$email);
     71                                        if($email)$member_info=membres_liste_info_mc($api,$id_liste_mc,$email);
    6972                                        $timestamp=$member_info['data'][0]['timestamp'];
    7073                                        }
     
    124127                 }       
    125128         
    126          
     129 }
    127130         
    128131         $liste=sql_select('id_liste','spip_auteurs_listes','statut="valide" AND id_auteur='.$id_auteur);
     
    143146                'listes_abos'=> $listes_abos,
    144147                'format'=>$format,     
    145                 'listes_abos_prev'=>'',                         
     148                'listes_abos_prev'=>'',
     149                'editable'=>$editable,         
    146150                );
    147151        $valeurs['_hidden']     .='<input type="hidden" name="listes_abos_prev" value="'.implode(',',$listes_abos_prev).'"/>';
     
    184188        $api = new MCAPI($apikey);
    185189        $listes_accordes=lire_config('squirrel_chimp/mailinglists');
     190
    186191        $date=date('Y-m-d G:i:s');
    187192        //les fonctions
     
    237242                                                               
    238243                                // compilation des informations à envoyer à MailChimp
    239                                 $auteur=donnees_sync($id_liste,'spip_auteurs','id_auteur='.$id_auteur);
    240 
    241                                 $auteur=$auteur[1];
    242 
    243                                 $email=$auteur['EMAIL'];
     244                                $auteur=donnees_sync($id_liste,'',$id_auteur);
     245                               
     246
     247
     248                                //$auteur=$auteur[1];
     249
     250                                $email=$auteur[1]['EMAIL'];
    244251                                $liste=$listes_accordes[$id_liste];
    245252
    246253                                $statut=$auteur['statut'];
     254                                if($email){
    247255                                if($liste)$vals=inscription_liste_mc($valeurs,$api,$liste,$email,$auteur,$format,$optin,true);
     256                               
    248257                               
    249258                                if($vals['data']['message_erreur']){
     
    251260                                        }
    252261                                else{
    253                                         $infos=membres_liste_info_mc($api,$liste,$email);
     262                                        if($email)$infos=membres_liste_info_mc($api,$liste,$email);
    254263                                        $infos=$infos['data'][0];
    255264       
     
    268277                                spip_log($vals, 'sclp');       
    269278                                }
     279                                else $message_ok.='<li>'._T('sclp:actualisation_spip_ok_probleme_actualisation_mailchimp').'</li>';     
    270280                        }       
     281                }
    271282
    272283                }
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/formulaires/inc-squirrel_chimps_lists_config-sclp.html

    r59329 r59820  
    2424                        #SET{nom_liste,#ARRAY}                                         
    2525                        <BOUCLE_listes_spip(LISTES){statut IN public,prive}>
    26                         <div class="choix">     #SET{nom_liste,#GET{nom_liste}|array_merge{#ARRAY{id_#ID_LISTE,#TITRE}}}
     26                        <div class="choix">
     27                                        #SET{nom_liste,#GET{nom_liste}|array_merge{#ARRAY{id_#ID_LISTE,#TITRE}}}
    2728                                <span class="titre">#TITRE      </span>
    2829                                <B_listes>
     
    3233                                <option value="[(#VALEUR|table_valeur{id})]" [(#ENV{mailinglists}|table_valeur{#ID_LISTE}|=={[(#VALEUR|table_valeur{id})]}|oui) selected="selected"]>[(#VALEUR|table_valeur{name})]
    3334                                </option>
    34                                 </div>
    3535                        </BOUCLE_listes>
    3636                        </select>
     
    3939               
    4040                                [(#SET{id_liste_mc,#CONFIG{squirrel_chimp/mailinglists}|table_valeur{#ID_LISTE}})]
    41                                
     41
    4242                                [(#SET{liste,
    4343                                        #ARRAY{
     
    4747                                        })]                             
    4848                               
    49                                 [(#SET{champs,#INCLURE{fond=inclure/appels_mc}{appel=champs_listes}{apikey=#GET{apikey}} {liste=#GET{liste}}{base=spip_auteurs}{multi=true}})]
    50                        
    51                                 <INCLURE{fond=formulaires/inc-squirrel_chimps_lists_config-sclp_accordance_champs}{champs=#GET{champs}}{id_liste}{nom_liste=#TITRE}{id_liste_mc=#GET{id_liste_mc}}{env} />
     49                                [(#SET{champs,#INCLURE{fond=inclure/appels_mc}{appel=champs_listes}{apikey=#GET{apikey}} {liste=#GET{liste}}{multi=true}|unserialize})]
     50
     51                                <INCLURE{fond=formulaires/inc-squirrel_chimps_lists_config-sclp_accordance_champs}{champs=#GET{champs}}{id_liste}{nom_liste=#TITRE}{id_liste_mc=#GET{id_liste_mc}}{env}{apikey=#GET{apikey}} />
    5252                               
    5353                       
     
    8585        </ul>
    8686</fieldset>
    87 
     87        <INCLURE{fond=formulaires/inc-squirrel_chimp_lists_config_champs_extras}{env}{c=#GET{champs}}/>
    8888<script>
    8989$(document).ready(function(){
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/formulaires/inc-squirrel_chimps_lists_config-sclp_accordance_champs.html

    r59329 r59820  
    11#CACHE{0}
    2 
    3 #SET{champs_mailchimp,#ENV**{champs}|table_valeur{mailchimp}}
     2#SET{champs_mailchimp,(#ENV{apikey}|champs_liste{#ENV{id_liste_mc}})}
     3#SET{tables,#VAL{tables}|tables_dispos}         
    44
    55<BOUCLE_test(CONDITION){si #ID_LISTE|oui}>
    6 <div class="accordance" id=#ENV{id_liste_mc}"> 
     6<div class="accordance" id="#ENV{id_liste_mc}">
    77
    88[<h3>(#TITRE)</h3>]
    9 <BOUCLE_listes2(POUR){tableau #ENV**{champs}|table_valeur{spip}}>
    10                 <b>[(#VALEUR)] (<:scl:champ_spip:>)</b>#SET{name,#VALEUR}
    11         <B_champs_mc>
    12                 <select name="mapping[#ID_LISTE][#VALEUR]">
    13                 <option value=""><:scl:pas_accorder:></option> 
    14                 <BOUCLE_champs_mc(POUR){tableau #GET{champs_mailchimp}|table_valeur{#ENV{id_liste_mc}}}>
    15                 <option value="[(#VALEUR|table_valeur{tag})]"[(#ENV{mapping}|table_valeur{#ID_LISTE}|table_valeur{#GET{name}}|=={[(#VALEUR|table_valeur{tag})]}|oui) selected="selected"]>[(#VALEUR|table_valeur{name})]</option>
    16                 </BOUCLE_champs_mc>
    17                 </select>
    18         </B_champs_mc>
    19 
    20         </BOUCLE_champs>
    21        
    22 </BOUCLE_listes2>
    23                                 </div>
     9        <BOUCLE_tables(POUR){tableau #GET{tables}}>#SET{table,#VALEUR}
     10                <BOUCLE_listes2(POUR){tableau #ENV{champs}|table_valeur{spip}|table_valeur{#GET{table}}}>
     11                                <b>[(#VALEUR)] (<:scl:champ_spip:>)</b>#SET{name,#VALEUR}
     12                        <B_champs_mc>
     13                                <select name="mapping[#ID_LISTE][#VALEUR]">
     14                                <option value=""><:scl:pas_accorder:></option> 
     15                                <BOUCLE_champs_mc(POUR){tableau #GET{champs_mailchimp}}>
     16                                <option value="[(#VALEUR|table_valeur{tag})]"[(#ENV{mapping}|table_valeur{#ID_LISTE}|table_valeur{#GET{name}}|=={[(#VALEUR|table_valeur{tag})]}|oui) selected="selected"]>[(#VALEUR|table_valeur{name})]</option>
     17                                </BOUCLE_champs_mc>
     18                                </select>
     19                        </B_champs_mc>
     20               
     21                        </BOUCLE_champs>
     22                       
     23                </BOUCLE_listes2>
     24        </BOUCLE_tables>
     25</div>
    2426</BOUCLE_test>
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/inc/syncroniser_listes.php

    r59252 r59820  
    2828        $since=sql_getfetsel('date_syncro','spip_listes_syncro','objet="listes" AND type_syncro="liste" AND id_objet='.$id_liste_spip,'','date_syncro DESC');
    2929
    30 
     30       
    3131        // les données spip
    32         $champs=champs_spip();
    33         $champs_spip_auteurs=array();
    34         foreach($champs AS $champ){
    35                 $champs_spip_auteurs[]='spip_auteurs.'.$champ;
    36                 }
    37                
    38         $c=implode(',',$champs_spip_auteurs).',spip_auteurs_listes.maj,spip_auteurs_listes.date_syncro,spip_auteurs_listes.statut,spip_auteurs.email,spip_auteurs.id_auteur,spip_auteurs.id_mailchimp';
     32
     33        $tables=tables_dispos();
     34        $champs_extras=lire_config('squirrel_chimp/champs');
     35
     36
     37        //Préparation de la requette
     38        $identifiant_defaut='id_auteur';
     39       
     40        $from=implode(',',$tables);     
     41
     42        $where_principal=$identifiant_principal.'='.$identifiant;
     43        $where_secondaire=array();     
     44        $champs=array();
     45        $i=0;
     46        foreach($tables AS $table){
     47                $i++;
     48                if($i==1)$table_principale=$table;
     49                else $where_secondaire[$i]=$table_principale.'.'.$identifiant_defaut.'='.$table.'.'.$identifiant_defaut;
     50                if($champs_extras[$table]){
     51                        foreach($champs_extras[$table] as $champ){
     52                                $champs[$champ]=$table.'.'.$champ;
     53                                }
     54                        }
     55                }
     56                       
     57        if(!$champs)$champs='*';               
     58        else $champs['email']='spip_auteurs.email';     
     59       
     60        $identifiant_joints=implode(' AND ',$where_secondaire);
     61        if($identifiant_joints)$where=' AND '.$identifiant_joints;
     62               
     63
     64        $champs=implode(',',$champs).',spip_auteurs_listes.maj,spip_auteurs_listes.date_syncro,spip_auteurs_listes.statut,spip_auteurs.id_auteur,spip_auteurs.id_mailchimp';   
    3965       
    4066        // syncroniser tout, n'importe la date de la dernière mise à jour
     
    4268               
    4369       
    44         $liste_spip=sql_select($c,'spip_auteurs_listes,spip_auteurs','spip_auteurs_listes.id_liste='.$id_liste_spip.' AND spip_auteurs_listes.id_auteur=spip_auteurs.id_auteur AND spip_auteurs_listes.date_syncro >'.sql_quote($since));
     70        $liste_spip=sql_select($champs,'spip_auteurs_listes,'.$from,'spip_auteurs_listes.id_liste='.$id_liste_spip.' AND spip_auteurs_listes.id_auteur=spip_auteurs.id_auteur AND spip_auteurs_listes.date_syncro >'.sql_quote($since).$where);
    4571       
    4672        // Composer le tableau distinguant entre abonnées et désabonnées
     
    5581                $listes_mc=array();
    5682                foreach($statuts AS $status){
    57                         $listes_mc[$status]=membres_liste_mc($api,$id_liste_mailchimp,$status,$since,$limit);
     83                        $listes_mc[$status]=membres_liste_mc($api,$id_liste_mailchimp,$status,'',$limit);
    5884                        }       
    5985                }
     
    6187                $liste_mc=membres_liste_mc($api,$id_liste_mailchimp,$status,$since,$limit);
    6288                }
    63        
     89                spip_log($listes_mc, 'sclp');   
     90                spip_log($listes_spip, 'sclp');
    6491        //Etablir les candiats à la syncro.
    6592
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/lang/sclp_fr.php

    r59341 r59820  
    1010        'abonnement_inscrit' => 'Inscrits aux listes d\'envois',
    1111        'activer_liste' => 'Activer cette liste',
     12        'actualisation_spip_ok_probleme_actualisation_mailchimp' => 'Actualisation spip ok, mais il y a un problème avec l\'actualisation vers Mailchimp. si vous utilisez plusieurs tables pour la syncro, cet auteur ne figure probablement pas dans toutes les tables',
    1213        'aucun_abonnement' => 'Pas d\'abonnments',
    1314       
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/plugin.xml

    r59329 r59820  
    44        <licence>GNU/GLP</licence>
    55        <version>0.2.1</version>
    6         <version_base>0.1.13</version_base>     
     6        <version_base>0.2.0</version_base>     
    77        <licence>MIT</licence>
    88        <etat>test</etat>
  • _plugins_/squirrels_love_chimps_lists_plus/branches/0.1/sclp_fonctions.php

    r59313 r59820  
    5656                        }
    5757                }
    58                
     58
    5959        return $batch;
    6060}
     
    177177        $retval = $api->listMembers($id_liste_mailchimp,$status,$since,$start,$limit);
    178178       
    179        
     179        spip_log($retval, 'sclp');     
    180180        return $retval;
    181181       
     
    290290                $id_auteur = $flux['data']['id_auteur'];
    291291                $email = $flux['args']['args'][4]['email'];
    292                 $sql=sql_select('id_liste','spip_auteurs_listes','id_auteur='.$id_auteur. 'AND statut="valide"');
     292               
     293                $sql=sql_select('id_liste','spip_auteurs_listes','id_auteur='.$id_auteur.' AND statut="valide"');
    293294               
    294295                $lists_sync=array();
     
    319320                                spip_log('actualiser','sclp');
    320321                               
    321                                 // By default this sends a confirmation email - you will not see new members
    322                                 // until the link contained in it is clicked!
    323                                 // listSubscribe(string apikey, string id, string email_address, array merge_vars, string email_type, bool double_optin, bool update_existing, bool replace_interests, bool send_welcome)
     322
    324323
    325324                                // Inscription pour chaque liste
    326325                                foreach($lists_sync AS $listId=>$id_liste_spip){
    327326                                        // compilation des informations à envoyer à MailChimp
    328                                         $donnees_auteur=donnees_sync($id_liste_spip,'spip_auteurs','id_auteur='.$id_auteur);
     327                                        $donnees_auteur=donnees_sync($id_liste_spip,'',$id_auteur);
    329328                                        $retour=inscription_liste_mc($flux,$api,$listId,$email,$donnees_auteur[1],$email_type,$optin,true);     
    330329                                        }
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/formulaires/auteur_listes.php

    r59313 r59820  
    2121         $listes_accordes=lire_config('squirrel_chimp/mailinglists');
    2222         
     23
     24
    2325         $auteur=sql_fetsel('email,format','spip_auteurs','id_auteur='.$id_auteur);
    2426         $email= $auteur['email'];     
     
    2729         $listes=sql_select('*','spip_auteurs_listes','id_auteur='.$id_auteur);
    2830
     31        $editable=donnees_sync('','',$id_auteur)?true:false;           
    2932         
    3033         $info_liste_spip=array();
     
    4346         $status=array();
    4447       
    45 
     48        if($editable){
    4649         foreach($listes_accordes AS $id_liste_spip=>$id_liste_mc){
    4750
     
    6669
    6770                                if(!$timestamp){
    68                                         $member_info=membres_liste_info_mc($api,$id_liste_mc,$email);
     71                                        if($email)$member_info=membres_liste_info_mc($api,$id_liste_mc,$email);
    6972                                        $timestamp=$member_info['data'][0]['timestamp'];
    7073                                        }
     
    124127                 }       
    125128         
    126          
     129 }
    127130         
    128131         $liste=sql_select('id_liste','spip_auteurs_listes','statut="valide" AND id_auteur='.$id_auteur);
     
    143146                'listes_abos'=> $listes_abos,
    144147                'format'=>$format,     
    145                 'listes_abos_prev'=>'',                         
     148                'listes_abos_prev'=>'',
     149                'editable'=>$editable,         
    146150                );
    147151        $valeurs['_hidden']     .='<input type="hidden" name="listes_abos_prev" value="'.implode(',',$listes_abos_prev).'"/>';
     
    184188        $api = new MCAPI($apikey);
    185189        $listes_accordes=lire_config('squirrel_chimp/mailinglists');
     190
    186191        $date=date('Y-m-d G:i:s');
    187192        //les fonctions
     
    237242                                                               
    238243                                // compilation des informations à envoyer à MailChimp
    239                                 $auteur=donnees_sync($id_liste,'spip_auteurs','id_auteur='.$id_auteur);
    240 
    241                                 $auteur=$auteur[1];
    242 
    243                                 $email=$auteur['EMAIL'];
     244                                $auteur=donnees_sync($id_liste,'',$id_auteur);
     245                               
     246
     247
     248                                //$auteur=$auteur[1];
     249
     250                                $email=$auteur[1]['EMAIL'];
    244251                                $liste=$listes_accordes[$id_liste];
    245252
    246253                                $statut=$auteur['statut'];
     254                                if($email){
    247255                                if($liste)$vals=inscription_liste_mc($valeurs,$api,$liste,$email,$auteur,$format,$optin,true);
     256                               
    248257                               
    249258                                if($vals['data']['message_erreur']){
     
    251260                                        }
    252261                                else{
    253                                         $infos=membres_liste_info_mc($api,$liste,$email);
     262                                        if($email)$infos=membres_liste_info_mc($api,$liste,$email);
    254263                                        $infos=$infos['data'][0];
    255264       
     
    268277                                spip_log($vals, 'sclp');       
    269278                                }
     279                                else $message_ok.='<li>'._T('sclp:actualisation_spip_ok_probleme_actualisation_mailchimp').'</li>';     
    270280                        }       
     281                }
    271282
    272283                }
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/formulaires/inc-squirrel_chimps_lists_config-sclp.html

    r59329 r59820  
    2424                        #SET{nom_liste,#ARRAY}                                         
    2525                        <BOUCLE_listes_spip(LISTES){statut IN public,prive}>
    26                         <div class="choix">     #SET{nom_liste,#GET{nom_liste}|array_merge{#ARRAY{id_#ID_LISTE,#TITRE}}}
     26                        <div class="choix">
     27                                        #SET{nom_liste,#GET{nom_liste}|array_merge{#ARRAY{id_#ID_LISTE,#TITRE}}}
    2728                                <span class="titre">#TITRE      </span>
    2829                                <B_listes>
     
    3233                                <option value="[(#VALEUR|table_valeur{id})]" [(#ENV{mailinglists}|table_valeur{#ID_LISTE}|=={[(#VALEUR|table_valeur{id})]}|oui) selected="selected"]>[(#VALEUR|table_valeur{name})]
    3334                                </option>
    34                                 </div>
    3535                        </BOUCLE_listes>
    3636                        </select>
     
    3939               
    4040                                [(#SET{id_liste_mc,#CONFIG{squirrel_chimp/mailinglists}|table_valeur{#ID_LISTE}})]
    41                                
     41
    4242                                [(#SET{liste,
    4343                                        #ARRAY{
     
    4747                                        })]                             
    4848                               
    49                                 [(#SET{champs,#INCLURE{fond=inclure/appels_mc}{appel=champs_listes}{apikey=#GET{apikey}} {liste=#GET{liste}}{base=spip_auteurs}{multi=true}})]
    50                        
    51                                 <INCLURE{fond=formulaires/inc-squirrel_chimps_lists_config-sclp_accordance_champs}{champs=#GET{champs}}{id_liste}{nom_liste=#TITRE}{id_liste_mc=#GET{id_liste_mc}}{env} />
     49                                [(#SET{champs,#INCLURE{fond=inclure/appels_mc}{appel=champs_listes}{apikey=#GET{apikey}} {liste=#GET{liste}}{multi=true}|unserialize})]
     50
     51                                <INCLURE{fond=formulaires/inc-squirrel_chimps_lists_config-sclp_accordance_champs}{champs=#GET{champs}}{id_liste}{nom_liste=#TITRE}{id_liste_mc=#GET{id_liste_mc}}{env}{apikey=#GET{apikey}} />
    5252                               
    5353                       
     
    8585        </ul>
    8686</fieldset>
    87 
     87        <INCLURE{fond=formulaires/inc-squirrel_chimp_lists_config_champs_extras}{env}{c=#GET{champs}}/>
    8888<script>
    8989$(document).ready(function(){
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/formulaires/inc-squirrel_chimps_lists_config-sclp_accordance_champs.html

    r59329 r59820  
    11#CACHE{0}
    2 
    3 #SET{champs_mailchimp,#ENV**{champs}|table_valeur{mailchimp}}
     2#SET{champs_mailchimp,(#ENV{apikey}|champs_liste{#ENV{id_liste_mc}})}
     3#SET{tables,#VAL{tables}|tables_dispos}         
    44
    55<BOUCLE_test(CONDITION){si #ID_LISTE|oui}>
    6 <div class="accordance" id=#ENV{id_liste_mc}"> 
     6<div class="accordance" id="#ENV{id_liste_mc}">
    77
    88[<h3>(#TITRE)</h3>]
    9 <BOUCLE_listes2(POUR){tableau #ENV**{champs}|table_valeur{spip}}>
    10                 <b>[(#VALEUR)] (<:scl:champ_spip:>)</b>#SET{name,#VALEUR}
    11         <B_champs_mc>
    12                 <select name="mapping[#ID_LISTE][#VALEUR]">
    13                 <option value=""><:scl:pas_accorder:></option> 
    14                 <BOUCLE_champs_mc(POUR){tableau #GET{champs_mailchimp}|table_valeur{#ENV{id_liste_mc}}}>
    15                 <option value="[(#VALEUR|table_valeur{tag})]"[(#ENV{mapping}|table_valeur{#ID_LISTE}|table_valeur{#GET{name}}|=={[(#VALEUR|table_valeur{tag})]}|oui) selected="selected"]>[(#VALEUR|table_valeur{name})]</option>
    16                 </BOUCLE_champs_mc>
    17                 </select>
    18         </B_champs_mc>
    19 
    20         </BOUCLE_champs>
    21        
    22 </BOUCLE_listes2>
    23                                 </div>
     9        <BOUCLE_tables(POUR){tableau #GET{tables}}>#SET{table,#VALEUR}
     10                <BOUCLE_listes2(POUR){tableau #ENV{champs}|table_valeur{spip}|table_valeur{#GET{table}}}>
     11                                <b>[(#VALEUR)] (<:scl:champ_spip:>)</b>#SET{name,#VALEUR}
     12                        <B_champs_mc>
     13                                <select name="mapping[#ID_LISTE][#VALEUR]">
     14                                <option value=""><:scl:pas_accorder:></option> 
     15                                <BOUCLE_champs_mc(POUR){tableau #GET{champs_mailchimp}}>
     16                                <option value="[(#VALEUR|table_valeur{tag})]"[(#ENV{mapping}|table_valeur{#ID_LISTE}|table_valeur{#GET{name}}|=={[(#VALEUR|table_valeur{tag})]}|oui) selected="selected"]>[(#VALEUR|table_valeur{name})]</option>
     17                                </BOUCLE_champs_mc>
     18                                </select>
     19                        </B_champs_mc>
     20               
     21                        </BOUCLE_champs>
     22                       
     23                </BOUCLE_listes2>
     24        </BOUCLE_tables>
     25</div>
    2426</BOUCLE_test>
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/inc/syncroniser_listes.php

    r59252 r59820  
    2828        $since=sql_getfetsel('date_syncro','spip_listes_syncro','objet="listes" AND type_syncro="liste" AND id_objet='.$id_liste_spip,'','date_syncro DESC');
    2929
    30 
     30       
    3131        // les données spip
    32         $champs=champs_spip();
    33         $champs_spip_auteurs=array();
    34         foreach($champs AS $champ){
    35                 $champs_spip_auteurs[]='spip_auteurs.'.$champ;
    36                 }
    37                
    38         $c=implode(',',$champs_spip_auteurs).',spip_auteurs_listes.maj,spip_auteurs_listes.date_syncro,spip_auteurs_listes.statut,spip_auteurs.email,spip_auteurs.id_auteur,spip_auteurs.id_mailchimp';
     32
     33        $tables=tables_dispos();
     34        $champs_extras=lire_config('squirrel_chimp/champs');
     35
     36
     37        //Préparation de la requette
     38        $identifiant_defaut='id_auteur';
     39       
     40        $from=implode(',',$tables);     
     41
     42        $where_principal=$identifiant_principal.'='.$identifiant;
     43        $where_secondaire=array();     
     44        $champs=array();
     45        $i=0;
     46        foreach($tables AS $table){
     47                $i++;
     48                if($i==1)$table_principale=$table;
     49                else $where_secondaire[$i]=$table_principale.'.'.$identifiant_defaut.'='.$table.'.'.$identifiant_defaut;
     50                if($champs_extras[$table]){
     51                        foreach($champs_extras[$table] as $champ){
     52                                $champs[$champ]=$table.'.'.$champ;
     53                                }
     54                        }
     55                }
     56                       
     57        if(!$champs)$champs='*';               
     58        else $champs['email']='spip_auteurs.email';     
     59       
     60        $identifiant_joints=implode(' AND ',$where_secondaire);
     61        if($identifiant_joints)$where=' AND '.$identifiant_joints;
     62               
     63
     64        $champs=implode(',',$champs).',spip_auteurs_listes.maj,spip_auteurs_listes.date_syncro,spip_auteurs_listes.statut,spip_auteurs.id_auteur,spip_auteurs.id_mailchimp';   
    3965       
    4066        // syncroniser tout, n'importe la date de la dernière mise à jour
     
    4268               
    4369       
    44         $liste_spip=sql_select($c,'spip_auteurs_listes,spip_auteurs','spip_auteurs_listes.id_liste='.$id_liste_spip.' AND spip_auteurs_listes.id_auteur=spip_auteurs.id_auteur AND spip_auteurs_listes.date_syncro >'.sql_quote($since));
     70        $liste_spip=sql_select($champs,'spip_auteurs_listes,'.$from,'spip_auteurs_listes.id_liste='.$id_liste_spip.' AND spip_auteurs_listes.id_auteur=spip_auteurs.id_auteur AND spip_auteurs_listes.date_syncro >'.sql_quote($since).$where);
    4571       
    4672        // Composer le tableau distinguant entre abonnées et désabonnées
     
    5581                $listes_mc=array();
    5682                foreach($statuts AS $status){
    57                         $listes_mc[$status]=membres_liste_mc($api,$id_liste_mailchimp,$status,$since,$limit);
     83                        $listes_mc[$status]=membres_liste_mc($api,$id_liste_mailchimp,$status,'',$limit);
    5884                        }       
    5985                }
     
    6187                $liste_mc=membres_liste_mc($api,$id_liste_mailchimp,$status,$since,$limit);
    6288                }
    63        
     89                spip_log($listes_mc, 'sclp');   
     90                spip_log($listes_spip, 'sclp');
    6491        //Etablir les candiats à la syncro.
    6592
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/lang/sclp_fr.php

    r59341 r59820  
    1010        'abonnement_inscrit' => 'Inscrits aux listes d\'envois',
    1111        'activer_liste' => 'Activer cette liste',
     12        'actualisation_spip_ok_probleme_actualisation_mailchimp' => 'Actualisation spip ok, mais il y a un problème avec l\'actualisation vers Mailchimp. si vous utilisez plusieurs tables pour la syncro, cet auteur ne figure probablement pas dans toutes les tables',
    1213        'aucun_abonnement' => 'Pas d\'abonnments',
    1314       
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/plugin.xml

    r59329 r59820  
    44        <licence>GNU/GLP</licence>
    55        <version>0.2.1</version>
    6         <version_base>0.1.13</version_base>     
     6        <version_base>0.2.0</version_base>     
    77        <licence>MIT</licence>
    88        <etat>test</etat>
  • _plugins_/squirrels_love_chimps_lists_plus/trunk/sclp_fonctions.php

    r59313 r59820  
    5656                        }
    5757                }
    58                
     58
    5959        return $batch;
    6060}
     
    177177        $retval = $api->listMembers($id_liste_mailchimp,$status,$since,$start,$limit);
    178178       
    179        
     179        spip_log($retval, 'sclp');     
    180180        return $retval;
    181181       
     
    290290                $id_auteur = $flux['data']['id_auteur'];
    291291                $email = $flux['args']['args'][4]['email'];
    292                 $sql=sql_select('id_liste','spip_auteurs_listes','id_auteur='.$id_auteur. 'AND statut="valide"');
     292               
     293                $sql=sql_select('id_liste','spip_auteurs_listes','id_auteur='.$id_auteur.' AND statut="valide"');
    293294               
    294295                $lists_sync=array();
     
    319320                                spip_log('actualiser','sclp');
    320321                               
    321                                 // By default this sends a confirmation email - you will not see new members
    322                                 // until the link contained in it is clicked!
    323                                 // listSubscribe(string apikey, string id, string email_address, array merge_vars, string email_type, bool double_optin, bool update_existing, bool replace_interests, bool send_welcome)
     322
    324323
    325324                                // Inscription pour chaque liste
    326325                                foreach($lists_sync AS $listId=>$id_liste_spip){
    327326                                        // compilation des informations à envoyer à MailChimp
    328                                         $donnees_auteur=donnees_sync($id_liste_spip,'spip_auteurs','id_auteur='.$id_auteur);
     327                                        $donnees_auteur=donnees_sync($id_liste_spip,'',$id_auteur);
    329328                                        $retour=inscription_liste_mc($flux,$api,$listId,$email,$donnees_auteur[1],$email_type,$optin,true);     
    330329                                        }
Note: See TracChangeset for help on using the changeset viewer.