source: spip-zone/_core_/branches/spip-3.2/plugins/dist/formulaires/ecrire_auteur.php

Last change on this file was 119539, checked in by spip.franck@…, 6 months ago

Bonne Année "dist" de spip 3.2

File size: 3.4 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2020                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13
14if (!defined('_ECRIRE_INC_VERSION')) {
15        return;
16}
17
18function formulaires_ecrire_auteur_charger_dist($id_auteur, $id_article, $mail) {
19        include_spip('inc/texte');
20        $puce = definir_puce();
21        $valeurs = array(
22                'sujet_message_auteur' => '',
23                'texte_message_auteur' => '',
24                'email_message_auteur' => isset($GLOBALS['visiteur_session']['email']) ?
25                        $GLOBALS['visiteur_session']['email'] : '',
26                'nobot' => '',
27        );
28
29        // id du formulaire (pour en avoir plusieurs sur une meme page)
30        $valeurs['id'] = ($id_auteur ? '_' . $id_auteur : '_ar' . $id_article);
31        // passer l'id_auteur au squelette
32        $valeurs['id_auteur'] = $id_auteur;
33        $valeurs['id_article'] = $id_article;
34
35        return $valeurs;
36}
37
38function formulaires_ecrire_auteur_verifier_dist($id_auteur, $id_article, $mail) {
39        $erreurs = array();
40        include_spip('inc/filtres');
41
42        if (!$adres = _request('email_message_auteur')) {
43                $erreurs['email_message_auteur'] = _T('info_obligatoire');
44        } elseif (!email_valide($adres)) {
45                $erreurs['email_message_auteur'] = _T('form_prop_indiquer_email');
46        } else {
47                include_spip('inc/session');
48                session_set('email', $adres);
49        }
50
51        if (!$sujet = _request('sujet_message_auteur')) {
52                $erreurs['sujet_message_auteur'] = _T('info_obligatoire');
53        } elseif (!(strlen($sujet) > 3)) {
54                $erreurs['sujet_message_auteur'] = _T('forum:forum_attention_trois_caracteres');
55        }
56
57        if (!$texte = _request('texte_message_auteur')) {
58                $erreurs['texte_message_auteur'] = _T('info_obligatoire');
59        } elseif (!(strlen($texte) > 10)) {
60                $erreurs['texte_message_auteur'] = _T('forum:forum_attention_dix_caracteres');
61        }
62
63        if (_request('nobot')) {
64                $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
65        }
66
67        if (!_request('confirmer') and !count($erreurs)) {
68                $erreurs['previsu'] = ' ';
69                $erreurs['message_erreur'] = '';
70        }
71
72        return $erreurs;
73}
74
75function formulaires_ecrire_auteur_traiter_dist($id_auteur, $id_article, $mail) {
76
77        $adres = _request('email_message_auteur');
78        $sujet = _request('sujet_message_auteur');
79
80        $sujet = '[' . supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site'])) . '] '
81                . _T('info_message_2') . ' '
82                . $sujet;
83        $texte = _request('texte_message_auteur');
84        $texte .= "\n-- $adres";
85
86        $texte .= "\n\n-- " . _T('envoi_via_le_site') . ' '
87                . supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))
88                . ' (' . $GLOBALS['meta']['adresse_site'] . "/) --\n";
89        $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
90
91        $corps = array(
92                'texte' => $texte,
93                'repondre_a' => $adres,
94                'headers' => array(
95                        "X-Originating-IP: " . $GLOBALS['ip'],
96                ),
97        );
98
99        if ($envoyer_mail($mail, $sujet, $corps)) {
100                $message = _T('form_prop_message_envoye');
101
102                return array('message_ok' => $message);
103        } else {
104                $message = _T('pass_erreur_probleme_technique');
105
106                return array('message_erreur' => $message);
107        }
108}
Note: See TracBrowser for help on using the repository browser.