Code

Updated class ldap::generateLdif
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 30 Apr 2010 06:52:23 +0000 (06:52 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 30 Apr 2010 06:52:23 +0000 (06:52 +0000)
-Fixed parameter and add comments.

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@17983 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/class_ldap.inc

index 5d815810e9134838bb49e6f4e8d0f5f98b6e8b89..c34036c32bbfe61ff5a123c3985a403bd468ec91 100644 (file)
@@ -857,17 +857,27 @@ class LDAP{
   }
 
 
+  /*! \brief  Generates an ldif for all entries matching the filter settings, scope and limit.
+   *  @param  $dn           The entry to export.
+   *  @param  $filter       Limit the exported object to those maching this filter.
+   *  @param  $attributes   Specify the attributes to export here, empty means all.
+   *  @param  $scope        'base', 'sub' .. see manpage for 'ldapmodify' for details.
+   *  @param  $limit        Limits the result.
+   */
   function generateLdif ($dn, $filter= "(objectClass=*)", $attributes= array(), $scope = 'sub', $limit=0)
   {
-    $host = $this->hostname;
-    $attrs  = (count($attributes))?implode($attributes,' '):'';
-    $scope = (!empty($scope))?' -s '.$scope: '';
-    $limit = (!$limit)?'':' -z '.$limit;
-    $dn = escapeshellarg($dn);
-    $cmd = "ldapsearch -x -LLLL '{$filter}' {$limit} {$scope} -H '{$host}' -b {$dn} $attrs";
-    exec($cmd, $ret,$code);
-    $res = implode($ret,"\n");
-    return($res);
+      $attrs  = (count($attributes))?implode($attributes,' '):'';
+      $scope = (!empty($scope))?' -s '.$scope: '';
+      $limit = (!$limit)?'':' -z '.$limit;
+      $dn = escapeshellarg($dn);
+      $admin = escapeshellarg($this->binddn);
+      $pwd = escapeshellarg($this->bindpw);
+      $filter = escapeshellarg($filter);
+      $host = escapeshellarg($this->hostname);
+      $cmd = "ldapsearch -x -LLLL -D {$admin} -w {$pwd} {$filter} {$limit} {$scope} -H {$host} -b {$dn} $attrs";
+      exec($cmd, $ret,$code);
+      $res = implode($ret,"\n");
+      return($res);
   }