source: spip-zone/_plugins_/_test_/recommander/action/fragment_recommander.php @ 13167

Last change on this file since 13167 was 13167, checked in by booz@…, 13 years ago

le textarea, mmmmm c bon ca

File size: 3.8 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5define ('_SECRET', '1234');  # trouver une meilleure methode pour definir le secret... un meta() dans la base...
6
7
8
9function verifier_email_ou_erreur($email) {
10        if (!$email = trim($email))
11                return '<div class="erreur">'._T('form_prop_indiquer_email').'</div>';
12        if (!email_valide($email))
13                return '<div class="erreur">'
14                        . _T('pass_erreur_non_valide',
15                                array(
16                                'email_oubli' => htmlspecialchars($email)
17                                )
18                        ).'</div>';
19}
20
21//
22// Fonction appelee des qu'il y a un $_POST avec le bouton 'recommander'
23//
24function envoi_recommander($contexte_inclus) {
25        include_spip('inc/filtres');
26        $retour = '';
27
28        lang_select($contexte_inclus['lang']);
29
30        // verifier que le formulaire est bien rempli
31        if ($retour = verifier_email_ou_erreur(_request('recommander_from'))
32        . verifier_email_ou_erreur(_request('recommander_to')))
33                return $retour;
34
35        // envoyer le mail
36        include_spip('inc/filtres');
37        include_spip('inc/mail');
38#       var_dump($contexte_inclus);
39
40# i18n
41# _T('recommander_titre', array('nom_site' =>
42# supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site'])))
43        $subject = sinon ($contexte_inclus['subject'],
44                _L("A lire sur ").lire_meta('nom_site')." -- "
45                .sinon($contexte_inclus['titre'], _request('recommander_titre'))
46        );
47
48# i18n
49# _T('recommander_lecture', array('from' => _request('recommander_from')))
50        $body = "Bonjour,\n\n"
51                . _request('recommander_from')
52                . " vous recommande la lecture de cet article :\n\n"
53                . "* ". textebrut($contexte_inclus['titre'])." *\n\n"
54                . textebrut($contexte_inclus['texte'])."\n\n"
55                . ' -> '.url_absolue(sinon ($contexte_inclus['url'], self()))
56                . "\n\n"
57                . _request('recommander_message')
58                . "\n\n-- "._T('envoi_via_le_site')
59                . " ".supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))
60                . " (".$GLOBALS['meta']['adresse_site']."/) --\n";
61
62        lang_dselect();
63
64        if (!envoyer_mail(
65                _request('recommander_to'),
66                $subject,
67                $body,
68                _request('recommander_from'),
69                "X-Originating-IP: ".$GLOBALS['ip']
70        ))
71                return "<div class='erreur'>"._L("Erreur lors de l'envoi du message.")."</div>";
72
73}
74
75
76function action_fragment_recommander() {
77        if (!_request('recommander_env')
78        OR (_request('recommander_cle') <> md5(_SECRET._request('recommander_env')))
79        OR $erreur = envoi_recommander(
80                @unserialize(base64_decode(_request('recommander_env'))))
81        ) {
82
83                $r = $erreur;
84
85                $r .= "<form method='post' action='".self()."'>";
86
87                $r .= "<p><label for='recommander_from'>"._T('form_pet_votre_email')."</label>";
88                $r .= " <input type='text' id='recommander_from' name='recommander_from'
89                value='".htmlspecialchars(_request('recommander_from'))."'  class='forml' /></p>";
90                $r .= "<p><label for='recommander_to'>"._T('recommander:destinataire')."</label>";
91                $r .= " <input type='text' id='recommander_to' name='recommander_to' class='forml'
92                value='".htmlspecialchars(_request('recommander_to'))."' class='formo' /></p>";
93                $r .= "<p><label for='recommander_message'>"._T('forum_texte')."</label>";
94                $r .= " <textarea id='recommander_message' name='recommander_message' class='forml'
95                value='".htmlspecialchars(_request('recommander_message'))."' class='forml'></textarea></p>";
96                $r .= "<div class='spip_bouton'><input type='submit' name='recommander_email' value='"._T('recommander:recommander_message')."' /></div>";
97
98                if (!_request('recommander_cle')) {
99                        $contexte = base64_encode(serialize($GLOBALS['contexte_inclus']));
100                        $cle = md5(_SECRET.$contexte);
101                } else {
102                        $contexte = htmlspecialchars(_request('recommander_env'));
103                        $cle = htmlspecialchars(_request('recommander_cle'));
104                }
105                $r .= "<input type='hidden' name='recommander_env' value='$contexte' />\n";
106                $r .= "<input type='hidden' name='recommander_cle' value='$cle' />\n";
107                $r .= "</form>";
108        }
109       
110        else {
111                $r = _T('form_prop_message_envoye');
112        }
113
114        echo $r;
115}
116
117?>
Note: See TracBrowser for help on using the repository browser.