X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_ldap.inc;h=45ffae7f4a4b8e8901985ea8ebc611cc49f089f1;hb=7eada0d8c03ea6bbe6e0bf41a789de38715eba9e;hp=1c8b758f287860581b6285bbf18ba288b20f3b0d;hpb=ccbf1e4e1c517ddb210bdedb46b70761e92ef23e;p=gosa.git diff --git a/gosa-core/include/class_ldap.inc b/gosa-core/include/class_ldap.inc index 1c8b758f2..45ffae7f4 100644 --- a/gosa-core/include/class_ldap.inc +++ b/gosa-core/include/class_ldap.inc @@ -120,7 +120,8 @@ class LDAP{ requests. I.e. member=.... */ static function prepare4filter($dn) { - return normalizeLdap(str_replace('\\\\', '\\\\\\', LDAP::fix($dn))); + $fixed= normalizeLdap(str_replace('\\\\', '\\\\\\', LDAP::fix($dn))); + return str_replace('\\,', '\\\\,', $fixed); } @@ -618,7 +619,7 @@ class LDAP{ } else { $type= preg_replace('/^([^=]+)=.*$/', '\\1', $cdn); - $param= preg_replace('/^[^=]+=([^,]+),.*$/', '\\1', $cdn); + $param= preg_replace('/^[^=]+=([^,]+).*$/', '\\1', $cdn); $na= array(); @@ -702,6 +703,9 @@ class LDAP{ $this->add($na); if (!$this->success()){ + + print_a(array($cdn,$na)); + msg_dialog::display(_("LDAP error"), msgPool::ldaperror($this->get_error(), $cdn, LDAP_ADD, get_class())); return FALSE; } @@ -1197,7 +1201,7 @@ class LDAP{ } - function get_objectclasses() + function get_objectclasses( $force_reload = FALSE) { $objectclasses = array(); global $config; @@ -1210,8 +1214,8 @@ class LDAP{ } /* Return the cached results. */ - if(class_available('session') && session::is_set("LDAP_CACHE::get_objectclasses")){ - $objectclasses = session::get("LDAP_CACHE::get_objectclasses"); + if(class_available('session') && session::global_is_set("LDAP_CACHE::get_objectclasses") && !$force_reload){ + $objectclasses = session::global_get("LDAP_CACHE::get_objectclasses"); return($objectclasses); } @@ -1274,7 +1278,7 @@ class LDAP{ } if(class_available("session")){ - session::set("LDAP_CACHE::get_objectclasses",$objectclasses); + session::global_set("LDAP_CACHE::get_objectclasses",$objectclasses); } return $objectclasses; @@ -1305,8 +1309,8 @@ class LDAP{ function log($string) { - if (session::is_set('config')){ - $cfg = session::get('config'); + if (session::global_is_set('config')){ + $cfg = session::global_get('config'); if (isset($cfg->current['LDAPSTATS']) && preg_match('/true/i', $cfg->current['LDAPSTATS'])){ syslog (LOG_INFO, $string); }