From 0022b63fe88235d66e58f233a8ee61cc2618084c Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Fri, 11 Sep 2020 15:57:04 +0200 Subject: [PATCH] Fix serializing indexed unified search array as object We expect an array of results from the search provider. If the search provider returns an array with indexes, php will serialize it as object, not as array (to preserve the keys). The client doesn't need this info, so we should just discard it and take the values only to always render a JSON array. Signed-off-by: Christoph Wurst --- lib/public/Search/SearchResult.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/public/Search/SearchResult.php b/lib/public/Search/SearchResult.php index 1a07f24b33..e70c70f1aa 100644 --- a/lib/public/Search/SearchResult.php +++ b/lib/public/Search/SearchResult.php @@ -28,6 +28,7 @@ declare(strict_types=1); namespace OCP\Search; use JsonSerializable; +use function array_values; /** * @since 20.0.0 @@ -107,7 +108,7 @@ final class SearchResult implements JsonSerializable { return [ 'name' => $this->name, 'isPaginated' => $this->isPaginated, - 'entries' => $this->entries, + 'entries' => array_values($this->entries), 'cursor' => $this->cursor, ]; }