diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index d15d4be61..6457ba32f 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -5,6 +5,7 @@ - fix: Empty user-created version tags - fix: TagCloud (Keywords.pm) - fix: Cache pod does not accurately reflect the Module usage + - fix: User administration search - fix: XHTML 1.0 strict, FileUploadControl.js, resizable textarea - fix: undefined activity - Polls now use JSON instead of Storable to serialize graph config diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index 44e20cd1a..3a456421e 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -181,15 +181,15 @@ sub doUserSearch { } else { $keyword = "%".$keyword; } - $keyword = $session->db->quote($keyword); my $sql = "select users.userId, users.username, users.status, users.dateCreated, users.lastUpdated, userProfileData.email from users left join userProfileData on users.userId=userProfileData.userId - where $selectedStatus and (users.username like ".$keyword." or alias like ".$keyword." or email like ".$keyword.") + where $selectedStatus and (users.username like ? or alias like ? or email like ? + or firstName like ? or lastName like ?) and users.userId not in (".$session->db->quoteAndJoin($userFilter).") order by users.username"; if ($returnPaginator) { my $p = WebGUI::Paginator->new($session,$session->url->page("op=".$op)); - $p->setDataByQuery($sql); + $p->setDataByQuery($sql, undef, undef, [$keyword, $keyword, $keyword, $keyword, $keyword]); return $p; } else { my $sth = $session->db->read($sql);