From 5e8959a5b36f8ff150497d818ba09a8828ba5a7b Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Fri, 4 Jul 2014 11:10:54 +0200 Subject: [PATCH] Return and use isPreviewAvailable for share previews Since the mime type is known, now isPreviewAvailable is returned as well and used by the JS side to properly render mime icon and previews. --- apps/files_sharing/js/sharedfilelist.js | 9 ++++----- apps/files_sharing/lib/api.php | 6 ++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js index 304f77a8d7..ea9071cfcb 100644 --- a/apps/files_sharing/js/sharedfilelist.js +++ b/apps/files_sharing/js/sharedfilelist.js @@ -166,11 +166,10 @@ } else { file.type = 'file'; - // force preview retrieval as we don't have mime types, - // the preview endpoint will fall back to the mime type - // icon if no preview exists - file.isPreviewAvailable = true; - file.icon = true; + if (share.isPreviewAvailable) { + file.icon = true; + file.isPreviewAvailable = true; + } } file.share = { id: share.id, diff --git a/apps/files_sharing/lib/api.php b/apps/files_sharing/lib/api.php index 2e824a4a9d..50ba74f5be 100644 --- a/apps/files_sharing/lib/api.php +++ b/apps/files_sharing/lib/api.php @@ -60,6 +60,9 @@ class Api { foreach ($shares as &$share) { if ($share['item_type'] === 'file' && isset($share['path'])) { $share['mimetype'] = \OC_Helper::getFileNameMimeType($share['path']); + if (\OC::$server->getPreviewManager()->isMimeSupported($share['mimetype'])) { + $share['isPreviewAvailable'] = true; + } } $newShares[] = $share; } @@ -214,6 +217,9 @@ class Api { foreach ($shares as &$share) { if ($share['item_type'] === 'file') { $share['mimetype'] = \OC_Helper::getFileNameMimeType($share['file_target']); + if (\OC::$server->getPreviewManager()->isMimeSupported($share['mimetype'])) { + $share['isPreviewAvailable'] = true; + } } } $result = new \OC_OCS_Result($shares);