Changeset 111842 in spip-zone for _plugins_/mailsubscribers


Ignore:
Timestamp:
Oct 4, 2018, 1:18:28 PM (11 days ago)
Author:
root
Message:

un bouton pour actualiser/verifier les segments d'un subscriber - pourrait servir en debug

Location:
_plugins_/mailsubscribers/trunk
Files:
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/mailsubscribers/trunk/action/actualiser_segments_mailsubscriber.php

    r111631 r111842  
    1616 * @param null|bool $double_optin
    1717 */
    18 function action_subscribe_mailsubscriber_dist($email = null, $identifiant = null, $double_optin = null) {
    19         include_spip('mailsubscribers_fonctions');
    20         include_spip('inc/mailsubscribers');
    21         include_spip('inc/config');
     18function action_actualiser_segments_mailsubscriber_dist($id_mailsubscriber = null) {
    2219
    23         if (is_null($email)) {
    24                 $arg = mailsubscribers_verifier_args_action('subscribe');
    25                 if ($arg){
    26                         list($email, $identifiant) = $arg;
    27                 }
     20        if (is_null($id_mailsubscriber)) {
     21                $securiser_action = charger_fonction('securiser_action', 'inc');
     22                $id_mailsubscriber = $securiser_action();
    2823        }
    2924
    30         $subscriber = charger_fonction('subscriber','newsletter');
    31         if (!$email or !$infos = $subscriber($email)) {
    32                 include_spip('inc/minipres');
    33                 echo minipres(_T('info_email_invalide') . '<br />' . entites_html($email));
    34                 exit;
    35         }
    36        
    37         $titre_liste = '';
    38         $status = $infos['status'];
    39         if ($identifiant){
    40                 $status = (isset($infos['subscriptions'][$identifiant]['status'])?$infos['subscriptions'][$identifiant]['status']:'');
    41                 $liste = sql_fetsel('id_mailsubscribinglist, titre_public', 'spip_mailsubscribinglists', 'identifiant=' . sql_quote($identifiant));
    42                 if ($liste['titre_public']) {
    43                         include_spip('inc/texte');
    44                         $titre_liste = supprimer_numero(typo($liste['titre_public']));
    45                 }
    46                 else {
    47                         $titre_liste = '#' . $liste['id_mailsubscribinglist'];
    48                 }
    49         }
     25        include_spip('inc/mailsubscribinglists');
    5026
    51         if ($status == 'on') {
    52                 $titre = _T('mailsubscriber:subscribe_deja_texte', array('email' => $email));
    53         }
    54         else {
    55                 $subscribe = charger_fonction('subscribe','newsletter');
    56                 $options = array();
    57                 if (is_null($double_optin)) {
    58                         $double_optin = lire_config('mailsubscribers/double_optin', 0);
    59                 }
    60 
    61                 $env = array(
    62                         'email' => "<b>$email</b>",
    63                         'titre_liste' => $titre_liste,
    64                         'nom_site_spip' => $GLOBALS['meta']['nom_site'],
    65                         'url_site_spip' => $GLOBALS['meta']['adresse_site']
    66                 );
    67                 if ($double_optin) {
    68                         if ($titre_liste) {
    69                                 $titre = _T('mailsubscriber:confirmsubscribe_texte_email_liste_1', $env);
    70                         } else {
    71                                 $titre = _T('mailsubscriber:confirmsubscribe_texte_email_1', $env);
    72                         }
    73                         $titre .= "<br /><br />" . _T('mailsubscriber:confirmsubscribe_texte_email_envoye');
    74                 }
    75                 else {
    76                         $options['force'] = true;
    77                         if ($titre_liste) {
    78                                 $titre = _T('mailsubscriber:subscribe_texte_email_liste_1', $env);
    79                         } else {
    80                                 $titre = _T('mailsubscriber:subscribe_texte_email_1', $env);
    81                         }
    82                 }
    83 
    84                 if ($identifiant){
    85                         $options['listes'] = array($identifiant);
    86                 }
    87                 $subscribe($email, $options);
    88         }
    89 
    90         // Dans tous les cas on finit sur un minipres qui dit si ok ou echec
    91         include_spip('inc/minipres');
    92         echo minipres($titre, "<style>h1{font-weight: normal}</style>", "", true);
     27        // on force la mise a jour des segments pour ce subscriber
     28        // (pas besoin d'autorisations pour faire ca)
     29        mailsubscribers_actualise_segments($id_mailsubscriber, true);
    9330
    9431}
  • _plugins_/mailsubscribers/trunk/lang/mailsubscriber_fr.php

    r111250 r111842  
    1212        'bouton_invitation' => 'Inviter à s’inscrire à la newsletter',
    1313        'bouton_previsu_importer' => 'Prévisualiser',
     14        'bouton_actualiser_segments' => 'Actualiser les segments',
    1415
    1516        // C
  • _plugins_/mailsubscribers/trunk/paquet.xml

    r111633 r111842  
    22        prefix="mailsubscribers"
    33        categorie="communication"
    4         version="2.9.2"
     4        version="2.9.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/mailsubscribers/trunk/prive/objets/contenu/mailsubscriber.html

    r109182 r111842  
    1616</div>]
    1717
     18#SET{segments_possibles,''}
    1819<B_sub>
    1920<div class="liste-objets mailsubscriptions">
     
    2829        <tbody>
    2930<BOUCLE_sub(mailsubscriptions){id_mailsubscriber}{par id_mailsubscribinglist,id_segment}>
     31        [(#GET{segments_possibles}|non)
     32                [(#ID_MAILSUBSCRIBINGLIST|unique{segments_possibles}|oui)
     33                        [(#AUTORISER{segmenter,mailsubscribinglist,#ID_MAILSUBSCRIBINGLIST}) #SET{segments_possibles,' '}]
     34                ]
     35        ]
    3036        <tr>
    3137                <td><a href="[(#ID_MAILSUBSCRIBINGLIST|generer_url_entite{mailsubscribinglist})]">[(#INFO_IDENTIFIANT{mailsubscribinglist,#ID_MAILSUBSCRIBINGLIST}|mailsubscribers_titre_segment{#ID_SEGMENT})]</a>[ \(<tt>(#ID_SEGMENT|non|?{#INFO_IDENTIFIANT{mailsubscribinglist,#ID_MAILSUBSCRIBINGLIST}})</tt>\)]</td>
     
    3945</B_sub>
    4046
    41 [(#ID_MAILSUBSCRIBER|mailsubscriber_afficher_informations_liees{#EMAIL*})]
    42 
     47[(#ID_MAILSUBSCRIBER|mailsubscriber_afficher_informations_liees{#EMAIL*}) #SET{segments_possibles,' '}]
     48[(#GET{segments_possibles})
     49        <div class="center">
     50        [(#BOUTON_ACTION{<:mailsubscriber:bouton_actualiser_segments:>,#URL_ACTION_AUTEUR{actualiser_segments_mailsubscriber,#ID_MAILSUBSCRIBER,#SELF}})]
     51        </div>
     52]
    4353[<div class="champ contenu_optin[ (#OPTIN*|strlen|?{'',vide})]">
    4454        <div class='label'><:mailsubscriber:label_optin:> : </div>
Note: See TracChangeset for help on using the changeset viewer.