/** * Get a list of subtree Uids * * @param $nodeUid * @return array */ protected function getSubTreeUIDs($nodeUid) { $subtreeNodeIdArray = array(); $treeNode = $this->tree->getNodeByUid($nodeUid); if ($treeNode instanceof Tx_PtExtbase_Tree_Node) { $subTreeNodes = $treeNode->getSubNodes(); $subtreeNodeIdArray = array(); foreach ($subTreeNodes as $subTreeNode) { /** @var Tx_PtExtbase_Tree_Node $subTreeNode */ $subtreeNodeIdArray[] = $subTreeNode->getUid(); } } else { $subtreeNodeIdArray[] = -1; } return $subtreeNodeIdArray; }
/** * @param integer $nodeUid * @return array|null */ protected function buildPathFromNodeToRoot($nodeUid) { if (!array_key_exists($nodeUid, $this->nodePathCache)) { $node = $this->tree->getNodeByUid($nodeUid); $pathFromNodeToRoot = array(); if ($node instanceof Tx_PtExtbase_Tree_Node) { $pathFromNodeToRoot[] = $node; while ($node != $this->tree->getRoot()) { $node = $node->getParent(); $pathFromNodeToRoot[] = $node; } $this->nodePathCache[$nodeUid] = $pathFromNodeToRoot; } else { $this->nodePathCache[$nodeUid] = null; } } return $this->nodePathCache[$nodeUid]; }