--- - 2007-01-29 13:20:45.000000000 -0800 +++ /dev/fd/63 2007-01-29 13:20:45.000000000 -0800 @@ -9,13 +9,23 @@ } case 'search': if (user_access('access user profiles')) { + $admin = user_access('administer users'); $find = array(); // Replace wildcards with MySQL/PostgreSQL wildcards. $keys = preg_replace('!\*+!', '%', $keys); - $result = pager_query("SELECT * FROM {users} WHERE LOWER(name) LIKE LOWER('%%%s%%')", 15, 0, NULL, $keys); - while ($account = db_fetch_object($result)) { - $find[] = array('title' => $account->name, 'link' => url('user/'. $account->uid, NULL, NULL, TRUE)); + if ($admin) { + $result = pager_query("SELECT * FROM {users} WHERE LOWER(name) LIKE LOWER('%%%s%%') OR LOWER(mail) LIKE LOWER('%%%s%%')", 15, 0, NULL, $keys, $keys); + } + else { + $result = pager_query("SELECT * FROM {users} WHERE LOWER(name) LIKE LOWER('%%%s%%')", 15, 0, NULL, $keys); } + while ($account = db_fetch_object($result)) { + if ($admin) { + $find[] = array('title' => $account->name . ' (' . $account->mail . ')', 'link' => url('user/'. $account->uid, NULL, NULL, TRUE)); + } + else { + $find[] = array('title' => $account->name, 'link' => url('user/'. $account->uid, NULL, NULL, TRUE)); + } return $find; } }