fobe-web/html_api/group/roles.php

62 lines
1.7 KiB
PHP

<?php
/*
Alphaland 2021
*/
//headers
header("Access-Control-Allow-Origin: https://www.alphaland.cc");
header("access-control-allow-credentials: true");
header('Content-Type: application/json');
//get params
$groupid = (int)$_GET['id'];
$rank = (int)$_GET['rank'];
$exclude = (int)$_GET['excluderank'];
//query
$query = "SELECT * FROM group_roles WHERE groupid = :gid" . (!empty($rank) && is_int($rank)?" AND rank = ".$rank." ":" ") . (!empty($exclude) && is_int($exclude)?" AND rank < ".$exclude." ":" " . "ORDER BY rank DESC");
// Prepare the query
$roles = $pdo->prepare($query);
$roles->bindParam(":gid", $groupid, PDO::PARAM_INT);
$roles->execute();
$jsonData = array();
foreach($roles as $role)
{
$rolename = cleanOutput($role['rolename']);
$rolerank = (int)$role['rank'];
$accessgroupwall = (bool)$role['AccessGroupWall'];
$postgroupwall = (bool)$role['PostGroupWall'];
$deletegroupwall = (bool)$role['DeleteGroupWallPosts'];
$postgroupshout = (bool)$role['PostGroupShout'];
$managelowerranks = (bool)$role['ManageLowerRanks'];
$kicklowerranks = (bool)$role['KickLowerRanks'];
$acceptjoinrequests = (bool)$role['AcceptJoinRequests'];
$viewauditlog = (bool)$role['ViewAuditLog'];
$roleInfo = array(
"name" => $rolename,
"members" => rankMemberCount($groupid, $rolerank),
"rank" => $rolerank,
"wallViewPermission" => $accessgroupwall,
"wallPostPermission" => $postgroupwall,
"wallDeletePermission" => $deletegroupwall,
"postShoutPermission" => $postgroupshout,
"manageLowerRankPermission" => $managelowerranks,
"kickLowerRankPermission" => $kicklowerranks,
"acceptJoinRequestPermission" => $acceptjoinrequests,
"viewAuditLogPermission" => $viewauditlog
);
array_push($jsonData, $roleInfo);
}
// ...
die(json_encode($jsonData));