source: spip-zone/_plugins_/parrainage/formulaires/ajouter_filleul.php @ 54053

Last change on this file since 54053 was 54053, checked in by rastapopoulos@…, 9 years ago

Importation du plugin "Parrainage", permettant de faire des campagnes de... parrainage.

N'importe quel utilisateur peut avoir une liste de contacts à qui faire la pub du site. Tout contact est identifié par son adresse email. Dans sa liste, on peut ajouter un contact avec un formulaire simple (nom, email) : #FORMULAIRE_AJOUTER_FILLEUL. On peut aussi utiliser le plugin "Importateur de contacts", notamment avec OpenInviter?, pour importer en masse : #FORMULAIRE_IMPORTER_CONTACTS{#SELF, parrainage_importer_contacts}.

On voit sa liste avec #FORMULAIRE_PARRAINAGE. On peut alors sélectionner à qui envoyer le message, ajouter un texte, et balancer tout ça. Chaque contact a un statut (juste un contact, déjà contacté, déjà inscrit mais pas grâce à toi, ou filleul cad inscrit grace à toi).

Les filleuls potentiels reçoivent un mail invitant à s'inscrire. Lors de l'inscription, un champ supplémentaire permet de renseigner la clé du parrain (c'est automatique si on suit le lien du mail). Un utilisateur inscrit de cette manière, sera alors lié à son parrain.

Il est possible de configurer le plugin pour *obliger* les inscrits à avoir un parrain. Il est alors impossible de s'inscrire sur le site si l'on a pas reçu une invitation. Cela permet de faire un peu de "buzz".

File size: 1.4 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6
7function formulaires_ajouter_filleul_charger($redirect=''){
8        include_spip('inc/session');
9       
10        $contexte = array(
11                'nom' => '',
12                'email' => ''
13        );
14       
15        // S'il n'y a pas d'auteur connecté, pas de formulaire
16        if (!session_get('id_auteur') > 0)
17                return false;
18        else
19                return $contexte;
20}
21
22function formulaires_ajouter_filleul_verifier($redirect=''){
23        $erreurs = array();
24       
25        // Les champs sont obligatoires
26        foreach (array('nom', 'email') as $champ){
27                if (!_request($champ))
28                        $erreurs[$champ] = _T('info_obligatoire');
29        }
30       
31        // Le champ email doit être... un email
32        include_spip('inc/filtres');
33        if (!$erreurs['email'] and !email_valide(_request('email')))
34                $erreurs['email'] = _T('info_email_invalide');
35       
36        return $erreurs;
37}
38
39function formulaires_ajouter_filleul_traiter($redirect=''){
40        // De toute façon on peut continuer d'ajouter ensuite
41        $retours = array('editable' => true);
42       
43        // On ajoute l'email trouvé
44        $ajouter_filleul = charger_fonction('ajouter_filleul', 'action/');
45        $id_filleul = $ajouter_filleul('');
46       
47        // Si ça a marché, on met un petit message et on vide les valeurs
48        if ($id_filleul > 0){
49                $retours['message_ok'] = _T('parrainage:ajouter_filleul_confirmation');
50                set_request('email',''); set_request('nom','');
51        }
52       
53        if ($redirect)
54                $retours['redirect'] = $redirect;
55       
56        return $retours;
57}
58
59?>
Note: See TracBrowser for help on using the repository browser.