index c34036c32bbfe61ff5a123c3985a403bd468ec91..bac40e5e07fd0a947cc96ca68801d06d1f1feb2b 100644 (file)
$this->hostname=$hostname;
/* Check if MAX_LDAP_QUERY_TIME is defined */
- if(is_object($config) && $config->get_cfg_value("ldapMaxQueryTime") != ""){
- $str = $config->get_cfg_value("ldapMaxQueryTime");
+ if(is_object($config) && $config->get_cfg_value("core","ldapMaxQueryTime") != ""){
+ $str = $config->get_cfg_value("core","ldapMaxQueryTime");
$this->max_ldap_query_time = (float)($str);
}
}
$this->log("LDAP operation: time=".(microtime(true)-$start)." operation=search('".LDAP::fix($this->basedn)."', '$filter')");
+
+ // Create statistic table entry
+ stats::log('ldap', $class = get_class($this), $category = array(), $action = __FUNCTION__,
+ $amount = 1, $duration = (microtime(TRUE) - $start));
return($this->sr[$srp]);
}else{
$this->error = "Could not connect to LDAP server";
$this->log("LDAP operation: time=".(microtime(true) - $start)." operation=ls('".LDAP::fix($basedn)."', '$filter')");
+ // Create statistic table entry
+ stats::log('ldap', $class = get_class($this), $category = array(), $action = __FUNCTION__,
+ $amount = 1, $duration = (microtime(TRUE) - $start));
+
return($this->sr[$srp]);
}else{
$this->error = "Could not connect to LDAP server";
return (0);
}
if($this->hascon){
+ $start = microtime(TRUE);
if ($this->reconnect) $this->connect();
$r = @ldap_modify($this->cid, LDAP::fix($this->basedn), $attrs);
$this->error = @ldap_error($this->cid);
if(!$this->success()){
$this->error.= $this->makeReadableErrors($this->error,$attrs);
}
+
+ // Create statistic table entry
+ stats::log('ldap', $class = get_class($this), $category = array(), $action = __FUNCTION__,
+ $amount = 1, $duration = (microtime(TRUE) - $start));
return($r ? $r : 0);
}else{
$this->error = "Could not connect to LDAP server";
function add($attrs)
{
if($this->hascon){
+ $start = microtime(TRUE);
if ($this->reconnect) $this->connect();
$r = @ldap_add($this->cid, LDAP::fix($this->basedn), $attrs);
$this->error = @ldap_error($this->cid);
if(!$this->success()){
$this->error.= $this->makeReadableErrors($this->error,$attrs);
}
+
+ // Create statistic table entry
+ stats::log('ldap', $class = get_class($this), $category = array(), $action = __FUNCTION__,
+ $amount = 1, $duration = (microtime(TRUE) - $start));
+
return($r ? $r : 0);
}else{
$this->error = "Could not connect to LDAP server";
$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");
+ $cmd = "ldapsearch -x -LLLL -D {$admin} -w {$pwd} {$filter} {$limit} {$scope} -H {$host} -b {$dn} $attrs ";
+ ob_start();
+ passthru($cmd);
+ $res=ob_get_contents();
+ ob_end_clean();
return($res);
}
$objectclasses = array();
global $config;
- /* Only read schema if it is allowed */
- if(isset($config) && preg_match("/config/i",get_class($config))){
- if ($config->get_cfg_value("schemaCheck") != "true"){
- return($objectclasses);
- }
- }
-
/* Return the cached results. */
if(class_available('session') && session::global_is_set("LDAP_CACHE::get_objectclasses") && !$force_reload){
$objectclasses = session::global_get("LDAP_CACHE::get_objectclasses");