--- custom_breadcrumbs.module 2007-02-21 02:43:53.000000000 +0100 +++ custom_breadcrumbs.module 2008-07-01 13:08:31.000000000 +0200 @@ -46,20 +46,23 @@ function custom_breadcrumbs_perm() { function custom_breadcrumbs_nodeapi($node, $op, $teaser, $page) { if ($op == 'view' && !$teaser && $page) { if ($breadcrumb = _custom_breadcrumbs_load_for_type($node->type)) { - $titles = explode("\n", $breadcrumb->titles); - $paths = explode("\n", $breadcrumb->paths); + $titles = preg_split("/[\s]+/", $breadcrumb->titles); + $paths = preg_split("/[\s]+/", $breadcrumb->paths); $titles = module_exists('token') ? token_replace($titles, 'node', $node) : $titles; $paths = module_exists('token') ? token_replace($paths, 'node', $node) : $paths; $trail = array(l(t('Home'), '')); + $location = array(); for ($i = 0; $i < count($titles); $i++) { // skip empty titles if ($title = trim($titles[$i])) { $trail[] = l($title, trim($paths[$i])); + $location[$i] = drupal_get_normal_path($paths[$i]); } } drupal_set_breadcrumb($trail); + menu_set_active_item($location[count($location) -1]); } }