Code

Fixed selfmade ldap_explode_dn function
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 4 Oct 2006 10:35:35 +0000 (10:35 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 4 Oct 2006 10:35:35 +0000 (10:35 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@4849 594d385d-05f5-0310-b6e9-bd551577e9d8

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);