Système d’inscription à Wanewsletter
Les inscriptions, confirmations, désinscriptions et changements de format peuvent se faire par le biais de trois mécanismes possibles:
- Via le formulaire par défaut (actuellement source:trunk/subscribe.php)
- Via un formulaire généré avec l’outil idoine disponible dans la section outils de l’administration
- Via le système de scan d’une boîte mail dédiée à cet usage (obsolète ?)
Le ticket ticket:1 centralise les tickets ouverts, entrées présentes dans le wiki, etc concernant le nouveau système d’inscriptions à venir dans Wanewsletter 2.3. Les nouvelles fonctionnalités au programme sont :
- Confirmation même si le compte est activé, si la liste demande toujours confirmation (déjà fait)
- Inscription à plusieurs listes en même temps (ticket:10)
- Réduction de la taille des liens par l’utilisation d’un code fourni à l’inscription et spécifique au couple abo_id-liste_id, abo_id-liste_id2, etc, de la table abo_liste
Copie en provenance du TODO
- Stockage d’un code spécial dans abo_liste d’où forme du lien : http://domain.tld/path/to/subscribe.php?c61b334dbf80e6b4c61b au lieu de :
http://domain.tld/path/to/subscribe.php?action=inscription&email=bobe@phpcodeur.net&code=c61b334dbf80e6b442feec9a08b4b40b&liste=5
- code nous donne entrée dans abo_liste qui donne :
- ID de liste
- ID abonné donc email
- Action car si :
- confirmed = 0, on attend forcément une confirmation
- confirmed = 1, on attend forcément une désinscription
- Donc ajouter un champ register_key ? 20 caractères ?
- Permettrait de faciliter l’implémentation de "Inscription à plusieurs listes en même temps" car le code fourni pourrait matcher plusieurs entrées de la table abo_liste, correspondant aux listes dont on fait confirmation ...?
Mise en place
- À l’inscription :
- Les variables reçues sont: action, email et liste_id
- De là, ajout dans la table abonnes et ajouts dans la table abo_liste autant de fois que de listes choisies
- Envoi du mail d’inscription ou confirmation, c’est selon
- Envoi du mail d’alerte aux admins concernés (si inscription sans confirmation)
- Update des statistiques
- À la confirmation :
- Réception d’une variable, le code, associé aux couples abo_id-liste_id1, abo_id-liste_id2, … de la table abo_liste concernés
- Passage de confirmed = 1 sur ces tuples (pour ceux avec confirmed = 0)
- Envoi du mail d’alertes aux admins concernés
- Update des stats
- update des codes pour chaque couple abo_id-liste_id1, abo_id-liste_id2, etc (code différent pour chaque) pour une désinscription ultérieure éventuelle
- À la désinscription :
- Les variables reçues sont :
- action, email, liste : Dans ce cas, envoi du mail de confirmation de désinscription
- code : Désinscription de l’abonné de la liste concernée et envoi des mails d’alerte aux admins concernés
- Les variables reçues sont :
