add admin search by role

This commit is contained in:
Hendrik
2017-02-01 11:33:34 +01:00
parent fb9d070d6a
commit 3c79d86abd
3 changed files with 29 additions and 17 deletions

View File

@@ -56,5 +56,5 @@
} }
.bancommentform input[type="text"] { .bancommentform input[type="text"] {
width: 100%; width: 80%;
} }

View File

@@ -176,7 +176,9 @@ function search20GroupsFromNByStatus($n, $keyword, $status) {
return $q; return $q;
} }
function searchSomeGroupsByStatus($n, $m, $keyword, $status) { function searchSomeGroupsByStatus($n, $m, $search, $status) {
// parentheses not needed in where clause, for clarity as
// role search should override status filter.
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
`groupID`, `groupID`,
@@ -186,16 +188,18 @@ function searchSomeGroupsByStatus($n, $m, $keyword, $status) {
FROM FROM
`group_page` `group_page`
WHERE WHERE
`name` LIKE :keyword AND (`name` LIKE :keyword AND
FIND_IN_SET (`status`, :statuses) FIND_IN_SET (`status`, :statuses)) OR
`status` = :search
ORDER BY ORDER BY
`name` `name`
LIMIT LIMIT
:n, :m :n, :m
"); ");
$keyword = "%$keyword%"; $keyword = "%$search%";
$q->bindParam(':keyword', $keyword); $q->bindParam(':keyword', $keyword);
$q->bindParam(':search', $search);
$q->bindParam(':n', $n, PDO::PARAM_INT); $q->bindParam(':n', $n, PDO::PARAM_INT);
$q->bindParam(':m', $m, PDO::PARAM_INT); $q->bindParam(':m', $m, PDO::PARAM_INT);
$statuses = implode(',', $status); $statuses = implode(',', $status);
@@ -204,21 +208,23 @@ function searchSomeGroupsByStatus($n, $m, $keyword, $status) {
return $q; return $q;
} }
function countSomeGroupsByStatus($keyword, $status) { function countSomeGroupsByStatus($search, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
COUNT(*) COUNT(*)
FROM FROM
`group_page` `group_page`
WHERE WHERE
`name` LIKE :keyword AND (`name` LIKE :keyword AND
FIND_IN_SET (`status`, :statuses) FIND_IN_SET (`status`, :statuses)) OR
`status` = :search
ORDER BY ORDER BY
`name` `name`
"); ");
$keyword = "%$keyword%"; $keyword = "%$search%";
$q->bindParam(':keyword', $keyword); $q->bindParam(':keyword', $keyword);
$q->bindParam(':search', $search);
$statuses = implode(',', $status); $statuses = implode(',', $status);
$q->bindParam(':statuses', $statuses); $q->bindParam(':statuses', $statuses);
$q->execute(); $q->execute();

View File

@@ -193,7 +193,9 @@ function search20UsersFromNByStatus($n, $keyword, $status) {
return $q; return $q;
} }
function searchSomeUsersByStatus($n, $m, $keyword, $status) { function searchSomeUsersByStatus($n, $m, $search, $status) {
// parentheses not needed in where clause, for clarity as
// role search should override status filter.
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
`userID`, `userID`,
@@ -203,8 +205,9 @@ function searchSomeUsersByStatus($n, $m, $keyword, $status) {
FROM FROM
`user` `user`
WHERE WHERE
`username` LIKE :keyword AND (`username` LIKE :keyword AND
FIND_IN_SET (`role`, :statuses) FIND_IN_SET (`role`, :statuses)) OR
`role` = :search
ORDER BY ORDER BY
`role`, `role`,
`username` `username`
@@ -212,8 +215,9 @@ function searchSomeUsersByStatus($n, $m, $keyword, $status) {
:n, :m :n, :m
"); ");
$keyword = "%$keyword%"; $keyword = "%$search%";
$q->bindParam(':keyword', $keyword); $q->bindParam(':keyword', $keyword);
$q->bindParam(':search', $search);
$q->bindParam(':n', $n, PDO::PARAM_INT); $q->bindParam(':n', $n, PDO::PARAM_INT);
$q->bindParam(':m', $m, PDO::PARAM_INT); $q->bindParam(':m', $m, PDO::PARAM_INT);
$statuses = implode(',', $status); $statuses = implode(',', $status);
@@ -222,22 +226,24 @@ function searchSomeUsersByStatus($n, $m, $keyword, $status) {
return $q; return $q;
} }
function countSomeUsersByStatus($keyword, $status) { function countSomeUsersByStatus($search, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
COUNT(*) COUNT(*)
FROM FROM
`user` `user`
WHERE WHERE
`username` LIKE :keyword AND (`username` LIKE :keyword AND
FIND_IN_SET (`role`, :statuses) FIND_IN_SET (`role`, :statuses)) OR
`role` = :search
ORDER BY ORDER BY
`role`, `role`,
`username` `username`
"); ");
$keyword = "%$keyword%"; $keyword = "%$search%";
$q->bindParam(':keyword', $keyword); $q->bindParam(':keyword', $keyword);
$q->bindParam(':search', $search);
$statuses = implode(',', $status); $statuses = implode(',', $status);
$q->bindParam(':statuses', $statuses); $q->bindParam(':statuses', $statuses);
$q->execute(); $q->execute();