_menu_build_local_tasks
includes/menu.inc, строка 1338
- Версии
- 5
_menu_build_local_tasks($pid)
Find all the items in the current local task tree.
Since this is only for display, we only need title, path, and children for each item.
At the close of this function, $_menu
['local tasks'] is populated with the
menu items in the local task tree.
Возвращаемое значение
TRUE
if the local task tree is forked. It does not need to be displayed
otherwise.
Код
<?php
function _menu_build_local_tasks($pid) {
global $_menu;
$forked = FALSE;
if (isset($_menu['items'][$pid])) {
$parent = $_menu['items'][$pid];
$children = array();
if (isset($parent['children'])) {
foreach ($parent['children'] as $mid) {
if (($_menu['items'][$mid]['type'] & MENU_IS_LOCAL_TASK) && _menu_item_is_accessible($mid)) {
$children[] = $mid;
// Beware short-circuiting || operator!
$forked = _menu_build_local_tasks($mid) || $forked;
}
}
}
usort($children, '_menu_sort');
$forked = $forked || count($children) > 1;
$_menu['local tasks'][$pid] = array('title' => $parent['title'], 'path' => $parent['path'], 'children' => $children);
foreach ($children as $mid) {
$_menu['local tasks'][$mid]['pid'] = $pid;
}
}
return $forked;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии