diff --git a/src/UnicaenApp/Entity/Ldap/AbstractEntity.php b/src/UnicaenApp/Entity/Ldap/AbstractEntity.php index cfc48efdf22e34cfd13d57394131e23b992fdfde..fcce80c1c01688aecc5eea9addf30376f66286f1 100644 --- a/src/UnicaenApp/Entity/Ldap/AbstractEntity.php +++ b/src/UnicaenApp/Entity/Ldap/AbstractEntity.php @@ -52,6 +52,24 @@ abstract class AbstractEntity * @return self */ abstract public function setData(array $data = array()); + + + + /** + * Prend un attribut LDAP en entrée. Si l'atribut a plusieurs valeurs on n'en prend qu'une seule + * + * @param $value + * + * @return mixed + */ + protected function uniqueValue($value) + { + if (is_array($value) && isset($value[0])){ + return $value[0]; + } + + return $value; + } /** * Simplifie le format d'une valeur d'un attribut. diff --git a/src/UnicaenApp/Entity/Ldap/People.php b/src/UnicaenApp/Entity/Ldap/People.php index f9411ca0a6968f4feef667b713ef96477738cab2..0d5f4d4ec60e021115f2c23583167ac5a59620a7 100644 --- a/src/UnicaenApp/Entity/Ldap/People.php +++ b/src/UnicaenApp/Entity/Ldap/People.php @@ -69,8 +69,8 @@ class People extends AbstractEntity $this->dn = $this->processDataValue('dn', true); $this->cn = $this->processDataValue('cn'); $this->datedenaissance = $this->processDataValue('datedenaissance'); - $this->displayname = $this->processDataValue('displayname'); - $this->givenname = $this->processDataValue('givenname'); + $this->displayname = $this->uniqueValue($this->processDataValue('displayname')); + $this->givenname = $this->uniqueValue($this->processDataValue('givenname')); $this->mail = $this->processDataValue('mail'); $this->postaladdress = $this->processDataValue('postaladdress'); $this->sexe = $this->processDataValue('sexe');