Todaymade\Daux\Format\Confluence\Generator::generateRecursive PHP Метод

generateRecursive() приватный Метод

private generateRecursive ( Directory $tree, Config $params, $base_url = '' )
$tree Todaymade\Daux\Tree\Directory
$params Todaymade\Daux\Config
    private function generateRecursive(Directory $tree, Config $params, $base_url = '')
    {
        $final = ['title' => $this->prefix . $tree->getTitle()];
        $params['base_url'] = $params['base_page'] = $base_url;
        $params['image'] = str_replace('<base_url>', $base_url, $params['image']);
        if ($base_url !== '') {
            $params['entry_page'] = $tree->getFirstPage();
        }
        foreach ($tree->getEntries() as $key => $node) {
            if ($node instanceof Directory) {
                $final['children'][$this->prefix . $node->getTitle()] = $this->generateRecursive($node, $params, '../' . $base_url);
            } elseif ($node instanceof Content) {
                $params['request'] = $node->getUrl();
                $contentType = $this->daux->getContentTypeHandler()->getType($node);
                $data = ['title' => $this->prefix . $node->getTitle(), 'file' => $node, 'page' => ContentPage::fromFile($node, $params, $contentType)];
                // As the page is lazily generated
                // We do it now to fail fast in case of problem
                $data['page']->getContent();
                if ($key == 'index.html') {
                    $final['title'] = $this->prefix . $tree->getTitle();
                    $final['file'] = $node;
                    $final['page'] = $data['page'];
                } else {
                    $final['children'][$data['title']] = $data;
                }
            }
        }
        return $final;
    }