Code

Updated acl/actions
[gosa.git] / include / functions.inc
index e3254ed350608a960fe680f3845b36bf2da280fd..6eda98aa4bc95f3afb0029a6819c388369b4a30e 100644 (file)
@@ -2194,6 +2194,7 @@ function gosa_ldap_explode_dn($dn,$config = NULL,$verify_in_ldap=false)
   $Diff = ldap_explode_dn($dn,0);
 
   /* Lets start */
+  $called = false;
   while(preg_match("/,/",$dn) && $next &&  $cnt < $max){
 
     $cnt ++;
@@ -2203,6 +2204,8 @@ function gosa_ldap_explode_dn($dn,$config = NULL,$verify_in_ldap=false)
     $object = preg_replace("/[,].*$/","",$dn);
     $dn     = preg_replace("/^[^,]+,/","",$dn);
 
+    $called = true;
+
     /* Check if current dn is valid */
     if($ldap!=NULL){
       $ldap->cd($dn);
@@ -2220,7 +2223,10 @@ function gosa_ldap_explode_dn($dn,$config = NULL,$verify_in_ldap=false)
   }
 
   /* Append the rest */
-  $ret[] = $keep.$dn;
+  $test = $keep.$dn;
+  if($called && !empty($test)){
+    $ret[] = $keep.$dn;
+  }
   $ret['count'] = count($ret) - 1;
 
   $diff = array_diff($ret,$Diff);