1 | <?php |
---|
2 | |
---|
3 | // Sécurité |
---|
4 | if (!defined('_ECRIRE_INC_VERSION')) return; |
---|
5 | |
---|
6 | /** |
---|
7 | * Inviter un filleul |
---|
8 | * @param unknown_type $arg |
---|
9 | * @return unknown_type |
---|
10 | */ |
---|
11 | function action_inviter_filleul_dist($arg=null, $message='') { |
---|
12 | if (is_null($arg)){ |
---|
13 | $securiser_action = charger_fonction('securiser_action', 'inc'); |
---|
14 | $arg = $securiser_action(); |
---|
15 | } |
---|
16 | |
---|
17 | // On fait quelque chose seulement si on trouve le filleul |
---|
18 | // Et qu'il y a une raison de le contacter |
---|
19 | if ($id_filleul = intval($arg) |
---|
20 | and $id_filleul > 0 |
---|
21 | and $filleul = sql_fetsel('*', 'spip_filleuls', 'id_filleul = '.$id_filleul) |
---|
22 | and in_array($filleul['statut'], array('en_cours', 'contact', 'sans_nouvelles')) |
---|
23 | ){ |
---|
24 | // On récupère les infos dont on va avoir besoin |
---|
25 | include_spip('inc/config'); |
---|
26 | $envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); |
---|
27 | $parrain = sql_fetsel('nom, email', 'spip_auteurs', 'id_auteur = '.$filleul['id_parrain']); |
---|
28 | |
---|
29 | // On construit les différents paramètres |
---|
30 | $destinataire = $filleul['email']; |
---|
31 | $sujet = _T('parrainage:invitation_sujet', array('nom'=>$parrain['nom'], 'site'=>$GLOBALS['meta']['nom_site'])); |
---|
32 | $email_envoyeur = $parrain['email']; |
---|
33 | $nom_envoyeur = $parrain['nom']; |
---|
34 | $url_invitation = lire_config('parrainage/url_inscription', generer_url_public('inscription')); |
---|
35 | $url_invitation = parametre_url($url_invitation, 'invitation', $filleul['code_invitation']); |
---|
36 | $infos = array( |
---|
37 | 'id_filleul' => $id_filleul, |
---|
38 | 'nom_filleul' => $filleul['nom'], |
---|
39 | 'nom_parrain' => $parrain['nom'], |
---|
40 | 'code_invitation' => $filleul['code_invitation'], |
---|
41 | 'url_invitation' => $url_invitation, |
---|
42 | 'message' => $message |
---|
43 | ); |
---|
44 | |
---|
45 | // On génère le mail HTML avec le fond |
---|
46 | $html = recuperer_fond( |
---|
47 | 'notifications/inviter_filleul', |
---|
48 | $infos |
---|
49 | ); |
---|
50 | // Si le fond existe, on génère la version texte avec le squelette |
---|
51 | if (find_in_path('notifications/inviter_filleul_texte.html')){ |
---|
52 | $texte = recuperer_fond( |
---|
53 | 'notifications/inviter_filleul_texte', |
---|
54 | $infos |
---|
55 | ); |
---|
56 | } |
---|
57 | // Sinon on le génère à partir du HTML |
---|
58 | else{ |
---|
59 | include_spip('classes/facteur'); |
---|
60 | $texte = Facteur::html2text($html); |
---|
61 | } |
---|
62 | |
---|
63 | // On utilise la forme avancé de Facteur |
---|
64 | $corps = array( |
---|
65 | 'html' => $html, |
---|
66 | 'texte' => $texte, |
---|
67 | 'nom_envoyeur' => $nom_envoyeur |
---|
68 | ); |
---|
69 | |
---|
70 | // On envoie enfin le courriel |
---|
71 | $ok = $envoyer_mail( |
---|
72 | $destinataire, |
---|
73 | $sujet, |
---|
74 | $corps, |
---|
75 | $email_envoyeur, |
---|
76 | 'X-Originating-IP: '.$GLOBALS['ip'] |
---|
77 | ); |
---|
78 | |
---|
79 | // Si ça a marché, on modifie les infos du filleul |
---|
80 | if ($ok){ |
---|
81 | sql_updateq( |
---|
82 | 'spip_filleuls', |
---|
83 | array( |
---|
84 | 'statut' => 'invite', |
---|
85 | 'date_invitation' => date('Y-m-d H:i:s') |
---|
86 | ), |
---|
87 | 'id_filleul = '.$id_filleul |
---|
88 | ); |
---|
89 | } |
---|
90 | } |
---|
91 | } |
---|
92 | |
---|
93 | ?> |
---|