From 5c11a62e033c82132216f0e608411840e1e35b15 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 28 Mar 2019 16:17:51 +0100 Subject: [PATCH] ldap-contact-suggestion/findNameAndEmail: fix if value is mono-valuated or attr camelCased --- .../LdapContactsSuggestions.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/ldap-contacts-suggestions/LdapContactsSuggestions.php b/plugins/ldap-contacts-suggestions/LdapContactsSuggestions.php index f8c985709c..29551e9147 100644 --- a/plugins/ldap-contacts-suggestions/LdapContactsSuggestions.php +++ b/plugins/ldap-contacts-suggestions/LdapContactsSuggestions.php @@ -158,7 +158,16 @@ private function findNameAndEmail($aLdapItem, $aEmailFields, $aNameFields, $aUid { if (!empty($aLdapItem[$sField][0])) { - $sName = \trim($aLdapItem[$sField][0]); + # The attribute is multi-valued + $value = $aLdapItem[$sField][0]; + } else if ( defined($aLdapItem[$sField]) && is_string($aLdapItem[$sField]) ) + { + # The attribute is mono-valued + $value = $aLdapItem[$sField]; + } + if (!empty($value)) + { + $sName = \trim($value); if (!empty($sName)) { break; @@ -234,6 +243,9 @@ private function ldapSearch($oAccount, $sQuery) $aEmails = \array_map('trim', $aEmails); $aNames = \array_map('trim', $aNames); $aUIDs = \array_map('trim', $aUIDs); + $aEmails = \array_map('strtolower', $aEmails); + $aNames = \array_map('strtolower', $aNames); + $aUIDs = \array_map('strtolower', $aUIDs); $aFields = \array_merge($aEmails, $aNames, $aUIDs);