本文整理汇总了PHP中DatabaseManager::validateScope方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseManager::validateScope方法的具体用法?PHP DatabaseManager::validateScope怎么用?PHP DatabaseManager::validateScope使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseManager
的用法示例。
在下文中一共展示了DatabaseManager::validateScope方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: DatabaseManager
if (!$_GET['type'] || !$_GET['username'] || !$_GET['scope'] || !$_GET['level']) {
json_p($INVALID);
}
$type = $_GET['type'];
$username = $_GET['username'];
$scope = $_GET['scope'];
$level = $_GET['level'];
if ($type !== "add" && $type !== "remove") {
json_p(['success' => false, 'reason' => "Expected values of add or remove for parameter type."]);
}
$user = Auth::user();
if (!$user) {
json_p(["success" => false, "This endpoint requires authentication."]);
}
$dbManager = new DatabaseManager();
if (!$dbManager->validateScope($scope)) {
json_p("Invalid room name.");
}
switch ($level) {
case "admin":
if (!$dbManager->isOwner($user, $scope)) {
json_p(['success' => false, 'reason' => "Only the room owner can appoint or demote admins."]);
}
json_p($dbManager->changePermission($type, $username, $scope, DatabaseManager::PERMISSION_LEVEL_ROOM_ADMIN));
break;
case "host":
case "ban":
if (!$dbManager->isOwnerOrAdmin($user, $scope)) {
json_p(['success' => false, 'reason' => "You don't have permission to do this."]);
}
json_p($dbManager->changePermission($type, $username, $scope, $level === "host" ? DatabaseManager::PERMISSION_LEVEL_ROOM_HOST : DatabaseManager::PERMISSION_LEVEL_ROOM_BANNED));