diff options
author | Morris Jobke <hey@morrisjobke.de> | 2017-07-05 12:22:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-05 12:22:39 +0300 |
commit | bb1ff50f63b774ad3710ff34dcb32a5aa0b0d734 (patch) | |
tree | fec98867ec77694d83ce4ff3175aafbb306bddd5 /apps/files_sharing | |
parent | 9a55dd58677f7cb9661fa198de071df4d3380ada (diff) | |
parent | 187e76a184559f1b555c19377a146cf9dd330a5d (diff) |
Merge pull request #5215 from nextcloud/autocomplete-settings-stable11
[stable11] some sharing settings
Diffstat (limited to 'apps/files_sharing')
-rw-r--r-- | apps/files_sharing/lib/Controller/ShareesAPIController.php | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/apps/files_sharing/lib/Controller/ShareesAPIController.php b/apps/files_sharing/lib/Controller/ShareesAPIController.php index 6b3208dc289..2fb554f392c 100644 --- a/apps/files_sharing/lib/Controller/ShareesAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareesAPIController.php @@ -24,7 +24,7 @@ */ namespace OCA\Files_Sharing\Controller; -use OCP\AppFramework\Http; +use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSBadRequestException; use OCP\AppFramework\OCSController; use OCP\Contacts\IManager; @@ -423,10 +423,22 @@ class ShareesAPIController extends OCSController { * @param int $perPage * @param int|int[] $shareType * @param bool $lookup - * @return Http\DataResponse + * @return DataResponse * @throws OCSBadRequestException */ public function search($search = '', $itemType = null, $page = 1, $perPage = 200, $shareType = null, $lookup = true) { + + // only search for string larger than a given threshold + $threshold = (int)$this->config->getSystemValue('sharing.minSearchStringLength', 0); + if (strlen($search) < $threshold) { + return new DataResponse($this->result); + } + + // never return more than the max. number of results configured in the config.php + $maxResults = (int)$this->config->getSystemValue('sharing.maxAutocompleteResults', 0); + if ($maxResults > 0) { + $perPage = min($perPage, $maxResults); + } if ($perPage <= 0) { throw new OCSBadRequestException('Invalid perPage argument'); } @@ -495,7 +507,7 @@ class ShareesAPIController extends OCSController { * @param int $page * @param int $perPage * @param bool $lookup - * @return Http\DataResponse + * @return DataResponse * @throws OCSBadRequestException */ protected function searchSharees($search, $itemType, array $shareTypes, $page, $perPage, $lookup) { @@ -547,7 +559,7 @@ class ShareesAPIController extends OCSController { $this->result['exact']['emails'] = $mailResults['exact']; } - $response = new Http\DataResponse($this->result); + $response = new DataResponse($this->result); if (sizeof($this->reachedEndFor) < 3) { $response->addHeader('Link', $this->getPaginationLink($page, [ |