function menu_service_process in Services 6.2
Same name and namespace in other branches
- 6 services/menu_service/menu_service.inc \menu_service_process()
- 7 services/menu_service/menu_service.inc \menu_service_process()
Recursively returns menu items, optionally limited by an array of fields.
Parameters
$data: The menu item whose children should be returned
$fields: An array of fields to be returned, for use in limiting the size of data returned to only that which is necessary.
$language: The language code of the menu to return. Defaults to default language.
Return value
Array. All children menu items from a given menu item.
1 call to menu_service_process()
- menu_service_get in services/
menu_service/ menu_service.inc - Get the menu from the database.
File
- services/
menu_service/ menu_service.inc, line 55 - Adds a service type for a menu
Code
function menu_service_process($data, $fields, $language) {
$out = array();
if (is_array($data)) {
foreach ($data as $item) {
$tmp = new stdClass();
if ($fields) {
foreach ($fields as $field) {
$tmp->{$field} = $item['link'][$field];
}
}
else {
$tmp = (object) $item['link'];
}
if (!$fields || in_array('path_alias', $fields, TRUE)) {
$tmp->path_alias = drupal_get_path_alias($item['link']['link_path'], $language);
}
$tmp->children = menu_service_process($item['below'], $fields, $language);
$out[] = $tmp;
}
}
return $out;
}