daux.io/libs/Tree/Root.php

62 lines
1.2 KiB
PHP

<?php namespace Todaymade\Daux\Tree;
use Todaymade\Daux\Config;
class Root extends Directory
{
/** @var Config */
protected $config;
/** @var Entry */
protected $activeNode;
/**
* The root doesn't have a parent.
*/
public function __construct(Config $config)
{
$this->setConfig($config);
$this->setUri($config->getDocumentationDirectory());
$this->path = $config->getDocumentationDirectory();
}
public function getConfig(): Config
{
return $this->config;
}
public function setConfig(Config $config)
{
$this->config = $config;
}
public function isHotPath(Entry $node = null): bool
{
if ($node == null) {
return true;
}
if ($this->activeNode == null) {
return false;
}
if ($node == $this->activeNode) {
return true;
}
foreach ($this->activeNode->getParents() as $parent) {
if ($node === $parent) {
return true;
}
}
return false;
}
public function setActiveNode(Entry $node)
{
$this->activeNode = $node;
}
}