private function getRegionalFilterAccordWithUserPermission($userId, $requestedRegionalIdFilter) { $filterRegionalId = intval($requestedRegionalIdFilter); $regionalModel = new Model_Regional(); $userRegional = $regionalModel->getRegionalByUser($userId); if (!$userRegional) { throw new Exception('access denied'); } $isAdmin = $userRegional->getNational() === 'S'; $userRegionalId = $userRegional->getId(); if (!$isAdmin) { if ($filterRegionalId == null) { $filterRegionalId = $userRegionalId; } $this->validateUserPrivilegesAtRegional($userRegionalId, $filterRegionalId); } return $filterRegionalId; }