diff --git a/public/include/pages/api/getuserworkers.inc.php b/public/include/pages/api/getuserworkers.inc.php index 23bdcf5d..9aaca562 100644 --- a/public/include/pages/api/getuserworkers.inc.php +++ b/public/include/pages/api/getuserworkers.inc.php @@ -5,17 +5,19 @@ if (!defined('SECURITY')) die('Hacking attempt'); // Check user token -$id = $user->checkApiKey($_REQUEST['api_key']); +$user_id = $user->checkApiKey($_REQUEST['api_key']); // We have to check if that user is admin too -if ( ! $user->isAdmin($id) ) { +if ( ! $user->isAdmin($user_id) && ($_REQUEST['id'] != $user_id && !empty($_REQUEST['id']))) { header("HTTP/1.1 401 Unauthorized"); die("Access denied"); +} else if ($user->isAdmin($user_id)) { + $id = $_REQUEST['id']; + ctype_digit($_REQUEST['id']) ? $id = $_REQUEST['id'] : $id = $user->getUserId($_REQUEST['id']); +} else { + $id = $user_id; } -// Is it a username or a user ID -ctype_digit($_REQUEST['id']) ? $id = $_REQUEST['id'] : $id = $user->getUserId($_REQUEST['id']); - // Output JSON format echo json_encode(array('getuserworkers' => $worker->getWorkers($id)));