/[dolibarr]/dolibarr/htdocs/includes/modules/mailings/poire.modules.php
ViewVC logotype

Diff of /dolibarr/htdocs/includes/modules/mailings/poire.modules.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by eldy, Wed Apr 6 23:23:48 2005 UTC revision 1.5 by eldy, Thu Sep 15 22:45:11 2005 UTC
# Line 53  include_once DOL_DOCUMENT_ROOT.'/include Line 53  include_once DOL_DOCUMENT_ROOT.'/include
53    
54  class mailing_poire extends MailingTargets  class mailing_poire extends MailingTargets
55  {  {
56      var $name='ContactCustomers';                       // Identifiant du module mailing      var $name='ContactCompanies';                       // Identifiant du module mailing
57      var $desc='Tous les contacts uniques de toutes les sociétés clientes'; // Libellé utilisé si aucune traduction pour MailingModuleDescXXX ou XXX=name trouvée      var $desc='Contacts des sociétés';                  // Libellé utilisé si aucune traduction pour MailingModuleDescXXX ou XXX=name trouvée
58      var $require_module=array("commercial");            // Module mailing actif si modules require_module actifs      var $require_module=array("commercial");            // Module mailing actif si modules require_module actifs
59      var $require_admin=0;                               // Module mailing actif pour user admin ou non      var $require_admin=0;                               // Module mailing actif pour user admin ou non
60      var $picto='contact';      var $picto='contact';
# Line 71  class mailing_poire extends MailingTarge Line 71  class mailing_poire extends MailingTarge
71          $this->db=$DB;          $this->db=$DB;
72    
73          // Liste des tableaux des stats espace mailing          // Liste des tableaux des stats espace mailing
74          $this->statssql[0]="SELECT '".$langs->trans("Customers")."' as label, count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE client = 1";          //$this->statssql[0]="SELECT '".$langs->trans("Customers")."' as label, count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE client = 1";
75          $this->statssql[1]="SELECT '".$langs->trans("NbOfCustomersContacts")."' 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 != ''";          $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 != ''";
76      }      }
77            
78      function getNbOfRecipients()      function getNbOfRecipients()
# Line 88  class mailing_poire extends MailingTarge Line 88  class mailing_poire extends MailingTarge
88          return parent::getNbOfRecipients($sql);          return parent::getNbOfRecipients($sql);
89      }      }
90            
91      function add_to_target($mailing_id)      /**
92         *      \brief      Affiche formulaire de filtre qui apparait dans page de selection
93         *                  des destinataires de mailings
94         *      \return     string      Retourne zone select
95         */
96        function formFilter()
97      {      {
98          // La requete doit retourner: email, fk_contact, name, firstname          global $langs;
99          $sql = "SELECT c.email as email, c.idp as fk_contact, c.name as name, c.firstname as firstname";          $langs->load("commercial");
100            $langs->load("suppliers");
101            
102            $s='';
103            $s.='<select name="filter" class="flat">';
104            $s.='<option value="all">'.$langs->trans("All").'</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 s.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";          $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as c";
134          $sql .= ", ".MAIN_DB_PREFIX."societe as s";          $sql .= ", ".MAIN_DB_PREFIX."societe as s";
135          $sql .= " WHERE s.idp = c.fk_soc";          $sql .= " WHERE s.idp = c.fk_soc";
         $sql .= " AND s.client = 1";  
136          $sql .= " AND c.email != ''";          $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";          $sql .= " ORDER BY c.email";
144    
145          return parent::add_to_target($mailing_id, $sql);          return parent::add_to_target($mailing_id, $sql);

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26