/**
  * 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);
 }
Пример #2
0
 /**
  * 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;
     }
 }