Code

Updated preg_matches
[gosa.git] / plugins / admin / fai / class_faiSummaryTab.inc
index 7d926bd3f4980c2553d41822c882bf5735a29cbf..3963f42cf1e210e2d496c437ad7a755ba7cf27f2 100644 (file)
@@ -67,6 +67,7 @@ class faiSummaryTab extends plugin{
       /* Get Classes and release */
       $this->Classes = $this->parent->by_object['faiProfile']->FAIclasses;
       $str = preg_replace("/^.*ou=profiles,/","",$this->dn);
+
       if(isset($tmp[$str])){
         $this->Release = $tmp[$str];
       }
@@ -81,8 +82,6 @@ class faiSummaryTab extends plugin{
         $this->Classes[] = $this->parent->by_object['workgeneric']->cn;
       }
  
-      print_a($tmp);
-   
       $tmp = array_flip($tmp);
       if(!isset($tmp[$this->Release])) {
         $this->Release = "";
@@ -144,18 +143,17 @@ class faiSummaryTab extends plugin{
   }
 
 
-  /* returns an array with all possibly release types */
-  function getBranches($base = false,$prefix = "")
+  function getBranches()
   {
-    $ret = array("main"=>"/");
+    $dn   = $this->config->current['BASE'];
     $ldap = $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $ldap->search("(objectClass=FAIbranch)",array("dn","cn","ou"));
+    $ldap->cd($dn);
+    $ldap->search("(&(objectClass=organizationalUnit)(objectClass=FAIbranch))",array("ou","cn","dn"));
+    $ret = array("main"=>"/");
     while($attrs = $ldap->fetch()){
-      if((isset($attrs['ou']))&&($attrs['dn']!=$base)){
+      if(preg_match("/ou=fai,/",$attrs['dn'])){
         $name = convert_department_dn(preg_replace("/,ou=fai,.*$/","",$attrs['dn']));
         $ret[$attrs['dn']] = $name;
-        $ret = array_merge($ret,$this->getBranches($attrs['dn'],$prefix.$attrs['ou'][0]."/"));
       }
     }
     return($ret);