[ Index ] |
|
Code source de SPIP 1.9.2c |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2007 * 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 if (!defined("_ECRIRE_INC_VERSION")) return; #securite 14 15 include_spip('base/abstract_sql'); 16 17 // On prend l'email dans le contexte de maniere a ne pas avoir a le 18 // verifier dans la base ni a le devoiler au visiteur 19 20 21 // http://doc.spip.org/@balise_FORMULAIRE_ECRIRE_AUTEUR 22 function balise_FORMULAIRE_ECRIRE_AUTEUR ($p) { 23 return calculer_balise_dynamique($p,'FORMULAIRE_ECRIRE_AUTEUR', array('id_auteur', 'id_article', 'email')); 24 } 25 26 // http://doc.spip.org/@balise_FORMULAIRE_ECRIRE_AUTEUR_stat 27 function balise_FORMULAIRE_ECRIRE_AUTEUR_stat($args, $filtres) { 28 include_spip('inc/filtres'); 29 30 // Pas d'id_auteur ni d'id_article ? Erreur de squelette 31 if (!$args[0] AND !$args[1]) 32 return erreur_squelette( 33 _T('zbug_champ_hors_motif', 34 array ('champ' => '#FORMULAIRE_ECRIRE_AUTEUR', 35 'motif' => 'AUTEURS/ARTICLES')), ''); 36 37 // Si on est dans un contexte article, sortir tous les mails des auteurs 38 // de l'article 39 if (!$args[0] AND $args[1]) { 40 unset ($args[2]); 41 $s = spip_abstract_select('email', 42 array('auteurs' => 'spip_auteurs', 43 'L' => 'spip_auteurs_articles'), 44 array('auteurs.id_auteur=L.id_auteur', 45 'L.id_article='.intval($args[1]))); 46 while ($row = spip_fetch_array($s)) { 47 if ($row['email'] AND email_valide($row['email'])) 48 $args[2].= ','.$row['email']; 49 } 50 $args[2] = substr($args[2], 1); 51 } 52 53 // On ne peut pas ecrire a un auteur dont le mail n'est pas valide 54 if (!$args[2] OR !email_valide($args[2])) 55 return ''; 56 57 // OK 58 return $args; 59 } 60 61 // http://doc.spip.org/@balise_FORMULAIRE_ECRIRE_AUTEUR_dyn 62 function balise_FORMULAIRE_ECRIRE_AUTEUR_dyn($id_auteur, $id_article, $mail) { 63 include_spip('inc/texte'); 64 $puce = definir_puce(); 65 66 // id du formulaire (pour en avoir plusieurs sur une meme page) 67 $id = ($id_auteur ? '_'.$id_auteur : '_ar'.$id_article); 68 #spip_log("id formulaire = $id, "._request("valide".$id)); 69 $sujet = _request('sujet_message_auteur'.$id); 70 $texte = _request('texte_message_auteur'.$id); 71 $adres = _request('email_message_auteur'.$id); 72 73 if (_request('valide')) { 74 $mailko = !email_valide($adres); 75 $sujetko = !(strlen($sujet)>3); 76 $texteko = !(strlen($texte)>10); 77 } 78 79 $validable = $texte && $sujet && (!$mailko); 80 81 // doit-on envoyer le mail ? 82 if ($validable 83 AND $id == _request('num_formulaire_ecrire_auteur') 84 AND _request('confirmer'.$id)) { 85 $texte .= "\n\n-- "._T('envoi_via_le_site')." ".supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))." (".$GLOBALS['meta']['adresse_site']."/) --\n"; 86 include_spip('inc/mail'); 87 envoyer_mail($mail, $sujet, $texte, $adres, 88 "X-Originating-IP: ".$GLOBALS['ip']); 89 $mailenvoye = _T('form_prop_message_envoye'); 90 } 91 92 return 93 array('formulaires/ecrire_auteur', 0, 94 array( 95 'id' => $id, 96 'mailko' => $mailko ? _T('form_prop_indiquer_email') : '', 97 'mail' => $adres, 98 'sujetko' => $sujetko ? _T('forum_attention_trois_caracteres') : '', 99 'mailenvoye' => $mailenvoye, 100 'sujet' => $sujet, 101 'texteko' => $texteko ? _T('forum_attention_dix_caracteres') : '', 102 'texte' => $texte, 103 'valide' => $validable ? $id : '', 104 'bouton' => _T('form_prop_envoyer'), 105 'boutonconfirmation' => $validable ? _T('form_prop_confirmer_envoi') : '' 106 ) 107 ); 108 } 109 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 10:20:27 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |