Added queries and functions for adding group members.
This commit is contained in:
40
website/public/API/editMembership.php
Normal file
40
website/public/API/editMembership.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
if(empty($_POST["grp"]) or empty($_POST["role"])) {
|
||||
header('HTTP/1.1 500 Non enough arguments');
|
||||
}
|
||||
|
||||
if(in_array($_POST["role"], array('request', 'member', 'banned', 'mod', 'admin'))) {
|
||||
header('HTTP/1.1 500 Wrong argument given for role');
|
||||
}
|
||||
|
||||
require_once ("../../queries/group_member.php");
|
||||
require_once ("../../queries/group_page.php");
|
||||
require_once ("../../queries/group_member.php");
|
||||
|
||||
$currentRole = selectGroupRole($_POST["grp"]);
|
||||
$groupStatus = selectGroupStatus($_POST["grp"]);
|
||||
echo "role: $currentRole status: $groupStatus ";
|
||||
|
||||
if($_POST["role"] == 'request' and $currentRole == 'none') {
|
||||
if($groupStatus = 'public') {
|
||||
// Add member to public group
|
||||
addMember($_POST["grp"], $_SESSION["userID"], 'member');
|
||||
echo "ADDED";
|
||||
} else if($groupStatus = 'membersonly') {
|
||||
// Send request to members only group
|
||||
addMember($_POST["grp"], $_SESSION["userID"], 'request');
|
||||
} else {
|
||||
// Can't invite yourself to hidden groups
|
||||
header('HTTP/1.1 500 This group is hidden');
|
||||
}
|
||||
header('HTTP/1.1 200');
|
||||
} else if($_POST["role"] == 'none' and $currentRole != 'none') {
|
||||
// Remove yourself from a group
|
||||
deleteMember($_POST["grp"], $_SESSION["userID"]);
|
||||
} else {
|
||||
echo "failure";
|
||||
header('HTTP/1.1 500 Wrong argument given for role');
|
||||
}
|
||||
12
website/public/API/getGrouprole.php
Normal file
12
website/public/API/getGrouprole.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
if(empty($_POST["grp"])) {
|
||||
header('HTTP/1.1 500 Non enough arguments');
|
||||
}
|
||||
|
||||
require_once("../../queries/group_page.php");
|
||||
|
||||
echo selectGroupRole($_POST["grp"]);
|
||||
|
||||
@@ -54,3 +54,48 @@ function searchSomeOwnGroups($n, $m, $search) {
|
||||
|
||||
return json_encode($stmt->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();
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user