- comma-separated list explosion fixed!
This commit is contained in:
parent
be7513be2f
commit
9bb77e8c4e
@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
function explode_list(string $str) : array {
|
function explode_list(string $str) : array {
|
||||||
if (trim($str) !== "") {
|
if (($str = trim($str, " \n\r\t\v\0,")) !== "") {
|
||||||
return explode(",", str_replace(" ", "", $str));
|
return array_map(fn($a) => trim($a), explode(",", str_replace(" ", "", $str)));
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ $success = false;
|
|||||||
$user = null;
|
$user = null;
|
||||||
$nickname = "";
|
$nickname = "";
|
||||||
$privilege = PRIVILEGE_NONE;
|
$privilege = PRIVILEGE_NONE;
|
||||||
$is_quizmaster = false;
|
|
||||||
// --------
|
// --------
|
||||||
|
|
||||||
// create request handler
|
// create request handler
|
||||||
@ -94,7 +94,6 @@ if ((session_status() != PHP_SESSION_ACTIVE) || (!isset($_SESSION["nickname"]))
|
|||||||
$user = $userMgr->getUser($_SESSION["nickname"]);
|
$user = $userMgr->getUser($_SESSION["nickname"]);
|
||||||
$nickname = $user->getNickname();
|
$nickname = $user->getNickname();
|
||||||
$privilege = $user->getPrivilege();
|
$privilege = $user->getPrivilege();
|
||||||
$is_quizmaster = $privilege === PRIVILEGE_QUIZMASTER;
|
|
||||||
$groupMgr = new GroupMgr();
|
$groupMgr = new GroupMgr();
|
||||||
$gameMgr = new GameMgr();
|
$gameMgr = new GameMgr();
|
||||||
$testMgr = new TestMgr();
|
$testMgr = new TestMgr();
|
||||||
@ -320,7 +319,7 @@ if ($privilege === PRIVILEGE_PLAYER) {
|
|||||||
|
|
||||||
/* --------------- CREATOR LEVEL ACTIONS ---------------- */
|
/* --------------- CREATOR LEVEL ACTIONS ---------------- */
|
||||||
|
|
||||||
$requester_nickname = $is_quizmaster ? "*" : $nickname; // "*" means every game
|
$requester_nickname = $user->hasQuizmasterPrivilege() ? "*" : $nickname; // "*" means every game
|
||||||
|
|
||||||
function create_update_game(ReqHandler &$rh, array $params): array
|
function create_update_game(ReqHandler &$rh, array $params): array
|
||||||
{
|
{
|
||||||
@ -479,7 +478,7 @@ function export_game_file_csv(ReqHandler &$rh, array $params): string
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_player_results_by_gameid(ReqHandler &$rh, array $params): array
|
function get_results_by_gameid(ReqHandler &$rh, array $params): array
|
||||||
{
|
{
|
||||||
global $gameMgr;
|
global $gameMgr;
|
||||||
global $testMgr;
|
global $testMgr;
|
||||||
@ -524,7 +523,7 @@ $rh->add("get_all_game_headers", [], PRIVILEGE_CREATOR, "get_all_game_headers",
|
|||||||
$rh->add("get_challenges", [], PRIVILEGE_CREATOR, "get_challenges", RESP_PLAIN, "Get game challenges.");
|
$rh->add("get_challenges", [], PRIVILEGE_CREATOR, "get_challenges", RESP_PLAIN, "Get game challenges.");
|
||||||
$rh->add("delete_games", ["ids"], PRIVILEGE_CREATOR, "delete_games", RESP_PLAIN, "Delete games.");
|
$rh->add("delete_games", ["ids"], PRIVILEGE_CREATOR, "delete_games", RESP_PLAIN, "Delete games.");
|
||||||
$rh->add("export_game_file_csv", ["gameid"], PRIVILEGE_CREATOR, "export_game_file_csv", RESP_NONE, "Export game CSV file.");
|
$rh->add("export_game_file_csv", ["gameid"], PRIVILEGE_CREATOR, "export_game_file_csv", RESP_NONE, "Export game CSV file.");
|
||||||
$rh->add("get_results_by_gameid", ["gameid"], PRIVILEGE_CREATOR, "get_player_results_by_gameid", RESP_JSON, "Get game results.");
|
$rh->add("get_results_by_gameid", ["gameid"], PRIVILEGE_CREATOR, "get_results_by_gameid", RESP_JSON, "Get game results.");
|
||||||
$rh->add("generate_detailed_stats", ["gameid", "testids"], PRIVILEGE_CREATOR, "generate_detailed_game_stats", RESP_JSON, "Generate detailed game stats.");
|
$rh->add("generate_detailed_stats", ["gameid", "testids"], PRIVILEGE_CREATOR, "generate_detailed_game_stats", RESP_JSON, "Generate detailed game stats.");
|
||||||
$rh->add("delete_tests", ["ids"], PRIVILEGE_CREATOR, "delete_tests", RESP_PLAIN, "Delete tests.");
|
$rh->add("delete_tests", ["ids"], PRIVILEGE_CREATOR, "delete_tests", RESP_PLAIN, "Delete tests.");
|
||||||
|
|
||||||
@ -590,7 +589,7 @@ function delete_groups(ReqHandler &$rh, array $params): string
|
|||||||
return "OK";
|
return "OK";
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_all_player_groups(ReqHandler &$rh, array $params): array
|
function get_all_groups(ReqHandler &$rh, array $params): array
|
||||||
{
|
{
|
||||||
global $groupMgr;
|
global $groupMgr;
|
||||||
$groups = $groupMgr->getAllGroups();
|
$groups = $groupMgr->getAllGroups();
|
||||||
@ -601,7 +600,7 @@ function get_all_player_groups(ReqHandler &$rh, array $params): array
|
|||||||
return $a;
|
return $a;
|
||||||
}
|
}
|
||||||
|
|
||||||
function search_player_groups(ReqHandler &$rh, array $params): array
|
function search_groups(ReqHandler &$rh, array $params): array
|
||||||
{
|
{
|
||||||
global $groupMgr;
|
global $groupMgr;
|
||||||
$groups = $groupMgr->searchGroups($params["needle"]);
|
$groups = $groupMgr->searchGroups($params["needle"]);
|
||||||
@ -660,7 +659,7 @@ function delete_users(ReqHandler &$rh, array $params): string
|
|||||||
return "OK";
|
return "OK";
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_all_game_users(ReqHandler &$rh, array $params): array
|
function get_all_users(ReqHandler &$rh, array $params): array
|
||||||
{
|
{
|
||||||
global $userMgr;
|
global $userMgr;
|
||||||
$user_data_filtered = [];
|
$user_data_filtered = [];
|
||||||
@ -718,13 +717,13 @@ function import_users_from_csv(ReqHandler &$rh, array $params): string
|
|||||||
$rh->add("create_group", ["groupname", "description"], PRIVILEGE_QUIZMASTER, "create_update_group", RESP_PLAIN, "Create group.");
|
$rh->add("create_group", ["groupname", "description"], PRIVILEGE_QUIZMASTER, "create_update_group", RESP_PLAIN, "Create group.");
|
||||||
$rh->add("update_group", ["groupname", "description", "owner", "editors", "id"], PRIVILEGE_QUIZMASTER, "create_update_group", RESP_PLAIN, "Update group.");
|
$rh->add("update_group", ["groupname", "description", "owner", "editors", "id"], PRIVILEGE_QUIZMASTER, "create_update_group", RESP_PLAIN, "Update group.");
|
||||||
$rh->add("delete_groups", ["ids"], PRIVILEGE_QUIZMASTER, "delete_groups", RESP_PLAIN, "Delete group.");
|
$rh->add("delete_groups", ["ids"], PRIVILEGE_QUIZMASTER, "delete_groups", RESP_PLAIN, "Delete group.");
|
||||||
$rh->add("get_all_groups", [], PRIVILEGE_QUIZMASTER, "get_all_player_groups", RESP_JSON, "Get all player groups.");
|
$rh->add("get_all_groups", [], PRIVILEGE_QUIZMASTER, "get_all_groups", RESP_JSON, "Get all player groups.");
|
||||||
$rh->add("search_groups", ["needle"], PRIVILEGE_QUIZMASTER, "search_player_groups", RESP_JSON, "Serach and fetch player groups.");
|
$rh->add("search_groups", ["needle"], PRIVILEGE_QUIZMASTER, "search_groups", RESP_JSON, "Serach and fetch player groups.");
|
||||||
$rh->add("change_group_members", ["groupid", "add", "remove"], PRIVILEGE_QUIZMASTER,"change_group_members", RESP_PLAIN, "Change group members.");
|
$rh->add("change_group_members", ["groupid", "add", "remove"], PRIVILEGE_QUIZMASTER,"change_group_members", RESP_PLAIN, "Change group members.");
|
||||||
|
|
||||||
$rh->add(["create_user", "update_user"], ["nickname", "password", "realname", "privilege"], PRIVILEGE_QUIZMASTER, "create_update_user", RESP_PLAIN, "Create or update user.");
|
$rh->add(["create_user", "update_user"], ["nickname", "password", "realname", "privilege"], PRIVILEGE_QUIZMASTER, "create_update_user", RESP_PLAIN, "Create or update user.");
|
||||||
$rh->add("delete_users", ["users"], PRIVILEGE_QUIZMASTER, "delete_users", RESP_PLAIN, "Delete users.");
|
$rh->add("delete_users", ["users"], PRIVILEGE_QUIZMASTER, "delete_users", RESP_PLAIN, "Delete users.");
|
||||||
$rh->add("get_all_users", [], PRIVILEGE_QUIZMASTER, "get_all_game_users", RESP_JSON, "Get all users.");
|
$rh->add("get_all_users", [], PRIVILEGE_QUIZMASTER, "get_all_users", RESP_JSON, "Get all users.");
|
||||||
$rh->add("get_user_groups", ["nickname"], PRIVILEGE_QUIZMASTER, "get_user_groups", RESP_JSON, "Get user's groups.");
|
$rh->add("get_user_groups", ["nickname"], PRIVILEGE_QUIZMASTER, "get_user_groups", RESP_JSON, "Get user's groups.");
|
||||||
$rh->add("get_game_groups", ["gameid"], PRIVILEGE_QUIZMASTER, "get_game_groups", RESP_JSON, "Get game's groups.");
|
$rh->add("get_game_groups", ["gameid"], PRIVILEGE_QUIZMASTER, "get_game_groups", RESP_JSON, "Get game's groups.");
|
||||||
$rh->add("import_users_from_csv", [], PRIVILEGE_QUIZMASTER, "import_users_from_csv", RESP_JSON, "Get all users.");
|
$rh->add("import_users_from_csv", [], PRIVILEGE_QUIZMASTER, "import_users_from_csv", RESP_JSON, "Get all users.");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user