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