Thomas Bruederli
2015-03-03 8e333bcb662b6464f8a6c873cfb8825ac0a11943
Only normalize search term when searching in 'words' column
1 files modified
5 ■■■■■ changed files
program/lib/Roundcube/rcube_contacts.php 5 ●●●●● patch | view | raw | blame | history
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 . '%')