Code

Converted buttons:
[gosa.git] / gosa-core / include / class_pathNavigator.inc
index 601b8908294b97cfd890a12ee1b035f9d9c02ffd..1fe3908b5408d893c99baccf40de7ecceb898392 100644 (file)
@@ -3,10 +3,10 @@
 class pathNavigator
 {
 
-  static function registerPlugin($class)
+  static function registerPlugin($class, $title= "")
   {
     
-    $str = $title = "";
+    $str = "";
 
     // Display headline of management plugins
     if($class instanceOf management && isset($class->plHeadline)){
@@ -30,15 +30,22 @@ 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}");
-        $title = $class->dn;
+        if(empty($title)){
+          $title = $class->dn;
+        }
       }
     }