]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 177436 User matching shouldn't be case-sensitive
authorbugreport%peshkin.net <>
Tue, 5 Nov 2002 05:55:10 +0000 (05:55 +0000)
committerbugreport%peshkin.net <>
Tue, 5 Nov 2002 05:55:10 +0000 (05:55 +0000)
patch by not_erik
2xr=justdave
a=justdave for 2.17.1

Bugzilla/User.pm

index 7b167d0c059e6702d34beafb0596252d41c88388..1506e5dde345f4d1f79117f8de4758b8b36352a0 100644 (file)
@@ -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;