From 58bb89f9b440150b54a74d63546a9b04a8a251db Mon Sep 17 00:00:00 2001 From: "K. Nobel" Date: Wed, 1 Feb 2017 12:19:59 +0100 Subject: [PATCH 1/2] Added queries and functions for adding group members. --- website/public/API/editMembership.php | 40 ++++++++++++++++++++++++ website/public/API/getGrouprole.php | 12 +++++++ website/queries/group_member.php | 45 +++++++++++++++++++++++++++ website/queries/group_page.php | 17 ++++++++++ 4 files changed, 114 insertions(+) create mode 100644 website/public/API/editMembership.php create mode 100644 website/public/API/getGrouprole.php diff --git a/website/public/API/editMembership.php b/website/public/API/editMembership.php new file mode 100644 index 0000000..dc5ef57 --- /dev/null +++ b/website/public/API/editMembership.php @@ -0,0 +1,40 @@ +fetchAll()); } + +function addMember($groupID, $userID, $role) { + $stmt = prepareQuery(" + INSERT INTO + `group_member` (`userID`, `groupID`, `role`) + VALUES + (:userID, :groupID, :role) + "); + + $stmt->bindParam(':userID', $userID); + $stmt->bindParam(':groupID', $groupID); + $stmt->bindParam(':role', $role); + return $stmt->execute(); +} + +function changeMember($groupID, $userID, $role) { + $stmt = prepareQuery(" + UPDATE + `group_member` + SET + `role` = :role + WHERE + `userID` = :userID AND + `groupID` = :groupID + "); + + $stmt->bindParam(':userID', $userID); + $stmt->bindParam(':groupID', $groupID); + $stmt->bindParam(':role', $role); + return $stmt->execute(); +} + +function deleteMember($groupID, $userID) { + $stmt = prepareQuery(" + DELETE FROM + `group_member` + WHERE + `userID` = :userID AND + `groupID` = :groupID + "); + + $stmt->bindParam(':userID', $userID); + $stmt->bindParam(':groupID', $groupID); + return $stmt->execute(); +} \ No newline at end of file diff --git a/website/queries/group_page.php b/website/queries/group_page.php index 83911f8..511ff4d 100644 --- a/website/queries/group_page.php +++ b/website/queries/group_page.php @@ -58,6 +58,23 @@ function selectGroupRole(int $groupID) { return $stmt->fetch()["role"]; } +function selectGroupStatus(int $groupID) { + $stmt = prepareQuery(" + SELECT + `status` + FROM + `group_page` + WHERE + `groupID` = :groupID + "); + + $stmt->bindParam(':groupID', $groupID, PDO::PARAM_INT); + if(!$stmt->execute()) { + return False; + } + return $stmt->fetch()["status"]; +} + function selectGroupMembers(int $groupID) { $stmt = prepareQuery(" SELECT From 69b0b24176b5cc058a5e5b6fb920b645b5da697e Mon Sep 17 00:00:00 2001 From: "K. Nobel" Date: Wed, 1 Feb 2017 12:26:05 +0100 Subject: [PATCH 2/2] Fixed group add/leave buttons --- website/public/group.php | 3 +++ website/public/js/groupButtons.js | 33 +++++++++++++++++++++++++++++++ website/public/styles/main.css | 1 + website/public/styles/profile.css | 16 ++++++++++++++- website/views/group.php | 7 +++---- 5 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 website/public/js/groupButtons.js diff --git a/website/public/group.php b/website/public/group.php index 5d9459e..eb860e3 100644 --- a/website/public/group.php +++ b/website/public/group.php @@ -40,12 +40,15 @@ if ($group["role"] == "mod" OR $group["role"] == "admin") { ?> + diff --git a/website/public/js/groupButtons.js b/website/public/js/groupButtons.js new file mode 100644 index 0000000..0f1b6bf --- /dev/null +++ b/website/public/js/groupButtons.js @@ -0,0 +1,33 @@ +function placeGroupButtons() { + $.post("API/getGrouprole.php", { grp: groupID }) + .done(function(data) { + var $buttonContainer = $("div.group-button-container"); + + if(data == 'none') { + $buttonContainer.append( + ""); + } else if(data == 'request') { + $buttonContainer.append( + ""); + } else { + $buttonContainer.append( + ""); + } + + $buttonContainer.children().click(function() { + $.post("API/editMembership.php", { grp: groupID, role: this.value }) + .done(function() { + $buttonContainer.children().remove(); + placeGroupButtons(); + }).fail(function() { + }); + }); + + }); +} \ No newline at end of file diff --git a/website/public/styles/main.css b/website/public/styles/main.css index baff345..5714217 100644 --- a/website/public/styles/main.css +++ b/website/public/styles/main.css @@ -94,6 +94,7 @@ p { .group-picture { border-radius: 5px; + border: none; } .item-box, .item-box-full-width { diff --git a/website/public/styles/profile.css b/website/public/styles/profile.css index 37aaaa1..4df42ce 100644 --- a/website/public/styles/profile.css +++ b/website/public/styles/profile.css @@ -18,7 +18,7 @@ display: inline-block; } -.friend-button-container button, .status-buttons-container button { +.friend-button-container button, .status-buttons-container button, .group-button-container button { display: block; margin: 7px 0; @@ -27,6 +27,10 @@ font-size: 18px; } +.group-button-container button { + float: right; +} + .empty-button { background: none; cursor: auto; @@ -51,8 +55,18 @@ width: 150px; height: 150px; margin-bottom: -45px; + + object-fit: cover; + vertical-align: middle; } +.group-picture { + border: none; + margin-bottom: 0; + margin-right: 15px; +} + + /* Old */ .profile-box h1.profile-username { diff --git a/website/views/group.php b/website/views/group.php index f2f797d..c12b552 100644 --- a/website/views/group.php +++ b/website/views/group.php @@ -1,11 +1,10 @@
- -
-

Groep verlaten

-
+ +

+