diff options
author | blizzz <blizzz@arthur-schiwon.de> | 2018-02-20 23:02:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-20 23:02:53 +0100 |
commit | 8e5120ce66d6d2de0cee497450ab8e3634b729d0 (patch) | |
tree | 90e4f1ce588c4099003b5e8b007e84511daf1c7c | |
parent | cf83eb5e77313c3a820cd1e808c83e0991b9d6a0 (diff) | |
parent | b30e035e25923101345dc02b7e82936cbef9b811 (diff) | |
download | nextcloud-server-8e5120ce66d6d2de0cee497450ab8e3634b729d0.tar.gz nextcloud-server-8e5120ce66d6d2de0cee497450ab8e3634b729d0.zip |
Merge pull request #8206 from nextcloud/bugfix/noid/fix-collaboration-result-size
Better result handling of email search
4 files changed, 7 insertions, 3 deletions
diff --git a/lib/private/Collaboration/Collaborators/MailPlugin.php b/lib/private/Collaboration/Collaborators/MailPlugin.php index 2d85ff334bc..b4964825182 100644 --- a/lib/private/Collaboration/Collaborators/MailPlugin.php +++ b/lib/private/Collaboration/Collaborators/MailPlugin.php @@ -175,6 +175,8 @@ class MailPlugin implements ISearchPlugin { if (!$this->shareeEnumeration) { $result['wide'] = []; + } else { + $result['wide'] = array_slice($result['wide'], $offset, $limit); } if (!$searchResult->hasExactIdMatch($emailType) && filter_var($search, FILTER_VALIDATE_EMAIL)) { diff --git a/lib/private/Collaboration/Collaborators/RemotePlugin.php b/lib/private/Collaboration/Collaborators/RemotePlugin.php index b17a64e4ff1..e0f5298f83b 100644 --- a/lib/private/Collaboration/Collaborators/RemotePlugin.php +++ b/lib/private/Collaboration/Collaborators/RemotePlugin.php @@ -102,6 +102,8 @@ class RemotePlugin implements ISearchPlugin { if (!$this->shareeEnumeration) { $result['wide'] = []; + } else { + $result['wide'] = array_slice($result['wide'], $offset, $limit); } if (!$searchResult->hasExactIdMatch($resultType) && $this->cloudIdManager->isValidCloudId($search) && $offset === 0) { diff --git a/tests/lib/Collaboration/Collaborators/MailPluginTest.php b/tests/lib/Collaboration/Collaborators/MailPluginTest.php index b728ae521e2..9c4836c2eb3 100644 --- a/tests/lib/Collaboration/Collaborators/MailPluginTest.php +++ b/tests/lib/Collaboration/Collaborators/MailPluginTest.php @@ -103,7 +103,7 @@ class MailPluginTest extends TestCase { ->with($searchTerm, ['EMAIL', 'FN']) ->willReturn($contacts); - $moreResults = $this->plugin->search($searchTerm, 0, 0, $this->searchResult); + $moreResults = $this->plugin->search($searchTerm, 2, 0, $this->searchResult); $result = $this->searchResult->asArray(); $this->assertSame($exactIdMatch, $this->searchResult->hasExactIdMatch(new SearchResultType('emails'))); @@ -398,7 +398,7 @@ class MailPluginTest extends TestCase { return in_array($group, $userToGroupMapping[$userId]); }); - $moreResults = $this->plugin->search($searchTerm, 0, 0, $this->searchResult); + $moreResults = $this->plugin->search($searchTerm, 2, 0, $this->searchResult); $result = $this->searchResult->asArray(); $this->assertSame($exactIdMatch, $this->searchResult->hasExactIdMatch(new SearchResultType('emails'))); diff --git a/tests/lib/Collaboration/Collaborators/RemotePluginTest.php b/tests/lib/Collaboration/Collaborators/RemotePluginTest.php index 5c4b3af5e70..aa009a7134b 100644 --- a/tests/lib/Collaboration/Collaborators/RemotePluginTest.php +++ b/tests/lib/Collaboration/Collaborators/RemotePluginTest.php @@ -94,7 +94,7 @@ class RemotePluginTest extends TestCase { ->with($searchTerm, ['CLOUD', 'FN']) ->willReturn($contacts); - $moreResults = $this->plugin->search($searchTerm, 0, 0, $this->searchResult); + $moreResults = $this->plugin->search($searchTerm, 2, 0, $this->searchResult); $result = $this->searchResult->asArray(); $this->assertSame($exactIdMatch, $this->searchResult->hasExactIdMatch(new SearchResultType('remotes'))); |