Backend\Modules\Pages\Engine\CacheBuilder::getPageTreeType PHP Метод

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

protected getPageTreeType ( $page, &$pageData ) : string
$page array
$pageData array
Результат string
    protected function getPageTreeType($page, &$pageData)
    {
        // calculate tree-type
        $treeType = 'page';
        if ($page['hidden'] == 'Y') {
            $treeType = 'hidden';
        }
        // homepage should have a special icon
        if ($page['id'] == 1) {
            $treeType = 'home';
        } elseif ($page['id'] == 404) {
            $treeType = 'error';
        } elseif ($page['id'] < 404 && mb_substr_count($page['extra_ids'], $this->getSitemapId()) > 0) {
            // get extras
            $extraIDs = explode(',', $page['extra_ids']);
            // loop extras
            foreach ($extraIDs as $id) {
                // check if this is the sitemap id
                if ($id == $this->getSitemapId()) {
                    // set type
                    $treeType = 'sitemap';
                    // break it
                    break;
                }
            }
        }
        // any data?
        if (isset($page['data'])) {
            // get data
            $data = unserialize($page['data']);
            // internal alias?
            if (isset($data['internal_redirect']['page_id']) && $data['internal_redirect']['page_id'] != '') {
                $pageData['redirect_page_id'] = $data['internal_redirect']['page_id'];
                $pageData['redirect_code'] = $data['internal_redirect']['code'];
                $treeType = 'redirect';
            }
            // external alias?
            if (isset($data['external_redirect']['url']) && $data['external_redirect']['url'] != '') {
                $pageData['redirect_url'] = $data['external_redirect']['url'];
                $pageData['redirect_code'] = $data['external_redirect']['code'];
                $treeType = 'redirect';
            }
            // direct action?
            if (isset($data['is_action']) && $data['is_action']) {
                $treeType = 'direct_action';
            }
        }
        return $treeType;
    }