From: bugreport%peshkin.net <> Date: Tue, 5 Nov 2002 05:55:10 +0000 (+0000) Subject: Bug 177436 User matching shouldn't be case-sensitive X-Git-Tag: bugzilla-2.17.1~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=807d3057ff10203f9041f0ead7763e05e6e85184;p=thirdparty%2Fbugzilla.git Bug 177436 User matching shouldn't be case-sensitive patch by not_erik 2xr=justdave a=justdave for 2.17.1 --- diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 7b167d0c05..1506e5dde3 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -90,7 +90,7 @@ sub match { return \@users if $str =~ /^\s*$/; - # The search order is wildcards, then exact match, then INSTR search. + # The search order is wildcards, then exact match, then substring search. # Wildcard matching is skipped if there is no '*', and exact matches will # not (?) have a '*' in them. If any search comes up with something, the # ones following it will not execute. @@ -134,19 +134,19 @@ sub match { &::PopGlobalSQLState(); } - # then try instr + # then try substring search if ((scalar(@users) == 0) && (&::Param('usermatchmode') eq 'search') && (length($str) >= 3)) { - my $sqlstr = &::SqlQuote($str); + my $sqlstr = &::SqlQuote(uc($str)); my $query = "SELECT userid, realname, login_name " . "FROM profiles " . - "WHERE (INSTR(login_name, $sqlstr) " . - "OR INSTR(realname, $sqlstr)) "; + "WHERE (INSTR(UPPER(login_name), $sqlstr) " . + "OR INSTR(UPPER(realname), $sqlstr)) "; $query .= "AND disabledtext = '' " if $exclude_disabled; $query .= "ORDER BY length(login_name) "; $query .= "LIMIT $limit " if $limit;