X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_pathNavigator.inc;h=6140e0e0146290e591bf152726ecba82c2dccc21;hb=1069c3be6d2a5b9cf96c8decbc6bb95d42da32cc;hp=645626f231d84e6bac182b8901b50bb62928120a;hpb=bff8c8c6db58f8fff2a85d8e12b4f194866d2749;p=gosa.git
diff --git a/gosa-core/include/class_pathNavigator.inc b/gosa-core/include/class_pathNavigator.inc
index 645626f23..6140e0e01 100644
--- a/gosa-core/include/class_pathNavigator.inc
+++ b/gosa-core/include/class_pathNavigator.inc
@@ -53,26 +53,47 @@ class pathNavigator
if(!empty($str)){
$cur = session::get('pathNavigator::position');
-
- if(!empty($title)) $title = " title='{$title}' ";
-
- $cur.= "\n
{$str}";
+ $entry = array('TITLE' => $title, 'NAME' => $str);
+ $cur[] = $entry;
session::set('pathNavigator::position', $cur);
}
}
static function getCurrentPath()
{
- $path = session::get('pathNavigator::position');
+ // Ensure that we've a position value initialized.
+ if(!session::is_set('pathNavigator::position')) {
+ session::set('pathNavigator::position',array());
+ }
+
+ // Get position and validate its value
+ $list = session::get('pathNavigator::position');
+ if(!is_array($list)){
+ $list = array();
+ }
+
+ // Build up title and path string.
+ $path = "";
+ $sTitle = "";
+ foreach($list as $entry){
+ $title = (!empty($entry['TITLE']))? 'title="'.htmlentities(LDAP::fix($entry['TITLE']),ENT_COMPAT,'UTF-8').'"': '';
+ $path.= "\n{$entry['NAME']}";
+ $sTitle .= " - ".$entry['NAME'];
+ }
+
+ // If no path is given then show a simple 'Welcome to GOsa' string.
if(empty($path)){
$path = ""._("Welcome to GOsa")."";
}
+
+ $smarty = get_smarty();
+ $smarty->assign('title', 'GOsa '.$sTitle);
return($path);
}
static function clear()
{
- session::set('pathNavigator::position','');
+ session::set('pathNavigator::position', array());
}
}