Changeset 43256 in spip-zone


Ignore:
Timestamp:
Dec 30, 2010, 8:43:08 PM (10 years ago)
Author:
jluc@…
Message:
  • delivrer_hors_abo.php : API de 2 fonctions permettant d'envoyer la lettre à des destinataires non gérés par spip-lettres mais par un programme extérieur. une fonction reçoit une requête SQL dont les résultats lui fournissent la liste des destinataires, l'autre fonction reçoit juste un mail. Ces 2 fonctions n'envoient pas le(s) mail(s) direct mais en programment l'envoi avec job_queue. Ces 2 fonctions peuvent être utilisées dans un squelette.

Exemple :
Boucle sur sur une table perso, avec une lettre au statut 'envoyée' :

<BOUCLE_test(mes_contacts){email like %@mondomaine.info}>
#PRENOM #NOM #EMAIL <br>
[(#VAL{5}|lettres_programmer_envoi_email{#EMAIL,#ARRAY{prenom,#PRENOM,nom,#NOM}})]<br>
</BOUCLE_test>

Envoi de la lettre (de statut indifférent) à tous les mails résultats d'une requête SQL.
Le statut de la lettre devient 'envoyée' :

[(#VAL{"email,nom,prenom"}|sql_select{t_contacts,email like '%@passerelleco.info'}|sql_fetch|print_r{true})]
<br>
[(#VAL{5}|lettres_sql_programmer_envois{'email,prenom,nom',t_contacts,email like '%@passerelleco.info'})]

Les substitutions des %%raccourcis%% sont possibles dans la lettre pour chaque mail, selon les valeurs renvoyées par la requête SQL.
y compris pour le lien de demande de désabonnement utilisant un %%code%% de validation sur mesure.

  • lettre.php : la méthode 'enregistrer_statut' de 'lettre' perd ses 2 arguments inutiles mais en reçoit un nouveau permettant d'empêcher l'envoi précoce aux abonnés
  • incrément de version
Location:
_plugins_/spip-lettres
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-lettres/classes/lettre.php

    r38984 r43256  
    144144
    145145
    146                 function enregistrer_statut($statut, $cron=false, $xml=false) {
     146                function enregistrer_statut($statut, $avec_envoi_aux_abonnes=true) {
    147147                        $ancien_statut = $this->statut;
    148148                        switch ($statut) {
     
    161161                                                        calculer_langues_rubriques();
    162162                                                }
     163                                                if ($avec_envoi_aux_abonnes) {
    163164                                                // appel a passer en job qeue
    164165                                                include_spip('inc/delivrer');
    165166                                                lettres_programmer_envois($this->id_lettre);
     167                                                };
    166168                                        }
    167169                                        break;
  • _plugins_/spip-lettres/lettres_fonctions.php

    r42995 r43256  
    2020        include_spip('public/lettres_boucles');
    2121        include_spip('facteur_fonctions');
    22 
    23 
     22       
     23        // définit l'API (filtres) d'envoi des lettres à des mails issus de tables externes
     24        // (hors abonnement)
     25        include_spip('inc/delivrer_hors_abo');
     26       
    2427        function lettres_verifier_validite_email($email) {
    2528                include_spip('inc/filtres');
  • _plugins_/spip-lettres/plugin.xml

    r42732 r43256  
    33        <nom>SPIP-Lettres</nom>
    44        <auteur>[Art&#233;go->http://www.artego.fr], Cedric Morin [->www.yterium.net]</auteur>
    5         <version>4.5</version>
     5        <version>4.5.1</version>
    66        <version_base>4.0.2</version_base>
    77        <etat>stable</etat>
Note: See TracChangeset for help on using the changeset viewer.