Compare commits
6 Commits
marijn-pos
...
hendrik-se
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9c68d5f5f | ||
|
|
d027333bd7 | ||
|
|
12d5e00731 | ||
|
|
eb8eb5bf03 | ||
|
|
022893aca2 | ||
|
|
3c79d86abd |
@@ -6,11 +6,11 @@ require_once ("../../queries/connect.php");
|
|||||||
require_once ("../../queries/checkInput.php");
|
require_once ("../../queries/checkInput.php");
|
||||||
require_once ("../../queries/user.php");
|
require_once ("../../queries/user.php");
|
||||||
require_once ("../../queries/group_page.php");
|
require_once ("../../queries/group_page.php");
|
||||||
|
require_once ("../../queries/friendship.php");
|
||||||
|
require_once ("../../queries/group_member.php");
|
||||||
|
|
||||||
if (isset($_SESSION["userID"]) &&
|
if (isset($_SESSION["userID"]) &&
|
||||||
getRoleByID($_SESSION["userID"]) != 'banned') {
|
getRoleByID($_SESSION["userID"]) != 'banned') {$user_perpage = $group_perpage = 20;
|
||||||
|
|
||||||
$user_perpage = $group_perpage = 20;
|
|
||||||
|
|
||||||
$user_currentpage = $group_currentpage = 1;
|
$user_currentpage = $group_currentpage = 1;
|
||||||
if (isset($_POST['user-pageselect'])) {
|
if (isset($_POST['user-pageselect'])) {
|
||||||
@@ -28,14 +28,20 @@ if (isset($_SESSION["userID"]) &&
|
|||||||
$search = test_input($_POST['search']);
|
$search = test_input($_POST['search']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_count = countSomeUsers($search)->fetchColumn();
|
|
||||||
$group_count = countSomeGroups($search)->fetchColumn();
|
|
||||||
|
|
||||||
$filter = "all";
|
$filter = "all";
|
||||||
if (isset($_POST['filter'])) {
|
if (isset($_POST['filter'])) {
|
||||||
$filter = test_input($_POST['filter']);
|
$filter = test_input($_POST['filter']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($filter == "all") {
|
||||||
|
$user_count = countSomeUsers($search)->fetchColumn();
|
||||||
|
$group_count = countSomeGroups($search)->fetchColumn();
|
||||||
|
} else {
|
||||||
|
$user_count = countSomeFriends($search);
|
||||||
|
$group_count = countSomeOwnGroups($search);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$option = "user";
|
$option = "user";
|
||||||
if (isset($_POST['option'])) {
|
if (isset($_POST['option'])) {
|
||||||
$option = test_input($_POST['option']);
|
$option = test_input($_POST['option']);
|
||||||
|
|||||||
@@ -56,5 +56,5 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bancommentform input[type="text"] {
|
.bancommentform input[type="text"] {
|
||||||
width: 100%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
@@ -276,3 +276,34 @@ function searchSomeFriends($n, $m, $search) {
|
|||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
return json_encode($stmt->fetchAll());
|
return json_encode($stmt->fetchAll());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function countSomeFriends($search) {
|
||||||
|
$stmt = prepareQuery("
|
||||||
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
`user`
|
||||||
|
INNER JOIN
|
||||||
|
`friendship`
|
||||||
|
WHERE
|
||||||
|
((`friendship`.`user1ID` = :userID AND
|
||||||
|
`friendship`.`user2ID` = `user`.`userID` OR
|
||||||
|
`friendship`.`user2ID` = :userID AND
|
||||||
|
`friendship`.`user1ID` = `user`.`userID`) AND
|
||||||
|
`user`.`role` != 'banned' AND
|
||||||
|
`friendship`.`status` = 'confirmed') AND
|
||||||
|
(`username` LIKE :keyword OR
|
||||||
|
`fname` LIKE :keyword OR
|
||||||
|
`lname` LIKE :keyword)
|
||||||
|
ORDER BY
|
||||||
|
`fname`,
|
||||||
|
`lname`,
|
||||||
|
`username`
|
||||||
|
");
|
||||||
|
|
||||||
|
$search = "%$search%";
|
||||||
|
$stmt->bindParam(':keyword', $search);
|
||||||
|
$stmt->bindParam(':userID', $_SESSION["userID"], PDO::PARAM_INT);
|
||||||
|
$stmt->execute();
|
||||||
|
return $stmt->fetchColumn();
|
||||||
|
}
|
||||||
@@ -55,6 +55,29 @@ function searchSomeOwnGroups($n, $m, $search) {
|
|||||||
return json_encode($stmt->fetchAll());
|
return json_encode($stmt->fetchAll());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function countSomeOwnGroups($search) {
|
||||||
|
$stmt = prepareQuery("
|
||||||
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
`group_page`
|
||||||
|
INNER JOIN
|
||||||
|
`group_member`
|
||||||
|
WHERE
|
||||||
|
`group_member`.`userID` = :userID AND
|
||||||
|
`group_member`.`groupID` = `group_page`.`groupID` AND
|
||||||
|
`group_page`.`status` != 'hidden' AND
|
||||||
|
`name` LIKE :keyword
|
||||||
|
");
|
||||||
|
|
||||||
|
$search = "%$search%";
|
||||||
|
$stmt->bindParam(':keyword', $search);
|
||||||
|
$stmt->bindParam(':userID', $_SESSION["userID"], PDO::PARAM_INT);
|
||||||
|
$stmt->execute();
|
||||||
|
|
||||||
|
return $stmt->fetchColumn();
|
||||||
|
}
|
||||||
|
|
||||||
function addMember($groupID, $userID, $role) {
|
function addMember($groupID, $userID, $role) {
|
||||||
$stmt = prepareQuery("
|
$stmt = prepareQuery("
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
|
|||||||
@@ -193,7 +193,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`,
|
||||||
@@ -203,16 +205,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);
|
||||||
@@ -221,21 +225,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();
|
||||||
|
|||||||
@@ -205,7 +205,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`,
|
||||||
@@ -219,8 +221,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`
|
||||||
@@ -228,8 +231,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);
|
||||||
@@ -238,22 +242,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();
|
||||||
|
|||||||
@@ -48,7 +48,12 @@ $group_n = ($group_currentpage - 1) * $group_perpage;
|
|||||||
<label for="filter">
|
<label for="filter">
|
||||||
Filter:
|
Filter:
|
||||||
</label>
|
</label>
|
||||||
<select name="filter" id="search-filter">
|
<select name="filter"
|
||||||
|
id="search-filter"
|
||||||
|
onchange="$('#user-pagenumber, #group-pagenumber').prop('value', 1);
|
||||||
|
searchUsers();
|
||||||
|
searchGroups();
|
||||||
|
pageNumber();">
|
||||||
<option value="personal"
|
<option value="personal"
|
||||||
<?php if ($filter == "personal") echo "selected";?>>
|
<?php if ($filter == "personal") echo "selected";?>>
|
||||||
Persoonlijk</option>
|
Persoonlijk</option>
|
||||||
|
|||||||
Reference in New Issue
Block a user