index 1f2baab3e41cfef1fa6d308329bb6b7b27c4fcd6..a1b6a87022d1cf05efebaac63ecfcb7ae7340ce0 100644 (file)
} 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();
/* Get name of first matching objectClass */
$ocname= "";
foreach($classes as $class){
- if (isset($class['MUST']) && $class['MUST'] == "$type"){
+ if (isset($class['MUST']) && in_array($type, $class['MUST'])){
/* Look for first classes that is structural... */
if (isset($class['STRUCTURAL'])){
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= "";
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= "";