From 5fd10d14be4c2b1a968bd56b97410b2d05f37526 Mon Sep 17 00:00:00 2001
From: Maxime Kohlhaas <mko@atm-consulting.fr>
Date: Thu, 23 Aug 2012 00:00:01 +0200
Subject: [PATCH] Task 515 : Corrections + target modules modifications

---
 htdocs/contact/fiche.php                           | 6 +++---
 htdocs/core/modules/mailings/contacts1.modules.php | 3 +++
 htdocs/core/modules/mailings/contacts2.modules.php | 3 +++
 htdocs/core/modules/mailings/contacts3.modules.php | 3 +++
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/htdocs/contact/fiche.php b/htdocs/contact/fiche.php
index 53d7f40d91a..c7ebc12f56f 100644
--- a/htdocs/contact/fiche.php
+++ b/htdocs/contact/fiche.php
@@ -452,7 +452,7 @@ else
 
             // Instant message and no email
             print '<tr><td>'.$langs->trans("IM").'</td><td><input name="jabberid" type="text" size="50" maxlength="80" value="'.(isset($_POST["jabberid"])?$_POST["jabberid"]:$object->jabberid).'"></td>';
-			print '<td>'.$langs->trans("No_Email").'</td><td>'.$form->selectyesno('no_email',(isset($_POST["no_email"])?$_POST["no_email"]:$object->no_email)).'</td></tr>';
+			print '<td>'.$langs->trans("No_Email").'</td><td>'.$form->selectyesno('no_email',(isset($_POST["no_email"])?$_POST["no_email"]:$object->no_email), 1).'</td></tr>';
 
             // Visibility
             print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
@@ -627,7 +627,7 @@ else
 
             // Jabberid
             print '<tr><td>Jabberid</td><td><input name="jabberid" type="text" size="40" maxlength="80" value="'.(isset($_POST["jabberid"])?$_POST["jabberid"]:$object->jabberid).'"></td>';
-			print '<td>'.$langs->trans("No_Email").'</td><td>'.$form->selectyesno('no_email',(isset($_POST["no_email"])?$_POST["no_email"]:$object->no_email)).'</td></tr>';
+			print '<td>'.$langs->trans("No_Email").'</td><td>'.$form->selectyesno('no_email',(isset($_POST["no_email"])?$_POST["no_email"]:$object->no_email), 1).'</td></tr>';
 
             // Visibility
             print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
@@ -821,7 +821,7 @@ else
 
         // Instant message and no email
         print '<tr><td>'.$langs->trans("IM").'</td><td>'.$object->jabberid.'</td>';
-        print '<td>'.$langs->trans("No_Email").'</td><td>'.$object->no_email.'</td></tr>';
+        print '<td>'.$langs->trans("No_Email").'</td><td>'.yn($object->no_email).'</td></tr>';
 
         print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
         print $object->LibPubPriv($object->priv);
diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php
index 5aeed0d784a..e24c09aebe5 100755
--- a/htdocs/core/modules/mailings/contacts1.modules.php
+++ b/htdocs/core/modules/mailings/contacts1.modules.php
@@ -77,6 +77,7 @@ class mailing_contacts1 extends MailingTargets
 		$statssql[0].= " AND c.entity IN (".getEntity('societe', 1).")";
 		$statssql[0].= " AND s.client IN (1, 3)";
 		$statssql[0].= " AND c.email != ''";      // Note that null != '' is false
+		$statssql[0].= " AND c.no_email = 0";
 
 		return $statssql;
 	}
@@ -99,6 +100,7 @@ class mailing_contacts1 extends MailingTargets
 		$sql .= " WHERE s.rowid = c.fk_soc";
 		$sql .= " AND c.entity IN (".getEntity('societe', 1).")";
 		$sql .= " AND c.email != ''"; // Note that null != '' is false
+		$sql .= " AND c.no_email = 0";
 
 		// La requete doit retourner un champ "nb" pour etre comprise
 		// par parent::getNbOfRecipients
@@ -205,6 +207,7 @@ class mailing_contacts1 extends MailingTargets
 		$sql.= " WHERE s.rowid = c.fk_soc";
 		$sql.= " AND c.entity IN (".getEntity('societe', 1).")";
 		$sql.= " AND c.email != ''";
+		$sql.= " AND c.no_email = 0";
 		foreach($filtersarray as $key)
 		{
 			if ($key == 'prospects') $sql.= " AND s.client=2";
diff --git a/htdocs/core/modules/mailings/contacts2.modules.php b/htdocs/core/modules/mailings/contacts2.modules.php
index ed1905d634e..bb309037f64 100755
--- a/htdocs/core/modules/mailings/contacts2.modules.php
+++ b/htdocs/core/modules/mailings/contacts2.modules.php
@@ -84,6 +84,7 @@ class mailing_contacts2 extends MailingTargets
         $sql.= " ".MAIN_DB_PREFIX."societe as s";
         $sql.= " WHERE s.rowid = sp.fk_soc";
     	$sql.= " AND sp.email != ''";  // Note that null != '' is false
+    	$sql.= " AND sp.no_email = 0";
     	//$sql.= " AND sp.poste != ''";
     	$sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
     	if ($filtersarray[0]<>'all') $sql.= " AND sp.poste ='".$filtersarray[0]."'";
@@ -165,6 +166,7 @@ class mailing_contacts2 extends MailingTargets
         $sql.= " WHERE s.rowid = sp.fk_soc";
         $sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
     	$sql.= " AND sp.email != ''";  // Note that null != '' is false
+    	$sql.= " AND sp.no_email = 0";
     	//$sql.= " AND sp.poste != ''";
     	// La requete doit retourner un champ "nb" pour etre comprise
     	// par parent::getNbOfRecipients
@@ -189,6 +191,7 @@ class mailing_contacts2 extends MailingTargets
         $sql.= " WHERE s.rowid = sp.fk_soc";
         $sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
         $sql.= " AND sp.email != ''";    // Note that null != '' is false
+        $sql.= " AND sp.email = 0";
         $sql.= " AND (sp.poste IS NOT NULL AND sp.poste != '')";
         $sql.= " GROUP BY sp.poste";
         $sql.= " ORDER BY sp.poste";
diff --git a/htdocs/core/modules/mailings/contacts3.modules.php b/htdocs/core/modules/mailings/contacts3.modules.php
index 9f0453ada2f..be2372426fc 100755
--- a/htdocs/core/modules/mailings/contacts3.modules.php
+++ b/htdocs/core/modules/mailings/contacts3.modules.php
@@ -85,6 +85,7 @@ class mailing_contacts3 extends MailingTargets
     	if ($filtersarray[0] <> 'all') $sql.= " ".MAIN_DB_PREFIX."categorie_societe as cs";
         $sql.= " WHERE s.rowid = sp.fk_soc";
     	$sql.= " AND sp.email != ''";     // Note that null != '' is false
+    	$sql.= " AND sp.no_email = 0";
     	$sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
     	if ($filtersarray[0] <> 'all') $sql.= " AND cs.fk_categorie = c.rowid";
     	if ($filtersarray[0] <> 'all') $sql.= " AND cs.fk_societe = sp.fk_soc";
@@ -171,6 +172,7 @@ class mailing_contacts3 extends MailingTargets
         $sql.= " WHERE s.rowid = c.fk_soc";
         $sql.= " AND c.entity IN (".getEntity('societe', 1).")";
         $sql.= " AND c.email != ''"; // Note that null != '' is false
+        $sql.= " AND c.no_email = 0";
         /*
     	$sql = "SELECT count(distinct(sp.email)) as nb";
         $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as sp,";
@@ -207,6 +209,7 @@ class mailing_contacts3 extends MailingTargets
         $sql.= " ".MAIN_DB_PREFIX."categorie_societe as cs";
         $sql.= " WHERE s.rowid = sp.fk_soc";
         $sql.= " AND sp.email != ''";     // Note that null != '' is false
+        $sql.= " AND sp.no_email = 0";
         $sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
         $sql.= " AND cs.fk_categorie = c.rowid";
         $sql.= " AND cs.fk_societe = sp.fk_soc";
-- 
GitLab