diff --git a/include/class_baseSelector.inc b/include/class_baseSelector.inc index f43b83092620945c0d5fb97ef6554d5adc01a392..bbe0bdce47ebd7935961c0582c14c192b2df594f 100644 --- a/include/class_baseSelector.inc +++ b/include/class_baseSelector.inc @@ -212,6 +212,7 @@ class baseSelector $this->tree .= "<div class='treeList' style='display:none;max-height:".$this->height."px' id='bs_".$this->pid."' onmouseover=\"window.clearTimeout(rtimer);\" onmouseout=\"rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\"><a class='treeList$selected' $link>/ ["._("Root")."]</a><ul class='treeList'>\n"; $first = TRUE; $last_indent = 2; + $last_base = ''; foreach ($this->pathMapping as $base => $dummy) { // Skip root for tree @@ -226,6 +227,18 @@ class baseSelector if (!$first && ($indent == $last_indent)) { $this->tree .= "</li>\n"; } elseif ($indent > $last_indent) { + $parent_base = implode(',', array_slice($elements, 1)).$config->current['BASE']; + if (!$first && ($parent_base != $last_base)) { + /* Our parent is missing, add it but without link */ + $this->tree .= "</li>\n"; + $this->tree .= '<li><a title="'.$parent_base.'">'. + '<img class="center" '. + 'src="'.htmlentities($config->department_info[$parent_base]['img'], ENT_COMPAT, 'UTF-8').'" '. + 'alt=""/> '. + $this->escape($config->department_info[$parent_base]['name']). + (($config->department_info[$parent_base]['description'] == '') ? '' : ' <span class="informal">['.$this->escape($config->department_info[$parent_base]['description']).']</span>'). + '</a>'; + } $this->tree .= "<ul>\n"; } elseif ($indent < $last_indent) { for ($i = 0; $i < ($last_indent - $indent); $i++) { @@ -244,6 +257,7 @@ class baseSelector '</a>'; $last_indent = $indent; + $last_base = $base; $first = FALSE; }