X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_ldap.inc;h=af263e184ce2e20d7da94a5c1b93db695829b8bd;hb=5157b75e725a6b5079c06e413e3264369703ad22;hp=17acd751de48a23cee5c39ccfc25359b2f49db2b;hpb=276bccef2e66d21a62ccbcf667b7089f6a3af454;p=gosa.git diff --git a/gosa-core/include/class_ldap.inc b/gosa-core/include/class_ldap.inc index 17acd751d..af263e184 100644 --- a/gosa-core/include/class_ldap.inc +++ b/gosa-core/include/class_ldap.inc @@ -210,7 +210,7 @@ class LDAP{ } else { $basedn = LDAP::convert($basedn); } - return(ereg_replace("[^,]*[,]*[ ]*(.*)", "\\1", $basedn)); + return(preg_replace("/[^,]*[,]*[ ]*(.*)/", "$1", $basedn)); } @@ -662,7 +662,8 @@ class LDAP{ } else { $type= preg_replace('/^([^=]+)=.*$/', '\\1', $cdn); - $param= preg_replace('/^[^=]+=([^,]+).*$/', '\\1', $cdn); + $param= LDAP::fix(preg_replace('/^[^=]+=([^,]+).*$/', '\\1', $cdn)); + $param=preg_replace(array('/\\\\,/','/\\\\"/'),array(',','"'),$param); $na= array(); @@ -1012,7 +1013,7 @@ class LDAP{ /* Append lines ... */ if(!empty($tmp2)) { /* check if we need base64_decode for this line */ - if(ereg("::",$tmp2)) + if(strstr($tmp2, "::") !== false) { $encoded = explode("::",$entry); $attr = trim($encoded[0]); @@ -1294,7 +1295,11 @@ class LDAP{ break; case ')': if ($name != ""){ - $objectclasses[$ocname][$name]= $this->value2container($value); + $v = $this->value2container($value); + if(in_array($name, array('MUST', 'MAY')) && !is_array($v)){ + $v = array($v); + } + $objectclasses[$ocname][$name]= $v; } $name= ""; $value= ""; @@ -1309,7 +1314,11 @@ class LDAP{ case 'MUST': case 'MAY': if ($name != ""){ - $objectclasses[$ocname][$name]= $this->value2container($value); + $v = $this->value2container($value); + if(in_array($name, array('MUST', 'MAY')) && !is_array($v)){ + $v = array($v); + } + $objectclasses[$ocname][$name]= $v; } $name= $chunk; $value= "";