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