* \brief Class to offer a selector of emailing targets with Rule 'Poire'.
*/
classmailing_contact1extendsMailingTargets
{
var$name='ContactCompanies';// Identifiant du module mailing
var$desc='Contacts des tiers (prospects, clients, fournisseurs...)';// Libell� utilis� si aucune traduction pour MailingModuleDescXXX ou XXX=name trouv�e
var$require_module=array("societe");// Module mailing actif si modules require_module actifs
var$require_admin=0;// Module mailing actif pour user admin ou non
var$picto='contact';
var$db;
functionmailing_contact1($DB)
{
$this->db=$DB;
}
functiongetSqlArrayForStats()
{
global$conf,$langs;
$langs->load("commercial");
$statssql=array();
$statssql[0]="SELECT '".$langs->trans("NbOfCompaniesContacts")."' as label,";
$statssql[0].=" count(distinct(c.email)) as nb";
$statssql[0].=" FROM ".MAIN_DB_PREFIX."socpeople as c,";
$statssql[0].=" ".MAIN_DB_PREFIX."societe as s";
$statssql[0].=" WHERE s.rowid = c.fk_soc";
$statssql[0].=" AND s.entity = ".$conf->entity;
$statssql[0].=" AND c.entity = ".$conf->entity;
$statssql[0].=" AND s.client IN (1, 3)";
$statssql[0].=" AND c.email != ''";// Note that null != '' is false
return$statssql;
}
/**
* \brief Return here number of distinct emails returned by your selector.
* For example if this selector is used to extract 500 different
* emails from a text file, this function must return 500.
* \return int
*/
functiongetNbOfRecipients()
{
global$conf;
$sql="SELECT count(distinct(c.email)) as nb";
$sql.=" FROM ".MAIN_DB_PREFIX."socpeople as c,";
$sql.=" ".MAIN_DB_PREFIX."societe as s";
$sql.=" WHERE s.rowid = c.fk_soc";
$sql.=" AND c.entity = ".$conf->entity;
$sql.=" AND s.entity = ".$conf->entity;
$sql.=" AND c.email != ''";// Note that null != '' is false
// La requete doit retourner un champ "nb" pour etre comprise
// par parent::getNbOfRecipients
returnparent::getNbOfRecipients($sql);
}
/**
* \brief Affiche formulaire de filtre qui apparait dans page de selection