diff options
| author | Brett Profitt <brett.profitt@gmail.com> | 2013-05-23 12:35:06 -0400 | 
|---|---|---|
| committer | Brett Profitt <brett.profitt@gmail.com> | 2013-05-23 12:35:06 -0400 | 
| commit | f49e7f3fbdf3173b4dc548eab568c5fae1b773d3 (patch) | |
| tree | 7087726f0ee187bc00da108d9dca7b0d935eec98 /engine/classes/ElggMenuBuilder.php | |
| parent | d86e7c479f30b958fed4e746536b8e402d91f0d6 (diff) | |
| download | elgg-f49e7f3fbdf3173b4dc548eab568c5fae1b773d3.tar.gz elgg-f49e7f3fbdf3173b4dc548eab568c5fae1b773d3.tar.bz2  | |
Fixes #5522. Only adding children elements to menu items if they haven't already been added.
Diffstat (limited to 'engine/classes/ElggMenuBuilder.php')
| -rw-r--r-- | engine/classes/ElggMenuBuilder.php | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/engine/classes/ElggMenuBuilder.php b/engine/classes/ElggMenuBuilder.php index 198018f3c..26b0de734 100644 --- a/engine/classes/ElggMenuBuilder.php +++ b/engine/classes/ElggMenuBuilder.php @@ -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]);  					}  				}  | 
