public function MenutrailbypathMenuHelper::sortMenuLinksByMenuPreference in Menu Trail By Path 7.3
Sort menu_links by the menu preference order, see menu_set_active_menu_names() Stable sorting based on https://github.com/vanderlee/PHP-stable-sort-functions
Parameters
array $menu_links:
File
- src/
MenutrailbypathMenuHelper.inc, line 103
Class
Code
public function sortMenuLinksByMenuPreference(array &$menu_links) {
$menu_preference = array_flip(menu_get_active_menu_names());
$menu_preference_max = count($menu_preference);
$index = 0;
foreach ($menu_links as &$item) {
if (!isset($menu_preference[$item->menu_name])) {
$menu_preference[$item->menu_name] = $menu_preference_max;
}
$item = array(
$index++,
$item,
);
}
$usort_result = usort($menu_links, array(
new MenutrailbypathUsortMenulinks($menu_preference),
'compare',
));
foreach ($menu_links as &$item) {
$item = $item[1];
}
return $usort_result;
}