Merge pull request #11785 from a-schild/develop

Fix for issue #11783
This commit is contained in:
Laurent Destailleur 2019-09-03 17:43:49 +02:00 committed by GitHub
commit bb7b34816d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -66,6 +66,7 @@ class mailing_thirdparties extends MailingTargets
$cibles = array(); $cibles = array();
$addDescription= "";
// Select the third parties from category // Select the third parties from category
if (empty($_POST['filter'])) if (empty($_POST['filter']))
{ {
@ -77,29 +78,10 @@ class mailing_thirdparties extends MailingTargets
} }
else else
{ {
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label"; $addFilter ="";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_societe as cs, ".MAIN_DB_PREFIX."categorie as c";
$sql.= " WHERE s.email <> ''";
$sql.= " AND s.entity IN (".getEntity('societe').")";
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
$sql.= " AND cs.fk_soc = s.rowid";
$sql.= " AND c.rowid = cs.fk_categorie";
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
$sql.= " UNION ";
$sql.= "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_fournisseur as cs, ".MAIN_DB_PREFIX."categorie as c";
$sql.= " WHERE s.email <> ''";
$sql.= " AND s.entity IN (".getEntity('societe').")";
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
$sql.= " AND cs.fk_soc = s.rowid";
$sql.= " AND c.rowid = cs.fk_categorie";
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
}
$addDescription= "";
if (isset($_POST["filter_client"]) && $_POST["filter_client"] <> '-1') if (isset($_POST["filter_client"]) && $_POST["filter_client"] <> '-1')
{ {
$sql.= " AND s.client=" . $_POST["filter_client"]; $addFilter.= " AND s.client=" . $_POST["filter_client"];
$addDescription= $langs->trans('ProspectCustomer')."="; $addDescription= $langs->trans('ProspectCustomer')."=";
if ($_POST["filter_client"] == 0) if ($_POST["filter_client"] == 0)
{ {
@ -131,14 +113,34 @@ class mailing_thirdparties extends MailingTargets
$addDescription.= $langs->trans("Status")."="; $addDescription.= $langs->trans("Status")."=";
if ($_POST["filter_status"] == '1') if ($_POST["filter_status"] == '1')
{ {
$sql.= " AND s.status=1"; $addFilter.= " AND s.status=1";
$addDescription.= $langs->trans("Enabled"); $addDescription.= $langs->trans("Enabled");
} }
else else
{ {
$sql.= " AND s.status=0"; $addFilter.= " AND s.status=0";
$addDescription.= $langs->trans("Disabled"); $addDescription.= $langs->trans("Disabled");
} }
}
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_societe as cs, ".MAIN_DB_PREFIX."categorie as c";
$sql.= " WHERE s.email <> ''";
$sql.= " AND s.entity IN (".getEntity('societe').")";
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
$sql.= " AND cs.fk_soc = s.rowid";
$sql.= " AND c.rowid = cs.fk_categorie";
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
$sql.= $addFilter;
$sql.= " UNION ";
$sql.= "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_fournisseur as cs, ".MAIN_DB_PREFIX."categorie as c";
$sql.= " WHERE s.email <> ''";
$sql.= " AND s.entity IN (".getEntity('societe').")";
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
$sql.= " AND cs.fk_soc = s.rowid";
$sql.= " AND c.rowid = cs.fk_categorie";
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
$sql.= $addFilter;
} }
$sql.= " ORDER BY email"; $sql.= " ORDER BY email";