source: spip-zone/_plugins_/mailsubscribers/trunk/action/confirm_unsubscribe_mailsubscriber.php @ 70410

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

Certains webmails font un hit sur les liens internes des mails pour detecter les SPAMS :
Imposer une action manuelle sur un bouton sur l'url de desinscription pour éviter que le bot ne désinscrive automatiquement en scannant le lien contenu dans la Newsletter (la desinscription génère ensuite un mail avec un lien pour se réinscrire et sans cela le bot peut faire tourner en boucle infinie inscription/desinscription sinon - cyaltern)

File size: 1.1 KB
Line 
1<?php
2/**
3 * Plugin mailsubscribers
4 * (c) 2012 Cédric Morin
5 * Licence GNU/GPL v3
6 */
7
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10
11/**
12 * Confirmer l'inscription d'un email deja en base
13 * (appelle lors du double-optin : delegue a subscribe le changement de statut en valide)
14 *
15 * @param string $email
16 */
17function action_confirm_unsubscribe_mailsubscriber_dist($email=null){
18        include_spip('mailsubscribers_fonctions');
19        if (is_null($email)){
20                $securiser_action = charger_fonction("securiser_action","inc");
21                $email = $securiser_action();
22                $email = explode("-",$email);
23                $arg = array_pop($email);
24                $email = implode("-",$email);
25
26                $row = sql_fetsel('id_mailsubscriber,email,jeton,lang,statut','spip_mailsubscribers','email='.sql_quote($email));
27                if (!$row
28                        OR $arg!==mailsubscriber_cle_action("unsubscribe",$row['email'],$row['jeton'])){
29                        $row = false;
30                }
31        }
32
33        if (!$row){
34                include_spip('inc/minipres');
35                echo minipres();
36                exit;
37        }
38
39        // il suffit de rejouer subscribe en forcant le simple-optin
40        $unsubscribe_mailsubscriber = charger_fonction("unsubscribe_mailsubscriber","action");
41        $unsubscribe_mailsubscriber ($email,false);
42}
Note: See TracBrowser for help on using the repository browser.