Subversion Repositories Sites.tela-botanica.org

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
7 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('num_formulaire_ecrire_auteur')
60
	AND _request('confirmer'.$id)) {
61
		$texte .= "\n\n-- "._T('envoi_via_le_site')." ".supprimer_tags(extraire_multi(lire_meta('nom_site')))." (".lire_meta('adresse_site')."/) --\n";
62
		include_ecrire("inc_mail.php3");
63
		envoyer_mail($mail, $sujet, $texte, $adres,
64
				"X-Originating-IP: ".$GLOBALS['REMOTE_ADDR']);
65
		return _T('form_prop_message_envoye');
66
	}
67
 
68
	return
69
		array('formulaire_ecrire_auteur', 0,
70
			array(
71
			'id' => $id,
72
			'mailko' => $mailko ? $puce : '',
73
			'mail' => $adres,
74
			'sujetko' => ($texte && !$sujet) ? $puce : '',
75
			'sujet' => $sujet,
76
			'texte' => $texte,
77
			'valide' => ($validable ? $id : ''),
78
			'bouton' => (_T('form_prop_envoyer')),
79
			'boutonconfirmation' => ($validable ?
80
				_T('form_prop_confirmer_envoi') :
81
				'')
82
			)
83
		);
84
}
85
?>