From c16b55626d1dc5796becd6167707a75dd51dc646 Mon Sep 17 00:00:00 2001 From: x2003bruneau Date: Thu, 26 Apr 2007 11:38:20 +0000 Subject: [PATCH] Fix search on first character git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1736 839d8a87-29fc-0310-9880-83ba4fa771e5 --- modules/search/classes.inc.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/search/classes.inc.php b/modules/search/classes.inc.php index e650e57..a23853b 100644 --- a/modules/search/classes.inc.php +++ b/modules/search/classes.inc.php @@ -249,7 +249,7 @@ class QuickSearch extends SField { $where = Array(); foreach ($this->strings as $i => $s) { - if (Env::i('with_soundex')) { + if (Env::i('with_soundex') && strlen($s) > 1) { $t = soundex_fr($s); $where[] = "sn$i.soundex = '$t'"; } else { @@ -285,11 +285,14 @@ class QuickSearch extends SField { $join = ""; $and = ''; + $uniq = ''; foreach ($this->strings as $i => $s) { if (!S::logged()) { $and = "AND FIND_IN_SET('public', sn$i.flags)"; - } - $join .= "INNER JOIN search_name AS sn$i ON (u.user_id = sn$i.uid $and)\n"; + } + $myu = str_replace('snv', "sn$i", $uniq); + $join .= "INNER JOIN search_name AS sn$i ON (u.user_id = sn$i.uid $and$myu)\n"; + $uniq .= " AND sn$i.token != snv.token"; } return $join; } -- 2.1.4