From 8e333bcb662b6464f8a6c873cfb8825ac0a11943 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Tue, 03 Mar 2015 10:35:01 -0500
Subject: [PATCH] Only normalize search term when searching in 'words' column

---
 program/lib/Roundcube/rcube_contacts.php |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/program/lib/Roundcube/rcube_contacts.php b/program/lib/Roundcube/rcube_contacts.php
index 5cd96b2..6438c43 100644
--- a/program/lib/Roundcube/rcube_contacts.php
+++ b/program/lib/Roundcube/rcube_contacts.php
@@ -355,7 +355,7 @@
         }
         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 @@
     {
         $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 . '%')

--
Gitblit v1.9.1