d2db17979ffd8c345b7c4464c12fd1c6186ad15a
[lhc/web/www.git] / www / squelettes-dist / formulaires / ecrire_auteur.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
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
14 if (!defined('_ECRIRE_INC_VERSION')) {
15 return;
16 }
17
18 function 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
38 function 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
75 function 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
85 $texte .= "\n\n-- " . _T('envoi_via_le_site') . ' '
86 . supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))
87 . ' (' . $GLOBALS['meta']['adresse_site'] . "/) --\n";
88 $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
89
90 if ($envoyer_mail($mail, $sujet, $texte, $adres,
91 'X-Originating-IP: ' . $GLOBALS['ip'])) {
92 $message = _T('form_prop_message_envoye');
93
94 return array('message_ok' => $message);
95 } else {
96 $message = _T('pass_erreur_probleme_technique');
97
98 return array('message_erreur' => $message);
99 }
100 }