From c38e29185c6656ba763f52bfa58faa3811833824 Mon Sep 17 00:00:00 2001 From: a-schild Date: Thu, 29 Aug 2019 09:43:49 +0200 Subject: [PATCH 1/2] Fix for #11783 --- .../modules/mailings/thirdparties.modules.php | 92 ++++++++++--------- 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/htdocs/core/modules/mailings/thirdparties.modules.php b/htdocs/core/modules/mailings/thirdparties.modules.php index 9a30a063ad3..d86ebebbd77 100644 --- a/htdocs/core/modules/mailings/thirdparties.modules.php +++ b/htdocs/core/modules/mailings/thirdparties.modules.php @@ -77,6 +77,51 @@ class mailing_thirdparties extends MailingTargets } else { + $addFilter =""; + $addDescription= ""; + if (isset($_POST["filter_client"]) && $_POST["filter_client"] <> '-1') + { + $addFilter.= " AND s.client=" . $_POST["filter_client"]; + $addDescription= $langs->trans('ProspectCustomer')."="; + if ($_POST["filter_client"] == 0) + { + $addDescription.= $langs->trans('NorProspectNorCustomer'); + } + elseif ($_POST["filter_client"] == 1) + { + $addDescription.= $langs->trans('Customer'); + } + elseif ($_POST["filter_client"] == 2) + { + $addDescription.= $langs->trans('Prospect'); + } + elseif ($_POST["filter_client"] == 3) + { + $addDescription.= $langs->trans('ProspectCustomer'); + } + else + { + $addDescription.= "Unknown status ".$_POST["filter_client"]; + } + } + if (isset($_POST["filter_status"])) + { + if (strlen($addDescription) > 0) + { + $addDescription.= ";"; + } + $addDescription.= $langs->trans("Status")."="; + if ($_POST["filter_status"] == '1') + { + $addFilter.= " AND s.status=1"; + $addDescription.= $langs->trans("Enabled"); + } + else + { + $addFilter.= " AND s.status=0"; + $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 <> ''"; @@ -85,6 +130,7 @@ class mailing_thirdparties extends MailingTargets $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"; @@ -94,51 +140,7 @@ class mailing_thirdparties extends MailingTargets $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') - { - $sql.= " AND s.client=" . $_POST["filter_client"]; - $addDescription= $langs->trans('ProspectCustomer')."="; - if ($_POST["filter_client"] == 0) - { - $addDescription.= $langs->trans('NorProspectNorCustomer'); - } - elseif ($_POST["filter_client"] == 1) - { - $addDescription.= $langs->trans('Customer'); - } - elseif ($_POST["filter_client"] == 2) - { - $addDescription.= $langs->trans('Prospect'); - } - elseif ($_POST["filter_client"] == 3) - { - $addDescription.= $langs->trans('ProspectCustomer'); - } - else - { - $addDescription.= "Unknown status ".$_POST["filter_client"]; - } - } - if (isset($_POST["filter_status"])) - { - if (strlen($addDescription) > 0) - { - $addDescription.= ";"; - } - $addDescription.= $langs->trans("Status")."="; - if ($_POST["filter_status"] == '1') - { - $sql.= " AND s.status=1"; - $addDescription.= $langs->trans("Enabled"); - } - else - { - $sql.= " AND s.status=0"; - $addDescription.= $langs->trans("Disabled"); - } + $sql.= $addFilter; } $sql.= " ORDER BY email"; From ad779bc71442fc84141a843d3c696ea5f1035e16 Mon Sep 17 00:00:00 2001 From: a-schild Date: Thu, 29 Aug 2019 09:46:10 +0200 Subject: [PATCH 2/2] Correctly initialize $addDescription in all cases --- htdocs/core/modules/mailings/thirdparties.modules.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/mailings/thirdparties.modules.php b/htdocs/core/modules/mailings/thirdparties.modules.php index d86ebebbd77..10e5f9e93c9 100644 --- a/htdocs/core/modules/mailings/thirdparties.modules.php +++ b/htdocs/core/modules/mailings/thirdparties.modules.php @@ -66,6 +66,7 @@ class mailing_thirdparties extends MailingTargets $cibles = array(); + $addDescription= ""; // Select the third parties from category if (empty($_POST['filter'])) { @@ -78,7 +79,6 @@ class mailing_thirdparties extends MailingTargets else { $addFilter =""; - $addDescription= ""; if (isset($_POST["filter_client"]) && $_POST["filter_client"] <> '-1') { $addFilter.= " AND s.client=" . $_POST["filter_client"];