/** * @param mixed $ldapArray * @param AbstractEntity $entity * @return AbstractEntity */ public function reverseTransform($ldapArray, AbstractEntity $entity, $dn) { $entity->setDn($dn); $schemaClasses = $entity->getObjectClasses(); if (isset($ldapArray['createtimestamp'])) { $entity->setCreateTimestamp(new \DateTime($ldapArray['createtimestamp'][0])); } if (isset($ldapArray['modifytimestamp'])) { $entity->setModifyTimestamp(new \DateTime($ldapArray['modifytimestamp'][0])); } //force lower keynames $tmp = []; foreach ($ldapArray as $key => $value) { $tmp[strtolower($key)] = $value; } $ldapArray = $tmp; foreach ($ldapArray["objectclass"] as $key => $objectClass) { if ($key === 'count') { continue; } if (isset($schemaClasses[strtolower($objectClass)])) { $class = $schemaClasses[strtolower($objectClass)]; $entity->addObject($class, $ldapArray); } } return $entity; }