function menutrails_token_values in Menu TrailsMenu Trails 6
File
- ./
menutrails.module, line 339 - Menutrails allows the assignment of "trails" which will keep menu items active for individual node views.
Code
function menutrails_token_values($type, $object = NULL, $options = array()) {
if ($type == 'node') {
$node = $object;
$mlid = db_result(db_query("SELECT mlid FROM {menu_links} WHERE link_path = '%s'", 'node/' . $node->nid));
if (!empty($mlid) || !empty($node->menu['mlid']) || !empty($node->menu['plid'])) {
$menu_link = menu_link_load($mlid);
$trail_raw = _menu_titles($menu_link, $node->nid);
// Remove the node itself.
array_pop($trail_raw);
}
elseif ($item = menutrails_node_location($node)) {
$trail_raw = drupal_map_assoc(explode('/', $item['href']));
}
$trail = array();
if (!empty($trail_raw)) {
foreach ($trail_raw as $title) {
$trail[] = check_plain($title);
}
$tokens['menu-trail-parents-path-raw'] = !empty($options['pathauto']) ? $trail_raw : implode('/', $trail_raw);
$tokens['menu-trail-parents-path'] = !empty($options['pathauto']) ? $trail : implode('/', $trail);
}
else {
$tokens['menu-trail-parents-path-raw'] = NULL;
$tokens['menu-trail-parents-path'] = NULL;
}
return $tokens;
}
}