diff --git a/website/public/API/searchPageNumber.php b/website/public/API/searchPageNumber.php
index 4a76516..9a12d79 100644
--- a/website/public/API/searchPageNumber.php
+++ b/website/public/API/searchPageNumber.php
@@ -6,6 +6,8 @@ require_once ("../../queries/connect.php");
require_once ("../../queries/checkInput.php");
require_once ("../../queries/user.php");
require_once ("../../queries/group_page.php");
+require_once ("../../queries/friendship.php");
+require_once ("../../queries/group_member.php");
$user_perpage = $group_perpage = 20;
@@ -25,14 +27,20 @@ if (isset($_POST['search'])) {
$search = test_input($_POST['search']);
}
-$user_count = countSomeUsers($search)->fetchColumn();
-$group_count = countSomeGroups($search)->fetchColumn();
-
$filter = "all";
if (isset($_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";
if (isset($_POST['option'])) {
$option = test_input($_POST['option']);
diff --git a/website/queries/friendship.php b/website/queries/friendship.php
index 450fd20..49d8047 100644
--- a/website/queries/friendship.php
+++ b/website/queries/friendship.php
@@ -274,4 +274,35 @@ function searchSomeFriends($n, $m, $search) {
$stmt->bindParam(':m', $m, PDO::PARAM_INT);
$stmt->execute();
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();
}
\ No newline at end of file
diff --git a/website/queries/group_member.php b/website/queries/group_member.php
index cea4dde..8b6bf75 100644
--- a/website/queries/group_member.php
+++ b/website/queries/group_member.php
@@ -54,3 +54,26 @@ function searchSomeOwnGroups($n, $m, $search) {
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();
+}
\ No newline at end of file
diff --git a/website/views/search-view.php b/website/views/search-view.php
index e42f985..f00fd3c 100644
--- a/website/views/search-view.php
+++ b/website/views/search-view.php
@@ -48,7 +48,12 @@ $group_n = ($group_currentpage - 1) * $group_perpage;
-