From: hickert Date: Wed, 20 Oct 2010 08:54:56 +0000 (+0000) Subject: Added error reporting to ldap::generateLdif X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=0ed162eab385e3ffce0c425f9ada70434b004746;p=gosa.git Added error reporting to ldap::generateLdif git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6@20094 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/gosa-core/include/class_ldap.inc b/gosa-core/include/class_ldap.inc index de41a1081..82263242c 100644 --- a/gosa-core/include/class_ldap.inc +++ b/gosa-core/include/class_ldap.inc @@ -884,12 +884,21 @@ class LDAP{ } $scope = (!empty($scope))?' -s '.$scope: ''; + // First check if we are able to call 'ldapsearch' on the command line. + $check = shell_exec('which ldapsearch'); + if(empty($check)){ + $this->error = sprintf(_("Missing command line programm '%s'!"), 'ldapsearch'); + return(NULL); + } + // Prepare parameters to be valid for shell execution $dn = escapeshellarg($dn); $pwd = $this->bindpw; $host = escapeshellarg($this->hostname); $admin = escapeshellarg($this->binddn); $filter = escapeshellarg($filter); + + $cmd = "ldapsearch -x -LLLL -D {$admin} {$filter} {$limit} {$scope} -H {$host} -b {$dn} -W "; // Create list of process pipes @@ -913,7 +922,8 @@ class LDAP{ // Close the process and check its return value if(proc_close($process) != 0){ - trigger_error($err); + $this->error = $err; + return(NULL); } } return($res);