/** * Is this node closed in this tree? * @param FOLDER $node * @return boolean * @access private */ public function closed($node) { if (!isset($this->open_nodes) || !sizeof($this->open_nodes)) { return $node->id != $this->app->root_folder_id; } return parent::closed($node); }
/** * Renders the given array of nodes. * @param TREE_NODE[] $nodes * @access private */ public function iterate_nodes($nodes) { $count = count($nodes); $index = 0; $sub_nodes = array(); $sub_node_has_children = false; while ($index < $count) { $node = $nodes[$index]; if ($node) { $node_sub_nodes = $this->node_info->sub_nodes($node); $sub_node_has_children = $sub_node_has_children || !empty($node_sub_nodes); $sub_nodes[] = $node_sub_nodes; } else { $sub_nodes[] = array(); } $index += 1; } $index = 0; while ($index < $count) { $node = $nodes[$index]; if (isset($this->decorator)) { $this->decorator->node_found($node); } $this->iterate_node($node, $index == $count - 1, $sub_nodes[$index], $sub_node_has_children); $index += 1; } }