source: spip-zone/_plugins_/soap-sympa/branches/v3/formulaires/abosympa_prive.php @ 70342

Last change on this file since 70342 was 70342, checked in by thomas.weiss@…, 7 years ago

ajout fonction rechercher abonné

File size: 2.7 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5// classe PHP et les services SOAP
6include_spip('inc/soapsympa_trustedapp');
7
8// chargement des valeurs par defaut des champs du formulaire
9function formulaires_abosympa_prive_charger_dist($nomliste = ""){
10
11        //initialise les variables d'environnement pas defaut
12        //$valeurs = array('email');
13
14        // On verifie que la liste est bien accessible
15
16        $conf = unserialize($GLOBALS['meta']['soapsympa']);
17        //instanciation de la classe SOAP-SYMPA
18        $Sympa = new SympaTrustedApp($conf['serveur_distant'], $conf['identifiant'], $conf['mot_de_passe']);
19        $Sympa->USER_EMAIL = $conf['proprietaire'];     //on recupere l email du proprio des listes pour avoir le droit d utiliser le service SOAP
20        $res = $Sympa->info($nomliste);
21
22        if (!isset($res)) {
23        $valeurs['message_erreur'] = _T("soapsympa:liste_non_existante");
24        }else{
25        $valeurs['listname'] = $nomliste;
26        }
27        return $valeurs;
28}
29
30
31function formulaires_abosympa_prive_verifier_dist($nomliste = ""){
32
33        //initialise le tableau des erreurs
34        $erreurs = array();
35
36        // Faire une fonction de verif sur le mail pour validite
37        $email = _request('email');
38       
39        if($email == ''){
40                $erreurs['erreur_email'] = _T("soapsympa:email_oublie");
41                spip_log("Aucun email n'est insere","soapsympa");
42        }
43        else{
44                include_spip('inc/filtres'); # pour email_valide()
45                if (!email_valide($email)){
46                        $erreurs['erreur_email'] = _T("soapsympa:email_valide");
47                        spip_log("Email non valide $email","soapsympa");
48                }
49                else{
50                        spip_log("Email = $email;","soapsympa");
51                }
52        }
53
54   //message d'erreur
55   if (count($erreurs)) {
56      $erreurs['message_erreur'] .= _T('soapsympa:verifier_formulaire');
57   }
58
59   return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
60}
61
62function formulaires_abosympa_prive_traiter_dist($nomliste = ""){
63       
64    $nom = _request('nom');
65    $email = _request('email');
66    $message = null;
67
68    $conf = unserialize($GLOBALS['meta']['soapsympa']);
69    //instanciation de la classe SOAP-SYMPA
70    $Sympa = new SympaTrustedApp($conf['serveur_distant'], $conf['identifiant'], $conf['mot_de_passe']);
71   
72    $message_listes = "<ul>";
73    $Sympa->USER_EMAIL = $conf['proprietaire']; //pour cette action SUBSCRIBE de SYMPA l'email
74       
75                try {
76                    $soapResult = $Sympa->add($nomliste, $email, true);
77                    $message .= _T("soapsympa:message_confirmation_a");
78                    $probleme=false;
79                   
80                } catch (SoapFault $ex) {
81                    $msg = $ex->detail ? $ex->detail : $ex->faultstring;
82                  $message_listes .= "<li><strong>". _T('pass_erreur_probleme_technique')."</strong></li>";
83                        $probleme=true;
84                }
85               
86
87
88      $message_listes .= "</ul><br class='nettoyeur' />";
89
90      $message .= $message_listes;
91       
92      if ($probleme==false) return $message;
93      else return $message_listes;
94}
95?>
Note: See TracBrowser for help on using the repository browser.