mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
fix(files): avoid sending thumbnail URL for directory as none exists
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
This commit is contained in:
parent
8c24a32fda
commit
01de485aca
1 changed files with 10 additions and 4 deletions
|
|
@ -31,6 +31,7 @@ namespace OCA\Files\Search;
|
|||
|
||||
use InvalidArgumentException;
|
||||
use OCP\Files\Search\ISearchOperator;
|
||||
use OCP\IPreview;
|
||||
use OCP\Search\FilterDefinition;
|
||||
use OCP\Search\IFilter;
|
||||
use OCP\Search\IFilteringProvider;
|
||||
|
|
@ -71,7 +72,8 @@ class FilesSearchProvider implements IFilteringProvider {
|
|||
IL10N $l10n,
|
||||
IURLGenerator $urlGenerator,
|
||||
IMimeTypeDetector $mimeTypeDetector,
|
||||
IRootFolder $rootFolder
|
||||
IRootFolder $rootFolder,
|
||||
private IPreview $previewManager,
|
||||
) {
|
||||
$this->l10n = $l10n;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
|
|
@ -139,8 +141,12 @@ class FilesSearchProvider implements IFilteringProvider {
|
|||
return SearchResult::paginated(
|
||||
$this->l10n->t('Files'),
|
||||
array_map(function (Node $result) use ($userFolder) {
|
||||
// Generate thumbnail url
|
||||
$thumbnailUrl = $this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreviewByFileId', ['x' => 32, 'y' => 32, 'fileId' => $result->getId()]);
|
||||
$thumbnailUrl = $this->previewManager->isMimeSupported($result->getMimetype())
|
||||
? $this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreviewByFileId', ['x' => 32, 'y' => 32, 'fileId' => $result->getId()])
|
||||
: '';
|
||||
$icon = $result->getMimetype() === FileInfo::MIMETYPE_FOLDER
|
||||
? 'icon-folder'
|
||||
: $this->mimeTypeDetector->mimeTypeIcon($result->getMimetype());
|
||||
$path = $userFolder->getRelativePath($result->getPath());
|
||||
|
||||
// Use shortened link to centralize the various
|
||||
|
|
@ -155,7 +161,7 @@ class FilesSearchProvider implements IFilteringProvider {
|
|||
$result->getName(),
|
||||
$this->formatSubline($path),
|
||||
$this->urlGenerator->getAbsoluteURL($link),
|
||||
$result->getMimetype() === FileInfo::MIMETYPE_FOLDER ? 'icon-folder' : $this->mimeTypeDetector->mimeTypeIcon($result->getMimetype())
|
||||
$icon,
|
||||
);
|
||||
$searchResultEntry->addAttribute('fileId', (string)$result->getId());
|
||||
$searchResultEntry->addAttribute('path', $path);
|
||||
|
|
|
|||
Loading…
Reference in a new issue