X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_pathNavigator.inc;h=6140e0e0146290e591bf152726ecba82c2dccc21;hb=9540255fc994b107abc71468c306d408e290d7bb;hp=520f03d75f69c16a75815cfa09dcd24ea76351e0;hpb=66ca221b61f85b89fbadb16aa125b046323b3184;p=gosa.git diff --git a/gosa-core/include/class_pathNavigator.inc b/gosa-core/include/class_pathNavigator.inc index 520f03d75..6140e0e01 100644 --- a/gosa-core/include/class_pathNavigator.inc +++ b/gosa-core/include/class_pathNavigator.inc @@ -5,7 +5,6 @@ class pathNavigator static function registerPlugin($class, $title= "") { - $str = ""; // Display headline of management plugins @@ -15,9 +14,7 @@ class pathNavigator // Shown title of sub dialogs (They have no plHeadline set.) if($class instanceOf plugin && !isset($class->plHeadline)){ - if(empty($class->pathTitle)){ - $str = "Missing: ".get_class($class); - }else{ + if(!empty($class->pathTitle)){ $str = _($class->pathTitle); } } @@ -30,12 +27,17 @@ class pathNavigator if(!session::is_set("pathNavigator::registerPlugin:{$class->dn}")){ global $config; $ldap = $config->get_ldap_link(); - $ldap->cat($class->dn, array('cn')); - if($ldap->count()){ - $attrs = $ldap->fetch(); - $str = $attrs['cn'][0]; + + if(!empty($class->dn)){ + $namingAttr = preg_replace("/^([^=]*)=.*$/","\\1",$class->dn); + + $ldap->cat($class->dn, array($namingAttr)); + if($ldap->count()){ + $attrs = $ldap->fetch(); + $str = $attrs[$namingAttr][0]; + } + session::set("pathNavigator::registerPlugin:{$class->dn}", $str); } - session::set("pathNavigator::registerPlugin:{$class->dn}", $str); } $str = session::get("pathNavigator::registerPlugin:{$class->dn}"); if(empty($title)){ @@ -51,26 +53,47 @@ class pathNavigator if(!empty($str)){ $cur = session::get('pathNavigator::position'); - - if(!empty($title)) $title = " title='{$title}' "; - - $cur.= "\n