X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_ldap.inc;h=e5809d72099e075eb69c1fdbd23d80e1c098f6b7;hb=0adbff1190cf5933e2f48f5c9022496de7bade2e;hp=a319babbe808523c53ac01ad1d3b7e777586485d;hpb=6c554a9db47698ef2e53a257bd828fe673355346;p=gosa.git diff --git a/include/class_ldap.inc b/include/class_ldap.inc index a319babbe..e5809d720 100644 --- a/include/class_ldap.inc +++ b/include/class_ldap.inc @@ -1,7 +1,7 @@ + Copyright (C) 2003 Alejandro Escanero Blanco Copyright (C) 2004-2006 Cajus Pollmeier Based in code of ldap.inc of @@ -197,6 +197,7 @@ class LDAP{ } } + $this->log("LDAP operation: time=".get_MicroTimeDiff($start,microtime())." operation=search('".$this->fix($this->basedn)."', '$filter')"); return($this->sr); }else{ $this->error = "Could not connect to LDAP server"; @@ -229,6 +230,8 @@ class LDAP{ } } + $this->log("LDAP operation: time=".get_MicroTimeDiff($start,microtime())." operation=ls('".$this->fix($basedn)."', '$filter')"); + return($this->sr); }else{ $this->error = "Could not connect to LDAP server"; @@ -527,7 +530,7 @@ class LDAP{ /* If this is no department */ foreach($attr as $key => $value){ - if(in_array($key ,array("FAItemplateFile","FAIscript", "gotoLogonScript", "gosaApplicationIcon"))){ + if(in_array($key ,array("FAItemplateFile","FAIscript", "gotoLogonScript", "gosaApplicationIcon","gotoMimeIcon"))){ $sr= ldap_read($this->cid, $this->fix($sourcedn), "$key=*", array($key)); $ei= ldap_first_entry($this->cid, $sr); if ($tmp= @ldap_get_values_len($this->cid, $ei,$key)){ @@ -545,7 +548,7 @@ class LDAP{ unset($attr['count']); unset($attr['dn']); - if(!in_array("gosaApplication" , $attr['objectClass'])){ + if((!in_array("gosaApplication" , $attr['objectClass'])) && (!in_array("gotoMimeType", $attr['objectClass']))){ if($type=="branch"){ $attr['FAIstate'] ="branch"; }elseif($type=="freeze"){ @@ -642,7 +645,7 @@ class LDAP{ } $real_path= substr($target, 0, strlen($target) - strlen($this->basedn) -1 ); - $l= array_reverse(ldap_explode_dn($real_path,0)); + $l= array_reverse(gosa_ldap_explode_dn($real_path)); unset($l['count']); $cdn= $this->basedn; $tag= ""; @@ -1095,7 +1098,7 @@ class LDAP{ if(isset($data['dn'])) { /* Fix dn */ - $tmp = ldap_explode_dn($data['dn'],0); + $tmp = gosa_ldap_explode_dn($data['dn']); unset($tmp['count']); $newdn =""; foreach($tmp as $tm){ @@ -1149,7 +1152,7 @@ class LDAP{ $ret = $this->modify($data); } } - show_ldap_error($this->get_error(),_("Ldap import failed")); + show_ldap_error($this->get_error(), sprintf(_("Ldap import with dn '%s' failed."),$dn)); return($ret); } @@ -1205,6 +1208,15 @@ class LDAP{ return $objectclasses; } + function log($string) + { + if (isset($_SESSION['config'])){ + $cfg= $_SESSION['config']; + if (isset($cfg->current['LDAPSTATS']) && preg_match('/true/i', $cfg->current['LDAPSTATS'])){ + syslog (LOG_INFO, $string); + } + } + } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: