From 2cb14281668abaabfff6eeea1b20ad31efba7da6 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 13 Aug 2008 10:23:15 +0000 Subject: Fixed select class issue for submenus git-svn-id: https://code.elgg.org/elgg/trunk@1877 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'engine/lib/elgglib.php') diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index e8cc9878d..00a0c83ba 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -540,18 +540,40 @@ function get_submenu() { $submenu = ""; + global $CONFIG; if ($submenu_register = get_register('submenu')) { - foreach($submenu_register as $item) { + + $preselected = false; + $comparevals = array(); + $maxcompareval = 999999; + + foreach($submenu_register as $key => $item) { + + $comparevals[$key] = (levenshtein($item->value, $_SERVER['REQUEST_URI'])); + if ($comparevals[$key] < $maxcompareval) { + $maxcompareval = $comparevals[$key]; + $preselected = $key; + } + + } + + foreach($submenu_register as $key => $item) { - if (substr_count($item->value, $_SERVER['REQUEST_URI'])) { - $selected = true; + if (!$preselected) { + if (substr_count($item->value, $_SERVER['REQUEST_URI'])) { + $selected = true; + } else { + $selected = false; + } } else { - $selected = false; + if ($key == $preselected) { + $selected = true; + } else { + $selected = false; + } } - $submenu .= ""; - $submenu .= elgg_view('canvas_header/submenu_template', array( 'href' => $item->value, -- cgit v1.2.3