From 33a640329bde6628bd1630d7218084f94d522b86 Mon Sep 17 00:00:00 2001 From: Lars van Hijfte Date: Thu, 26 Jan 2017 13:53:59 +0100 Subject: [PATCH] Filter on search page It also works with jquery now --- website/public/API/searchGroups.php | 28 +++++++ website/public/API/searchUsers.php | 27 +++++++ website/public/bits/friend-item.php | 42 ++++------ website/public/bits/group-item.php | 14 ---- website/public/styles/main.css | 14 ++-- website/public/styles/menu.css | 19 +++-- website/queries/friendship.php | 45 ++++++++++- website/queries/group_member.php | 27 +++++++ website/queries/group_page.php | 2 +- website/queries/private_message.php | 2 +- website/queries/user.php | 13 ++-- website/views/header.php | 1 - website/views/menu.php | 30 ++++--- website/views/search-view.php | 117 +++++++++++++++------------- 14 files changed, 248 insertions(+), 133 deletions(-) create mode 100644 website/public/API/searchGroups.php create mode 100644 website/public/API/searchUsers.php diff --git a/website/public/API/searchGroups.php b/website/public/API/searchGroups.php new file mode 100644 index 0000000..8568b29 --- /dev/null +++ b/website/public/API/searchGroups.php @@ -0,0 +1,28 @@ + $friend) { $friendshipStatus = getFriendshipStatus($friend->userID); - - if ($limit != 0 && $i >= $limit) - $extra = "extra-friend-item"; - else - $extra = ""; ?>
  • @@ -60,15 +49,13 @@ foreach($friends as $i => $friend) {
    1) { + if ($friendshipStatus == 2) { + $denyName = "Annuleer"; + } else { + $denyName = "Weiger"; + } ?> -
    - - +
    @@ -76,11 +63,19 @@ foreach($friends as $i => $friend) { onclick="editFriendship('userID ?>', 'accept')" class='accept-notification' value='1'> - + Accepteer + +
    $friend) { $limit) { - ?> -
  • - Meer vrienden... -
  • - diff --git a/website/public/bits/group-item.php b/website/public/bits/group-item.php index 0a5831c..92eccfc 100644 --- a/website/public/bits/group-item.php +++ b/website/public/bits/group-item.php @@ -22,17 +22,3 @@ foreach($groups as $i => $group) { -
  • -
    - - - -
    -
  • diff --git a/website/public/styles/main.css b/website/public/styles/main.css index b8f39ee..abda8be 100644 --- a/website/public/styles/main.css +++ b/website/public/styles/main.css @@ -252,16 +252,20 @@ div[data-title]:hover:after { font-family: Arial, sans-serif; } -.friend { - -} - - .friend-item, .group-item { cursor: pointer; transition-duration: 250ms; } +.friend-item button, .group-item button { + background: none; + color: inherit; + width: 100%; + height: 100%; + padding: 0; + text-align: left; +} + .friend-item:hover, .group-item:hover { background: #FBC02D; box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); diff --git a/website/public/styles/menu.css b/website/public/styles/menu.css index 7e16443..303b9bc 100644 --- a/website/public/styles/menu.css +++ b/website/public/styles/menu.css @@ -34,15 +34,6 @@ cursor: pointer; } -.menu button { - background: none; - color: inherit; - width: 100%; - height: 100%; - padding: 0; - text-align: left; -} - #notification-center { left: auto; width: 236px; @@ -67,7 +58,6 @@ .notification-options { width: 100%; - text-align: center; display: none; } @@ -87,4 +77,13 @@ .friend-item:hover .notification-options { display: inline-block; +} + +.menu button { + background: none; + color: inherit; + width: 100%; + height: 100%; + padding: 0; + text-align: left; } \ No newline at end of file diff --git a/website/queries/friendship.php b/website/queries/friendship.php index 57dacd8..a1a23d8 100644 --- a/website/queries/friendship.php +++ b/website/queries/friendship.php @@ -94,7 +94,7 @@ function selectAllFriendRequests() { `friendship`.`user2ID` = `user`.`userID` OR `friendship`.`user2ID` = :userID AND `friendship`.`user1ID` = `user`.`userID`) AND - `user`.`role` != 5 AND + `user`.`role` != 'banned' AND `friendship`.`status` = 'requested' "); @@ -217,4 +217,47 @@ function setLastVisited($friend) { $stmt->execute(); return $stmt; +} + +function searchSomeFriends($n, $m, $search) { + $stmt = $GLOBALS["db"]->prepare(" + SELECT + `userID`, + `username`, + LEFT(CONCAT(`user`.`fname`, ' ', `user`.`lname`), 15) as `fullname`, + IFNULL( + `profilepicture`, + '../img/avatar-standard.png' + ) AS profilepicture, + `onlinestatus`, + `role` + 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` + LIMIT + :n, :m + "); + + $search = "%$search%"; + $stmt->bindParam(':keyword', $search); + $stmt->bindParam(':userID', $_SESSION["userID"], PDO::PARAM_INT); + $stmt->bindParam(':n', $n, PDO::PARAM_INT); + $stmt->bindParam(':m', $m, PDO::PARAM_INT); + $stmt->execute(); + return json_encode($stmt->fetchAll()); } \ No newline at end of file diff --git a/website/queries/group_member.php b/website/queries/group_member.php index a188494..cba339f 100644 --- a/website/queries/group_member.php +++ b/website/queries/group_member.php @@ -27,3 +27,30 @@ function selectLimitedGroupsFromUser($userID, $limit) { return json_encode($stmt->fetchAll()); } +function searchSomeOwnGroups($n, $m, $search) { + $stmt = $GLOBALS["db"]->prepare(" + SELECT + `group_page`.`name`, + `group_page`.`picture` + 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 + LIMIT + :n, :m + "); + + $search = "%$search%"; + $stmt->bindParam(':keyword', $search); + $stmt->bindParam(':userID', $_SESSION["userID"], PDO::PARAM_INT); + $stmt->bindParam(':n', $n, PDO::PARAM_INT); + $stmt->bindParam(':m', $m, PDO::PARAM_INT); + $stmt->execute(); + + return json_encode($stmt->fetchAll()); +} diff --git a/website/queries/group_page.php b/website/queries/group_page.php index 9a3461d..f3de045 100644 --- a/website/queries/group_page.php +++ b/website/queries/group_page.php @@ -192,7 +192,7 @@ function searchSomeGroups($n, $m, $search) { $stmt->bindParam(':n', $n, PDO::PARAM_INT); $stmt->bindParam(':m', $m, PDO::PARAM_INT); $stmt->execute(); - return $stmt; + return json_encode($stmt->fetchAll()); } function countSomeGroups($search) { diff --git a/website/queries/private_message.php b/website/queries/private_message.php index e708541..fecea2b 100644 --- a/website/queries/private_message.php +++ b/website/queries/private_message.php @@ -83,7 +83,7 @@ function selectAllUnreadChat() { `user`.`userID`, IFNULL( `profilepicture`, - '../img/notbad.jpg' + '../img/avatar-standard.png' ) AS profilepicture, LEFT(`private_message`.`content`, 15) as `content` FROM diff --git a/website/queries/user.php b/website/queries/user.php index be06197..6c4834d 100644 --- a/website/queries/user.php +++ b/website/queries/user.php @@ -316,17 +316,16 @@ function selectRandomNotFriendUser($userID) { return $stmt->fetch(); } -function searchSomeUsers($n, $m, $search) -{ +function searchSomeUsers($n, $m, $search) { $stmt = $GLOBALS["db"]->prepare(" SELECT + `userID`, `username`, IFNULL( `profilepicture`, - '../img/notbad.jpg' + '../img/avatar-standard.png' ) AS profilepicture, - `fname`, - `lname` + LEFT(CONCAT(`user`.`fname`, ' ', `user`.`lname`), 15) as `fullname` FROM `user` WHERE @@ -345,8 +344,10 @@ function searchSomeUsers($n, $m, $search) $stmt->bindParam(':keyword', $search); $stmt->bindParam(':n', $n, PDO::PARAM_INT); $stmt->bindParam(':m', $m, PDO::PARAM_INT); + $stmt->execute(); - return $stmt; + + return json_encode($stmt->fetchAll()); } function countSomeUsers($search) { diff --git a/website/views/header.php b/website/views/header.php index 8d1a466..9d2aa56 100644 --- a/website/views/header.php +++ b/website/views/header.php @@ -12,7 +12,6 @@ $userinfo = getHeaderInfo(); -

    - Groepen + Top groepen

    +
    + +
    \ No newline at end of file diff --git a/website/views/search-view.php b/website/views/search-view.php index 83d5bc0..8d1f0ac 100644 --- a/website/views/search-view.php +++ b/website/views/search-view.php @@ -5,11 +5,11 @@ $user_perpage = $group_perpage = 20; $user_currentpage = $group_currentpage = 1; if (isset($_GET['user-pageselect'])) { - $user_currentpage = $_GET['user-pageselect']; + $user_currentpage = test_input($_GET['user-pageselect']); } if (isset($_GET['group-pageselect'])) { - $group_currentpage = $_GET['group-pageselect']; + $group_currentpage = test_input($_GET['group-pageselect']); } if (isset($_GET['search'])) { @@ -17,7 +17,7 @@ if (isset($_GET['search'])) { } if (isset($_GET['filter'])) { - $filter = $_GET['filter']; + $filter = test_input($_GET['filter']); } $user_n = ($user_currentpage - 1) * $user_perpage; @@ -45,18 +45,12 @@ $group_count = countSomeGroups($search)->fetchColumn(); Filter: fetchColumn(); ?> -