private function GrantOnSite(Site $site, BackendAction $action) { //Site user (creator) can do anything if ($this->GetUser()->Equals($site->GetUser())) { return GrantResult::Allowed(); } if (!$site->GetUserGroup() || !$site->GetUserGroupRights()) { return GrantResult::NoAccess(); } $groups = $this->GetGroups(); foreach ($groups as $group) { $result = $this->GrantGroupOnSite($group, $site, $action); if ($result->Equals(GrantResult::Allowed())) { return $result; } } return GrantResult::NoAccess(); }