mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
[ticket/13740] Reduce number of references in nav provider
PHPBB3-13740
This commit is contained in:
parent
495c0c6fb3
commit
11dfe503aa
1 changed files with 12 additions and 6 deletions
|
@ -58,7 +58,7 @@ class navigation_provider
|
||||||
public function register(navigation_interface $navigation)
|
public function register(navigation_interface $navigation)
|
||||||
{
|
{
|
||||||
$nav_arry = $navigation->get();
|
$nav_arry = $navigation->get();
|
||||||
$this->merge($nav_arry, $this->menu_collection);
|
$this->menu_collection = $this->merge($nav_arry, $this->menu_collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -79,7 +79,7 @@ class navigation_provider
|
||||||
|
|
||||||
$array_pointer = $property_array;
|
$array_pointer = $property_array;
|
||||||
|
|
||||||
$this->merge($array_root_pointer, $this->menu_collection);
|
$this->menu_collection = $this->merge($array_root_pointer, $this->menu_collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -90,26 +90,32 @@ class navigation_provider
|
||||||
*
|
*
|
||||||
* @param array $array_to_merge
|
* @param array $array_to_merge
|
||||||
* @param array $array_to_merge_into
|
* @param array $array_to_merge_into
|
||||||
|
*
|
||||||
|
* @return array Merged array
|
||||||
*/
|
*/
|
||||||
private function merge(&$array_to_merge, &$array_to_merge_into)
|
private function merge($array_to_merge, $array_to_merge_into)
|
||||||
{
|
{
|
||||||
|
$merged_array = $array_to_merge_into;
|
||||||
|
|
||||||
foreach ($array_to_merge as $key => $value)
|
foreach ($array_to_merge as $key => $value)
|
||||||
{
|
{
|
||||||
if (isset($array_to_merge_into[$key]))
|
if (isset($array_to_merge_into[$key]))
|
||||||
{
|
{
|
||||||
if (is_array($array_to_merge_into[$key]) && is_array($value))
|
if (is_array($array_to_merge_into[$key]) && is_array($value))
|
||||||
{
|
{
|
||||||
$this->merge($value, $array_to_merge_into[$key]);
|
$merged_array[$key] = $this->merge($value, $array_to_merge_into[$key]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$array_to_merge_into[$key] = $value;
|
$merged_array[$key] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$array_to_merge_into[$key] = $value;
|
$merged_array[$key] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $merged_array;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue