From 8e333bcb662b6464f8a6c873cfb8825ac0a11943 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 3 Mar 2015 16:35:01 +0100 Subject: Only normalize search term when searching in 'words' column --- program/lib/Roundcube/rcube_contacts.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'program/lib') diff --git a/program/lib/Roundcube/rcube_contacts.php b/program/lib/Roundcube/rcube_contacts.php index 5cd96b2dd..6438c431a 100644 --- a/program/lib/Roundcube/rcube_contacts.php +++ b/program/lib/Roundcube/rcube_contacts.php @@ -355,7 +355,7 @@ class rcube_contacts extends rcube_addressbook } else { // require each word in to be present in one of the fields - foreach (rcube_utils::normalize_string($value, true) as $word) { + foreach (rcube_utils::tokenize_string($value, 1) as $word) { $groups = array(); foreach ((array)$fields as $idx => $col) { $groups[] = $this->fulltext_sql_where($word, $mode, $col); @@ -446,9 +446,10 @@ class rcube_contacts extends rcube_addressbook { $WS = ' '; $AS = $col == 'words' ? $WS : self::SEPARATOR; + $words = $col == 'words' ? rcube_utils::normalize_string($value, true) : array($value); $where = array(); - foreach (rcube_utils::normalize_string($value, true) as $word) { + foreach ($words as $word) { switch ($mode) { case 1: // strict $where[] = '(' . $this->db->ilike($col, $word . '%') -- cgit v1.2.3