source: spip-zone/_plugins_/recommander/formulaires/recommander.php @ 70311

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

eviter de doublonner le code, ça permet de ne devoir corriger le bug qu'une seule fois (retour ligne dans le header)

File size: 2.5 KB
Line 
1<?php
2/*
3 * Plugin Recommander a un ami
4 * (c) 2006-2010 Fil
5 * Distribue sous licence GPL
6 *
7 */
8
9if (!defined("_ECRIRE_INC_VERSION")) return;
10
11include_spip('inc/filtres');
12
13/**
14 * Charger les valeurs du formulaire recommander
15 * @param string $titre
16 * @param string $url
17 * @param string $texte
18 * @param string $subject
19 * @return array
20 */
21function formulaires_recommander_charger_dist($titre, $url='', $texte='', $subject=''){
22        $valeurs = array(
23                'recommander_from'=> $GLOBALS['visiteur_session']['email'] ? $GLOBALS['visiteur_session']['email'] :'',
24                'recommander_to'=> '',
25                'recommander_message'=> ''
26        );
27
28        return $valeurs;
29}
30
31/**
32 * Verifier les valeurs du formulaire recommander
33 * @param string $titre
34 * @param string $url
35 * @param string $texte
36 * @param string $subject
37 * @return array
38 */
39function formulaires_recommander_verifier_dist($titre, $url='', $texte='', $subject=''){
40        $erreurs = array();
41
42        foreach(array('recommander_from','recommander_to') as $c) {
43                if (!$email = trim(_request($c)))
44                        $erreurs[$c] = _T('form_prop_indiquer_email');
45                elseif (!email_valide($email))
46                        $erreurs[$c] = _T('pass_erreur_non_valide', array(
47                                'email_oubli' => htmlspecialchars($email)
48                                )
49                        );
50        }
51
52        return $erreurs;
53}
54
55
56/**
57 * Envoyer le mail
58 * @param string $titre
59 * @param string $url
60 * @param string $texte
61 * @param string $subject
62 * @return array
63 */
64function formulaires_recommander_traiter_dist($titre, $url='', $texte='', $subject=''){
65
66        $subject = sinon ($subject,
67                _T('recommander:recommander_titre',array('nom_site'=>$GLOBALS['meta']['nom_site']))
68                .sinon($titre, _request('recommander_titre'))
69        );
70
71        $contexte = array(
72                'titre'=>$titre,
73                'texte'=>$texte,
74                'url'=>$url ? $url : self(),
75                'recommander_from'=>_request('recommander_from'),
76                'recommander_to'=>_request('recommander_to'),
77                'recommander_message'=>_request('recommander_message'),
78        );
79        $body = recuperer_fond('modeles/recommander_email',$contexte);
80        $header = "X-Originating-IP: ".$GLOBALS['ip']."\n";
81
82        $res = true;
83        if (
84                include_spip("inc/notifications")
85                AND function_exists('notifications_envoyer_mails')){
86                notifications_envoyer_mails(_request('recommander_to'), $body, $subject, _request('recommander_from'), $header);
87        }
88        else {
89                $envoyer_mail = charger_fonction('envoyer_mail','inc');
90                if (!$envoyer_mail(_request('recommander_to'),$subject,$body,_request('recommander_from'),$header))
91                        $res = false;
92        }
93        if (!$res)
94                return array('message_erreur' => _L("Erreur lors de l'envoi du message."));
95        else
96                return array('message_ok' => recuperer_fond('modeles/recommander_envoye',$contexte));
97}
98
99?>
Note: See TracBrowser for help on using the repository browser.