diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php
index d3642c50393..118cc336fb7 100644
--- a/htdocs/comm/mailing/cibles.php
+++ b/htdocs/comm/mailing/cibles.php
@@ -161,6 +161,7 @@ if ($_POST["button_removefilter"])
$search_lastname='';
$search_firstname='';
$search_email='';
+ $search_dest_status='';
}
@@ -399,7 +400,7 @@ if ($object->fetch($id) >= 0)
if ($search_lastname) $sql.= " AND mc.lastname LIKE '%".$db->escape($search_lastname)."%'";
if ($search_firstname) $sql.= " AND mc.firstname LIKE '%".$db->escape($search_firstname)."%'";
if ($search_email) $sql.= " AND mc.email LIKE '%".$db->escape($search_email)."%'";
- if (!empty($search_dest_status)) $sql.= " AND mc.statut=".$db->escape($search_dest_status)." ";
+ if ($search_dest_status != '' && $search_dest_status >= -1) $sql.= " AND mc.statut=".$db->escape($search_dest_status)." ";
$sql .= $db->order($sortfield,$sortorder);
// Count total nb of records
@@ -411,7 +412,7 @@ if ($object->fetch($id) >= 0)
}
//$nbtotalofrecords=$object->nbemail; // nbemail is a denormalized field storing nb of targets
$sql .= $db->plimit($limit+1, $offset);
-
+
$resql=$db->query($sql);
if ($resql)
{
@@ -446,29 +447,12 @@ if ($object->fetch($id) >= 0)
print ' ';
- if ($page) $param.= "&page=".$page;
+ if ($page) $param.= "&page=".$page;
+
print '
';
- print '';
- print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"mc.email",$param,"","",$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("Lastname"),$_SERVER["PHP_SELF"],"mc.lastname",$param,"","",$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"mc.firstname",$param,"","",$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("OtherInformations"),$_SERVER["PHP_SELF"],"",$param,"","",$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"],"",$param,"",'align="center"',$sortfield,$sortorder);
- // Date sending
- if ($object->statut < 2)
- {
- print_liste_field_titre('');
- }
- else
- {
- print_liste_field_titre($langs->trans("DateSending"),$_SERVER["PHP_SELF"],"mc.date_envoi",$param,'','align="center"',$sortfield,$sortorder);
- }
- print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"mc.statut",$param,'','align="right"',$sortfield,$sortorder);
- print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
- print ' ';
-
+
// Ligne des champs de filtres
- print '';
+ print ' ';
// EMail
print '';
print ' ';
@@ -489,7 +473,7 @@ if ($object->fetch($id) >= 0)
print ' ';
print ' ';
print ' ';
-
+
// Date sending
print '';
print ' ';
@@ -504,6 +488,25 @@ if ($object->fetch($id) >= 0)
print $searchpitco;
print ' ';
print ' ';
+
+ print '';
+ print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"mc.email",$param,"","",$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Lastname"),$_SERVER["PHP_SELF"],"mc.lastname",$param,"","",$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"mc.firstname",$param,"","",$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("OtherInformations"),$_SERVER["PHP_SELF"],"",$param,"","",$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"],"",$param,"",'align="center"',$sortfield,$sortorder);
+ // Date sending
+ if ($object->statut < 2)
+ {
+ print_liste_field_titre('');
+ }
+ else
+ {
+ print_liste_field_titre($langs->trans("DateSending"),$_SERVER["PHP_SELF"],"mc.date_envoi",$param,'','align="center"',$sortfield,$sortorder);
+ }
+ print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"mc.statut",$param,'','align="right"',$sortfield,$sortorder);
+ print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
+ print ' ';
$i = 0;
diff --git a/htdocs/comm/mailing/class/mailing.class.php b/htdocs/comm/mailing/class/mailing.class.php
index b0dff81332c..43a3cdcb78d 100644
--- a/htdocs/comm/mailing/class/mailing.class.php
+++ b/htdocs/comm/mailing/class/mailing.class.php
@@ -80,8 +80,8 @@ class Mailing extends CommonObject
$this->statuts[2] = 'MailingStatusSentPartialy';
$this->statuts[3] = 'MailingStatusSentCompletely';
- $this->statut_dest[0] = 'MailingStatusNotSent';
$this->statut_dest[-1] = 'MailingStatusError';
+ $this->statut_dest[0] = 'MailingStatusNotSent';
$this->statut_dest[1] = 'MailingStatusSent';
$this->statut_dest[2] = 'MailingStatusRead';
$this->statut_dest[3] = 'MailingStatusReadAndUnsubscribe'; // Read but ask to not be contacted anymore
diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php
index 6988fb4b992..ab58854f2c4 100644
--- a/htdocs/core/class/html.formmail.class.php
+++ b/htdocs/core/class/html.formmail.class.php
@@ -1139,7 +1139,7 @@ class FormMail extends Form
complete_substitutions_array($tmparray, $langs, null, $parameters);
foreach($tmparray as $key => $val)
{
- $vars[]=$key;
+ $vars[$key]=$key;
}
return $vars;
diff --git a/htdocs/core/class/html.formmailing.class.php b/htdocs/core/class/html.formmailing.class.php
index 0c63049f9d8..9fb4e4eea86 100644
--- a/htdocs/core/class/html.formmailing.class.php
+++ b/htdocs/core/class/html.formmailing.class.php
@@ -32,9 +32,9 @@ class FormMailing extends Form
/**
* Output a select with destinaries status
*
- * @param string $selectedid the selected id
- * @param string $htmlname name of controm
- * @param integer $show_empty show empty option
+ * @param string $selectedid The selected id
+ * @param string $htmlname Name of controm
+ * @param integer $show_empty Show empty option
* @return string HTML select
*/
public function selectDestinariesStatus($selectedid='',$htmlname='dest_status', $show_empty=0) {
@@ -46,13 +46,13 @@ class FormMailing extends Form
$mailing = new Mailing($this->db);
$options = array();
-
+
if ($show_empty) {
- $options[''] = '';
+ $options[-2] = ''; // Note -1 is used for error
}
- $options = array_merge($options, $mailing->statut_dest);
+ $options = $options + $mailing->statut_dest;
- return Form::selectarray($htmlname, $options, $selectedid, 0, 0, 0, '', 1);
+ return Form::selectarray($htmlname, $options, $selectedid, 0, 0, 0, '', 1);
}
}