/** * @see Tx_PtExtbase_Tree_TreeWalkerVisitorInterface::doFirstVisit() * * @param Tx_PtExtbase_Tree_NodeInterface $node * @param integer &$index Holds the visitation index of treewalker * @param integer &$level Holds level of visitation in tree, starting at 1 */ public function doFirstVisit(Tx_PtExtbase_Tree_NodeInterface $node, &$index, &$level) { $nodeUid = $node->getUid(); $metadata = ''; $arrayForNode = array('data' => $node->getLabel(), 'attr' => array('id' => $node->getUid(), 'data-meta' => trim($metadata), 'disabled' => !$node->isAccessible()), 'children' => array()); $this->nodeStack->push($arrayForNode); }
/** * Updates a given node if it has already been added to repository or adds it. * * @param Tx_PtExtbase_Tree_NodeInterface $node */ public function updateOrAdd(Tx_PtExtbase_Tree_NodeInterface $node) { if ($node->getUid() === null || $node->getUid() < 0) { // UID of node < 0 means, node has not yet been persisted! $node->markAsNew(); $this->add($node); } else { // UID of node > 0 means, node has been persisted before! $this->update($node); } }
/** * @see Tx_PtExtbase_Tree_TreeWalkerVisitorInterface::doFirstVisit() * * @param Tx_PtExtbase_Tree_NodeInterface $node * @param integer &$index Holds the visitation index of treeWalker * @param integer &$level Holds level of visitation in tree, starting at 1 * @throws Exception */ public function doFirstVisit(Tx_PtExtbase_Tree_NodeInterface $node, &$index, &$level) { $arrayForNode = array('id' => $node->getUid(), 'text' => $node->getLabel(), 'children' => array(), 'leaf' => !$node->hasChildren(), 'cls' => $node->isAccessible() ? '' : 'disabled'); $this->setSelectionOnNodeArray($node, $arrayForNode); if ($this->firstVisitCallback) { $return = call_user_func(array($this->firstVisitCallback['target'], $this->firstVisitCallback['method']), $node, $arrayForNode); if ($return === false) { throw new Exception('It was not possible to call ' . get_class($this->firstVisitCallback['target']) . '::' . $this->firstVisitCallback['method'], 1328468070); } else { $arrayForNode = $return; } } $this->nodeStack->push($arrayForNode); }
/** * @see Tx_PtExtbase_Tree_TreeWalkerVisitorInterface::doFirstVisit() * * @param Tx_PtExtbase_Tree_NodeInterface $node * @param integer &$index Holds the visitation index of treewalker * @param integer &$level Holds level of visitation in tree, starting at 1 */ public function doFirstVisit(Tx_PtExtbase_Tree_NodeInterface $node, &$index, &$level) { $arrayForNode = array('uid' => $node->getUid(), 'label' => $node->getLabel(), 'children' => array(), 'disabled' => !$node->isAccessible()); $this->nodeStack->push($arrayForNode); }