]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #5522. Only adding children elements to menu items if they haven't already...
authorBrett Profitt <brett.profitt@gmail.com>
Thu, 23 May 2013 16:35:06 +0000 (12:35 -0400)
committerBrett Profitt <brett.profitt@gmail.com>
Thu, 23 May 2013 16:35:06 +0000 (12:35 -0400)
engine/classes/ElggMenuBuilder.php

index 198018f3ce2cc83ecee8ce508f625ee39dd17edf..26b0de7342af6db1f9c61526cc46b4f181826498 100644 (file)
@@ -128,8 +128,11 @@ class ElggMenuBuilder {
                                        $parent_name = $menu_item->getParentName();
                                        if (array_key_exists($parent_name, $current_gen)) {
                                                $next_gen[$menu_item->getName()] = $menu_item;
-                                               $current_gen[$parent_name]->addChild($menu_item);
-                                               $menu_item->setParent($current_gen[$parent_name]);
+                                               $data = $current_gen[$parent_name]->getData();
+                                               if (!in_array($menu_item, $current_gen[$parent_name]->getData('children'))) {
+                                                       $current_gen[$parent_name]->addChild($menu_item);
+                                                       $menu_item->setParent($current_gen[$parent_name]);
+                                               }
                                                unset($children[$index]);
                                        }
                                }