4 |
david |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
// On prend l'email dans le contexte de maniere a ne pas avoir a le
|
|
|
7 |
// verifier dans la base ni a le devoiler au visiteur
|
|
|
8 |
global $balise_FORMULAIRE_ECRIRE_AUTEUR_collecte;
|
|
|
9 |
$balise_FORMULAIRE_ECRIRE_AUTEUR_collecte = array('id_auteur', 'id_article', 'email');
|
|
|
10 |
|
|
|
11 |
function balise_FORMULAIRE_ECRIRE_AUTEUR_stat($args, $filtres) {
|
|
|
12 |
|
|
|
13 |
// Pas d'id_auteur ni d'id_article ? Erreur de squelette
|
|
|
14 |
if (!$args[0] AND !$args[1])
|
|
|
15 |
return erreur_squelette(
|
|
|
16 |
_T('zbug_champ_hors_motif',
|
|
|
17 |
array ('champ' => '#FORMULAIRE_ECRIRE_AUTEUR',
|
|
|
18 |
'motif' => 'AUTEURS/ARTICLES')), '');
|
|
|
19 |
|
|
|
20 |
// Si on est dans un contexte article, sortir tous les mails des auteurs
|
|
|
21 |
// de l'article
|
|
|
22 |
if (!$args[0] AND $args[1]) {
|
|
|
23 |
unset ($args[2]);
|
|
|
24 |
$s = spip_query("SELECT auteurs.email AS email
|
|
|
25 |
FROM spip_auteurs as auteurs, spip_auteurs_articles as lien
|
|
|
26 |
WHERE lien.id_article=".intval($args[1])
|
|
|
27 |
. " AND auteurs.id_auteur = lien.id_auteur");
|
|
|
28 |
while ($row = spip_fetch_array($s))
|
|
|
29 |
if ($row['email'] AND email_valide($row['email']))
|
|
|
30 |
$args[2].= ','.$row['email'];
|
|
|
31 |
$args[2] = substr($args[2], 1);
|
|
|
32 |
}
|
|
|
33 |
|
|
|
34 |
// On ne peut pas ecrire a un auteur dont le mail n'est pas valide
|
|
|
35 |
if (!$args[2] OR !email_valide($args[2]))
|
|
|
36 |
return '';
|
|
|
37 |
|
|
|
38 |
// OK
|
|
|
39 |
return $args;
|
|
|
40 |
}
|
|
|
41 |
|
|
|
42 |
function balise_FORMULAIRE_ECRIRE_AUTEUR_dyn($id_auteur, $id_article, $mail) {
|
|
|
43 |
include_ecrire('inc_texte.php3');
|
|
|
44 |
$puce = $GLOBALS['puce'.$GLOBALS['spip_lang_rtl']];
|
|
|
45 |
|
|
|
46 |
// id du formulaire (pour en avoir plusieurs sur une meme page)
|
|
|
47 |
$id = ($id_auteur ? '_'.$id_auteur : '_ar'.$id_article);
|
|
|
48 |
#spip_log("id formulaire = $id, "._request("valide".$id));
|
|
|
49 |
$sujet = _request('sujet_message_auteur'.$id);
|
|
|
50 |
$texte = _request('texte_message_auteur'.$id);
|
|
|
51 |
$adres = _request('email_message_auteur'.$id);
|
|
|
52 |
|
|
|
53 |
$mailko = $texte && !email_valide($adres);
|
|
|
54 |
|
|
|
55 |
$validable = $texte && $sujet && (!$mailko);
|
|
|
56 |
|
|
|
57 |
// doit-on envoyer le mail ?
|
|
|
58 |
if ($validable
|
|
|
59 |
AND $id == _request('id_formulaire_ecrire_auteur')) {
|
|
|
60 |
$texte .= "\n\n-- "._T('envoi_via_le_site')." ".lire_meta('nom_site')." (".lire_meta('adresse_site')."/) --\n";
|
|
|
61 |
include_ecrire("inc_mail.php3");
|
|
|
62 |
envoyer_mail($mail, $sujet, $texte, $adres,
|
|
|
63 |
"X-Originating-IP: ".$GLOBALS['REMOTE_ADDR']);
|
|
|
64 |
return _T('form_prop_message_envoye');
|
|
|
65 |
}
|
|
|
66 |
|
|
|
67 |
$link = new Link;
|
|
|
68 |
$link->delVar('sujet_message_auteur'.$id);
|
|
|
69 |
$link->delVar('texte_message_auteur'.$id);
|
|
|
70 |
$link->delVar('email_message_auteur'.$id);
|
|
|
71 |
$link->delVar('id_formulaire_ecrire_auteur');
|
|
|
72 |
|
|
|
73 |
return
|
|
|
74 |
array('formulaire_ecrire_auteur', 0,
|
|
|
75 |
array(
|
|
|
76 |
'action' => $link->getUrl(),
|
|
|
77 |
'id' => $id,
|
|
|
78 |
'mailko' => $mailko ? $puce : '',
|
|
|
79 |
'mail' => $adres,
|
|
|
80 |
'sujetko' => ($texte && !$sujet) ? $puce : '',
|
|
|
81 |
'sujet' => $sujet,
|
|
|
82 |
'texte' => $texte,
|
|
|
83 |
'valide' => ($validable ? $id : ''),
|
|
|
84 |
'bouton' => ($validable ?
|
|
|
85 |
_T('form_prop_confirmer_envoi') :
|
|
|
86 |
_T('form_prop_envoyer'))
|
|
|
87 |
)
|
|
|
88 |
);
|
|
|
89 |
}
|
|
|
90 |
?>
|