source: spip-zone/_plugins_/mailsuscribers/action/suscribe_mailsuscriber.php @ 67838

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

PHPDoc

File size: 2.1 KB
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/**
11 * Inscrire un email deja en base
12 * (mise a jour du statut en prop ou valide selon l'option double-optin)
13 *
14 * @param string $email
15 * @param null|bool $double_optin
16 */
17function action_suscribe_mailsuscriber_dist($email=null, $double_optin=null){
18        include_spip('mailsuscribers_fonctions');
19        include_spip('inc/config');
20        if (is_null($email)){
21                $email = _request('email');
22                $arg = _request('arg');
23                $row = sql_fetsel('id_mailsuscriber,email,jeton,lang,statut','spip_mailsuscribers','email='.sql_quote($email));
24                if (!$row
25                        OR $arg!==mailsuscriber_cle_action("suscribe",$row['email'],$row['jeton'])){
26                        $row = false;
27                }
28        }
29        else {
30                $row = sql_fetsel('id_mailsuscriber,email,jeton,statut','spip_mailsuscribers','email='.sql_quote($email));
31        }
32        if (!$row){
33                include_spip('inc/minipres');
34                echo minipres();
35                exit;
36        }
37
38        include_spip("inc/lang");
39        changer_langue($row['lang']);
40
41        if ($row['statut']!='valide'){
42                // OK l'email est connu et valide
43                include_spip("action/editer_objet");
44                // si doubleoptin, envoyer un mail de confirmation
45                if (is_null($double_optin))
46                        $double_optin = lire_config('mailsuscribers/double_optin',0);
47                if ($double_optin){
48                        // on passe en prop qui declenche l'envoi d'un mail
49                        objet_modifier("mailsuscriber",$row['id_mailsuscriber'],array('statut'=>'prop'));
50                        $titre = _T('mailsuscriber:confirmsuscribe_texte_email_1',array('email'=>$row['email'],'nom_site_spip'=>$GLOBALS['meta']['nom_site'],'url_site_spip'=>$GLOBALS['meta']['adresse_site']));
51                        $titre .= "<br />"._T('mailsuscriber:confirmsuscribe_texte_email_envoye');
52                }
53                // sinon inscrire directement
54                else {
55                        objet_modifier("mailsuscriber",$row['id_mailsuscriber'],array('statut'=>'valide'));
56                        $titre = _T('mailsuscriber:suscribe_texte_email_1',array('email'=>$row['email']));
57                }
58        }
59        else {
60                $titre = _T('mailsuscriber:suscribe_deja_texte',array('email'=>$row['email']));
61        }
62
63
64        // Dans tous les cas on finit sur un minipres qui dit si ok ou echec
65        include_spip('inc/minipres');
66        echo minipres($titre,"","",true);
67
68}
Note: See TracBrowser for help on using the repository browser.