getRemovedLeafNodesRecursive() public method

Example #1
0
 public function getRemovedLeafNodesRecursive()
 {
     $leaf_nodes = array();
     foreach ($this->base->getNodes() as $node) {
         if ($node instanceof TreeNode) {
             if ($this->comparison->hasNodeNamed($node->getName())) {
                 $comp_tree = $this->comparison->getNodeNamed($node->getName())->getTree();
             } else {
                 $comp_tree = new Tree();
             }
             $diff = new TreeDiff($node->getTree(), $comp_tree);
             foreach ($diff->getRemovedLeafNodesRecursive() as $leaf_node) {
                 $leaf_nodes[$node->getName() . '/' . $leaf_node->getName()] = $leaf_node;
             }
         } else {
             if (!$this->comparison->hasNodeNamed($node->getName())) {
                 $leaf_nodes[$node->getName()] = $node;
             }
         }
     }
     return $leaf_nodes;
 }