From 3fc00e67bbfa5bad7b0d29d268545036f6dc684d Mon Sep 17 00:00:00 2001 From: thomascube Date: Tue, 3 Jul 2007 17:25:05 +0000 Subject: Fix address adding bug reported by David Koblas --- program/include/rcube_contacts.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'program/include/rcube_contacts.inc') diff --git a/program/include/rcube_contacts.inc b/program/include/rcube_contacts.inc index 3902e2a3b..c6dc40dfd 100644 --- a/program/include/rcube_contacts.inc +++ b/program/include/rcube_contacts.inc @@ -171,7 +171,7 @@ class rcube_contacts * @param boolean True if results are requested, False if count only * @return Indexed list of contact records and 'count' value */ - function search($fields, $value, $select=true) + function search($fields, $value, $strict=false, $select=true) { if (!is_array($fields)) $fields = array($fields); @@ -184,6 +184,8 @@ class rcube_contacts $ids = !is_array($value) ? split(',', $value) : $value; $add_where[] = $this->primary_key." IN (".join(',', $ids).")"; } + else if ($strict) + $add_where[] = $this->db->quoteIdentifier($col)."=".$this->db->quote($value); else $add_where[] = $this->db->quoteIdentifier($col)." LIKE ".$this->db->quote(strlen($value)>2 ? "%$value%" : "$value%"); } @@ -278,7 +280,7 @@ class rcube_contacts $insert_id = $existing = false; if ($check) - $existing = $this->search('email', $save_data['email'], false); + $existing = $this->search('email', $save_data['email'], true, false); $a_insert_cols = $a_insert_values = array(); foreach ($this->table_cols as $col) -- cgit v1.2.3