| [ Index ] |
|
Code source de Dolibarr 2.0.1 |
1 <?php 2 /* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 * or see http://www.gnu.org/ 18 * 19 * $Id: fraise.modules.php,v 1.5 2005/11/08 00:21:49 eldy Exp $ 20 * $Source: /cvsroot/dolibarr/dolibarr/htdocs/includes/modules/mailings/fraise.modules.php,v $ 21 * 22 * 23 * L'utilisation d'adresses de courriers électroniques dans les opérations 24 * de prospection commerciale est subordonnée au recueil du consentement 25 * préalable des personnes concernées. 26 * 27 * Le dispositif juridique applicable a été introduit par l'article 22 de 28 * la loi du 21 juin 2004 pour la confiance dans l'économie numérique. 29 * 30 * Les dispositions applicables sont définies par les articles L. 34-5 du 31 * code des postes et des télécommunications et L. 121-20-5 du code de la 32 * consommation. L'application du principe du consentement préalable en 33 * droit français résulte de la transposition de l'article 13 de la Directive 34 * européenne du 12 juillet 2002 « Vie privée et communications électroniques ». 35 * 36 */ 37 38 /** 39 \file htdocs/includes/modules/mailings/fraise.modules.php 40 \ingroup mailing 41 \brief Fichier de la classe permettant de générer la liste de destinataires Fraise 42 \version $Revision: 1.5 $ 43 */ 44 45 include_once DOL_DOCUMENT_ROOT.'/includes/modules/mailings/modules_mailings.php'; 46 47 48 /** 49 \class mailing_fraise 50 \brief Classe permettant de générer la liste des destinataires Fraise 51 */ 52 53 class mailing_fraise extends MailingTargets 54 { 55 var $name='FundationMembers'; // Identifiant du module mailing 56 var $desc='Membres de l\'association'; // Libellé utilisé si aucune traduction pour MailingModuleDescXXX ou XXX=name trouvée 57 var $require_module=array('adherent'); // Module mailing actif si modules require_module actifs 58 var $require_admin=0; // Module mailing actif pour user admin ou non 59 var $picto='user'; 60 61 var $db; 62 var $statssql=array(); 63 64 65 function mailing_fraise($DB) 66 { 67 global $langs; 68 $langs->load("members"); 69 70 $this->db=$DB; 71 72 // Liste des tableaux des stats espace mailing 73 $this->statssql[0]="SELECT '".addslashes($langs->trans("FundationMembers"))."' as label, count(*) as nb FROM ".MAIN_DB_PREFIX."adherent where statut = 1"; 74 } 75 76 function getNbOfRecipients() 77 { 78 // La requete doit retourner: nb 79 $sql = "SELECT count(distinct(a.email)) as nb"; 80 $sql .= " FROM ".MAIN_DB_PREFIX."adherent as a"; 81 $sql .= " WHERE a.email IS NOT NULL"; 82 83 return parent::getNbOfRecipients($sql); 84 } 85 86 /** 87 * \brief Affiche formulaire de filtre qui apparait dans page de selection 88 * des destinataires de mailings 89 * \return string Retourne zone select 90 */ 91 function formFilter() 92 { 93 global $langs; 94 $langs->load("members"); 95 96 $s=''; 97 $s.='<select name="filter" class="flat">'; 98 $s.='<option value="-1">'.$langs->trans("MemberStatusShortDraft").'</option>'; 99 $s.='<option value="1" selected="true">'.$langs->trans("MemberStatusActive").'</option>'; 100 $s.='<option value="0">'.$langs->trans("MemberStatusResiliated").'</option>'; 101 $s.='</select>'; 102 return $s; 103 } 104 105 106 /** 107 * \brief Renvoie url lien vers fiche de la source du destinataire du mailing 108 * \return string Url lien 109 */ 110 function url($id) 111 { 112 return '<a href="'.DOL_URL_ROOT.'/adherents/fiche.php?rowid='.$id.'">'.img_object('',"user").'</a>'; 113 } 114 115 116 /** 117 * \brief Ajoute destinataires dans table des cibles 118 * \param mailing_id Id du mailing concerné 119 * \param filterarray Requete sql de selection des destinataires 120 * \return int < 0 si erreur, nb ajout si ok 121 */ 122 function add_to_target($mailing_id,$filtersarray=array()) 123 { 124 // La requete doit retourner: id, email, fk_contact, name, firstname 125 $sql = "SELECT a.rowid as id, a.email as email, null as fk_contact, a.nom as name, a.prenom as firstname"; 126 $sql.= " FROM ".MAIN_DB_PREFIX."adherent as a"; 127 $sql.= " WHERE a.email IS NOT NULL"; 128 foreach($filtersarray as $key) 129 { 130 if ($key == -1) $sql.= " AND a.statut=-1"; 131 if ($key == 0) $sql.= " AND a.statut=0"; 132 if ($key == 1) $sql.= " AND a.statut=1"; 133 } 134 $sql.= " ORDER BY a.email"; 135 136 return parent::add_to_target($mailing_id, $sql); 137 } 138 139 } 140 141 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Mon Nov 26 12:29:37 2007 | par Balluche grâce à PHPXref 0.7 |
|