Jarves\ContentRender::filterContentsForAccess PHP Метод

filterContentsForAccess() защищенный Метод

Filters $contents and returns only $content items which have valid access. (is visible, accessible by current user etc)
protected filterContentsForAccess ( Content[] $contents ) : array
$contents Jarves\Model\Content[]
Результат array
    protected function filterContentsForAccess($contents)
    {
        $filteredContents = [];
        foreach ($contents as $content) {
            $access = true;
            if (is_string($content)) {
                $filteredContents[] = $content;
                continue;
            }
            if ($content->getAccessFrom() + 0 > 0 && $content->getAccessFrom() > time() || $content->getAccessTo() + 0 > 0 && $content->getAccessTo() < time()) {
                $access = false;
            }
            if ($content->getHide()) {
                $access = false;
            }
            if ($access && $content->getAccessFromGroups()) {
                $access = false;
                $groups = ',' . $content->getAccessFromGroups() . ',';
                $userGroups = $this->pageStack->getUser()->getUserGroups();
                foreach ($userGroups as $group) {
                    if (strpos($groups, ',' . $group->getGroupId() . ',') !== false) {
                        $access = true;
                        break;
                    }
                }
                if (!$access) {
                    $adminGroups = $this->pageStack->getUser()->getUserGroups();
                    foreach ($adminGroups as $group) {
                        if (strpos($groups, ',' . $group->getGroupId() . ',') !== false) {
                            $access = true;
                            break;
                        }
                    }
                }
            }
            if ($access) {
                $filteredContents[] = $content;
            }
        }
        return $filteredContents;
    }