use Syndicate\Entities\Session; use Syndicate\Entities\Privilege; use Syndicate\Repositories\TimezoneRepository; $save_timezone = function (Request $request, Response $response) { $parser = new RequestParser($request); $data = $parser->getData(); $timezone = new Timezone(); $timezone->hydrate($data); $errors = $timezone->validateData(); if (!empty($errors)) { $new_response = $response->withStatus(400); $r = array("errors" => $errors); $new_response->getBody()->write(json_encode($r)); return $new_response; } TimezoneRepository::saveTimezone($timezone); $response->getBody()->write(json_encode($timezone)); return $response; }; $app->post("/timezone/save", $save_timezone); $get_timezones = function (Request $request, Response $response) { $session = Session::getAuthenicatedSession(); $parser = new RequestParser($request); $data = $parser->getData(); $user_id = $session->getUser()->getId(); if (!empty($data['user_id'])) { $user_id = $data['user_id']; } /* if( $session->getUser()->hasPrivilege( Privilege::MANAGE_ALL_TIMEZONES ) ) {