Merge pull request #8687 from nextcloud/backport/8328/filter-out-the-current-user-by-email-too

[stable13] Filter out the current user when searching for emails too
This commit is contained in:
Roeland Jago Douma 2018-03-06 17:11:49 +01:00 committed by GitHub
commit a637e0d686
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 2 deletions

View File

@ -28,9 +28,11 @@ use OCP\Collaboration\Collaborators\ISearchPlugin;
use OCP\Collaboration\Collaborators\ISearchResult; use OCP\Collaboration\Collaborators\ISearchResult;
use OCP\Collaboration\Collaborators\SearchResultType; use OCP\Collaboration\Collaborators\SearchResultType;
use OCP\Contacts\IManager; use OCP\Contacts\IManager;
use OCP\Federation\ICloudId;
use OCP\Federation\ICloudIdManager; use OCP\Federation\ICloudIdManager;
use OCP\IConfig; use OCP\IConfig;
use OCP\IGroupManager; use OCP\IGroupManager;
use OCP\IUser;
use OCP\IUserSession; use OCP\IUserSession;
use OCP\Share; use OCP\Share;
@ -112,7 +114,7 @@ class MailPlugin implements ISearchPlugin {
continue; continue;
} }
if (!$searchResult->hasResult($userType, $cloud->getUser())) { if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$singleResult = [[ $singleResult = [[
'label' => $contact['FN'] . " ($emailAddress)", 'label' => $contact['FN'] . " ($emailAddress)",
'value' => [ 'value' => [
@ -133,7 +135,7 @@ class MailPlugin implements ISearchPlugin {
continue; continue;
} }
if (!$searchResult->hasResult($userType, $cloud->getUser())) { if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$singleResult = [[ $singleResult = [[
'label' => $contact['FN'] . " ($emailAddress)", 'label' => $contact['FN'] . " ($emailAddress)",
'value' => [ 'value' => [
@ -191,4 +193,9 @@ class MailPlugin implements ISearchPlugin {
return true; return true;
} }
public function isCurrentUser(ICloudId $cloud) {
$currentUser = $this->userSession->getUser();
return $currentUser instanceof IUser ? $currentUser->getUID() === $cloud->getUser() : false;
}
} }