the FN is optional, carrying the displayname if present

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2018-03-14 14:30:45 +01:00
parent 23a02eaf14
commit f42c29ebac
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
1 changed files with 11 additions and 5 deletions

View File

@ -88,6 +88,10 @@ class MailPlugin implements ISearchPlugin {
$emailAddresses = [$emailAddresses]; $emailAddresses = [$emailAddresses];
} }
foreach ($emailAddresses as $emailAddress) { foreach ($emailAddresses as $emailAddress) {
$displayName = $emailAddress;
if (isset($contact['FN'])) {
$displayName = $contact['FN'] . ' (' . $emailAddress . ')';
}
$exactEmailMatch = strtolower($emailAddress) === $lowerSearch; $exactEmailMatch = strtolower($emailAddress) === $lowerSearch;
if (isset($contact['isLocalSystemBook'])) { if (isset($contact['isLocalSystemBook'])) {
@ -116,7 +120,7 @@ class MailPlugin implements ISearchPlugin {
if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) { if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$singleResult = [[ $singleResult = [[
'label' => $contact['FN'] . " ($emailAddress)", 'label' => $displayName,
'value' => [ 'value' => [
'shareType' => Share::SHARE_TYPE_USER, 'shareType' => Share::SHARE_TYPE_USER,
'shareWith' => $cloud->getUser(), 'shareWith' => $cloud->getUser(),
@ -137,7 +141,7 @@ class MailPlugin implements ISearchPlugin {
if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) { if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$userResults['wide'][] = [ $userResults['wide'][] = [
'label' => $contact['FN'] . " ($emailAddress)", 'label' => $displayName,
'value' => [ 'value' => [
'shareType' => Share::SHARE_TYPE_USER, 'shareType' => Share::SHARE_TYPE_USER,
'shareWith' => $cloud->getUser(), 'shareWith' => $cloud->getUser(),
@ -148,12 +152,14 @@ class MailPlugin implements ISearchPlugin {
continue; continue;
} }
if ($exactEmailMatch || strtolower($contact['FN']) === $lowerSearch) { if ($exactEmailMatch
|| isset($contact['FN']) && strtolower($contact['FN']) === $lowerSearch)
{
if ($exactEmailMatch) { if ($exactEmailMatch) {
$searchResult->markExactIdMatch($emailType); $searchResult->markExactIdMatch($emailType);
} }
$result['exact'][] = [ $result['exact'][] = [
'label' => $contact['FN'] . " ($emailAddress)", 'label' => $displayName,
'value' => [ 'value' => [
'shareType' => Share::SHARE_TYPE_EMAIL, 'shareType' => Share::SHARE_TYPE_EMAIL,
'shareWith' => $emailAddress, 'shareWith' => $emailAddress,
@ -161,7 +167,7 @@ class MailPlugin implements ISearchPlugin {
]; ];
} else { } else {
$result['wide'][] = [ $result['wide'][] = [
'label' => $contact['FN'] . " ($emailAddress)", 'label' => $displayName,
'value' => [ 'value' => [
'shareType' => Share::SHARE_TYPE_EMAIL, 'shareType' => Share::SHARE_TYPE_EMAIL,
'shareWith' => $emailAddress, 'shareWith' => $emailAddress,