properly use limit and offset for search in Jail wrapper

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2021-05-21 15:37:38 +02:00 committed by backportbot[bot]
parent 46932b98d9
commit 8246f097de
1 changed files with 2 additions and 7 deletions

View File

@ -319,14 +319,9 @@ class CacheJail extends CacheWrapper {
ISearchBinaryOperator::OPERATOR_AND, ISearchBinaryOperator::OPERATOR_AND,
[new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_OR, [$prefixFilter, $rootFilter]) , $query->getSearchOperation()] [new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_OR, [$prefixFilter, $rootFilter]) , $query->getSearchOperation()]
); );
$simpleQuery = new SearchQuery($operation, 0, 0, $query->getOrder(), $query->getUser()); $simpleQuery = new SearchQuery($operation, $query->getLimit(), $query->getOffset(), $query->getOrder(), $query->getUser());
$results = $this->getCache()->searchQuery($simpleQuery); $results = $this->getCache()->searchQuery($simpleQuery);
$results = $this->formatSearchResults($results); return $this->formatSearchResults($results);
$limit = $query->getLimit() === 0 ? null : $query->getLimit();
$results = array_slice($results, $query->getOffset(), $limit);
return $results;
} }
/** /**