source: spip-zone/_plugins_/mailsuscribers/action/confirm_mailsuscriber.php @ 67831

Last change on this file since 67831 was 67831, checked in by cedric@…, 7 years ago

Debut du plugin de gestion des Inscrits a une liste de diffusion par mail
Pour eviter toute l'ambiguite inscrit/abonne on choisit le prefixe mailsuscribers pour le plugin qui gere l'objet mailsuscriber (un inscrit/abonne a une diffusion par mail)
Le plugin gere deja :

  • l'interface d'admin pour inscrire/desinscrire
  • la configuration simple ou double optin
  • les notifications automatisees de mail de confirmation, d'inscription, de desinscription en fonction du changement de statut
  • les actions de confirmation/inscription/desinscription correspondantes
  • la tracabilite de l'optin par log de l'heure/ip/(identite si connue) lorsqu'il y a inscription ou desinscription (champ opposable car non editable via le back-office)
  • le passage automatique en refuse/suspendu d'une inscription non confirmee (double optin)
  • la suppression automatique des inscrit a la poubelle (a priori operation manuelle a la demande du concerne : par defaut un desinscrit reste en base en statut refuse/suspendu)

TODO :

  • le formulaire publique d'inscription/desinscription
  • l'ajout de la case d'optin inscription(suscribe) newsletter dans le formulaire d'inscription (signup) de spip
  • l'import automatique des inscrits spip-listes/spip-lettres/mes_abonnes/clevermail quand presents en base
  • l'import par csv
  • l'export au format csv
  • l'API conventionnelle du module d'inscription
  • en tout dernier, si possible, la gestion des listes de diffusions (ou sujets ou themes ou canaux, terminologie a determiner)

(Et un grand merci a Marcimat et sa fabrique qui permettent vraiment de gagner un temps fou dans l'ecriture de nouveaux objets)

File size: 921 bytes
Line 
1<?php
2/**
3 * Plugin mailsuscribers
4 * (c) 2012 Cédric Morin
5 * Licence GNU/GPL v3
6 */
7
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10
11function action_confirm_mailsuscriber_dist($email=null){
12        include_spip('mailsuscribers_fonctions');
13        if (is_null($email)){
14                $email = _request('email');
15                $arg = _request('arg');
16                $row = sql_fetsel('id_mailsuscriber,email,jeton,lang,statut','spip_mailsuscribers','email='.sql_quote($email));
17                if (!$row
18                        OR $arg!==mailsuscriber_cle_action("confirm",$row['email'],$row['jeton'])){
19                        $row = false;
20                }
21        }
22        else {
23                $row = sql_fetsel('id_mailsuscriber,email,jeton,statut','spip_mailsuscribers','email='.sql_quote($email));
24        }
25        if (!$row){
26                include_spip('inc/minipres');
27                echo minipres();
28                exit;
29        }
30
31        // il suffit de rejouer suscribe en forcant le simple-optin
32        $suscribe_mailsuscriber = charger_fonction("suscribe_mailsuscriber","action");
33        $suscribe_mailsuscriber($email,false);
34
35}
Note: See TracBrowser for help on using the repository browser.