diff options
Diffstat (limited to 'modules/taxonomy/taxonomy.module')
-rw-r--r-- | modules/taxonomy/taxonomy.module | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index a0fa34ac6..3be800183 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -913,11 +913,12 @@ function taxonomy_get_tree($vid, $parent = 0, $depth = -1, $max_depth = NULL) { if ($children[$vid][$parent]) { foreach ($children[$vid][$parent] as $child) { if ($max_depth > $depth) { - $terms[$vid][$child]->depth = $depth; + $term = drupal_clone($terms[$vid][$child]); + $term->depth = $depth; // The "parent" attribute is not useful, as it would show one parent only. - unset($terms[$vid][$child]->parent); - $terms[$vid][$child]->parents = $parents[$vid][$child]; - $tree[] = $terms[$vid][$child]; + unset($term->parent); + $term->parents = $parents[$vid][$child]; + $tree[] = $term; if ($children[$vid][$child]) { $tree = array_merge($tree, taxonomy_get_tree($vid, $child, $depth, $max_depth)); |