r2237 - enable user search by real name
authorDenis Ovsienko <infrastation@yandex.ru>
Sun, 12 Oct 2008 10:57:52 +0000 (10:57 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sun, 12 Oct 2008 10:57:52 +0000 (10:57 +0000)
ChangeLog
inc/database.php

index f51506d1b892c3274ca2d400af7887eb055d81e5..ecd1e89d171766b78f8f9fba0b5abf3302b409e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 0.16.4
        bugfix: display VS/RS config block in RS pool view
+       update: enable user search by real name
 0.16.3 2008-10-02
        new feature: tell line number for lexical and syntax errors
        new feature: CodePress editor enables line numbers and syntax
index 5b6f25cca94eb95b7371d6dcced03a59033d6008..9a31dfbc8a3416490c0d5feb95e600488e4db421 100644 (file)
@@ -1359,7 +1359,7 @@ function getIPv4VServiceSearchResult ($terms)
 
 function getAccountSearchResult ($terms)
 {
-       return getSearchResultByField
+       $byUsername = getSearchResultByField
        (
                'UserAccount',
                array ('user_id', 'user_name', 'user_realname'),
@@ -1367,6 +1367,23 @@ function getAccountSearchResult ($terms)
                $terms,
                'user_name'
        );
+       $byRealname = getSearchResultByField
+       (
+               'UserAccount',
+               array ('user_id', 'user_name', 'user_realname'),
+               'user_realname',
+               $terms,
+               'user_name'
+       );
+       // Filter out dupes.
+       foreach ($byUsername as $res1)
+               foreach (array_keys ($byRealname) as $key2)
+                       if ($res1['user_id'] == $byRealname[$key2]['user_id'])
+                       {
+                               unset ($byRealname[$key2]);
+                               continue 2;
+                       }
+       return array_merge ($byUsername, $byRealname);
 }
 
 function getSearchResultByField ($tname, $rcolumns, $scolumn, $terms, $ocolumn = '')