summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2016-10-16 20:42:35 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2016-11-03 14:00:33 +0100
commitd720a2fb5719122a0250d63c269380c6ba413755 (patch)
tree63360dc37fdbcbbb95eba24c12700008ec46d4e3 /lib/private
parent2164085f22b56a3d9739a57788a93779a0d6ac39 (diff)
downloadnextcloud-server-d720a2fb5719122a0250d63c269380c6ba413755.tar.gz
nextcloud-server-d720a2fb5719122a0250d63c269380c6ba413755.zip
Moved over files_versions
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/Preview/Generator.php15
-rw-r--r--lib/private/PreviewManager.php5
2 files changed, 13 insertions, 7 deletions
diff --git a/lib/private/Preview/Generator.php b/lib/private/Preview/Generator.php
index ea162926afa..d4c38b1cb6a 100644
--- a/lib/private/Preview/Generator.php
+++ b/lib/private/Preview/Generator.php
@@ -76,11 +76,15 @@ class Generator {
* @param int $height
* @param bool $crop
* @param string $mode
+ * @param string $mimeType
* @return ISimpleFile
* @throws NotFoundException
*/
- public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $mode = IPreview::MODE_FILL) {
- if (!$this->previewManager->isMimeSupported($file->getMimeType())) {
+ public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $mode = IPreview::MODE_FILL, $mimeType = null) {
+ if ($mimeType === null) {
+ $mimeType = $file->getMimeType();
+ }
+ if (!$this->previewManager->isMimeSupported($mimeType)) {
throw new NotFoundException();
}
@@ -91,7 +95,7 @@ class Generator {
$previewFolder = $this->getPreviewFolder($file);
// Get the max preview and infer the max preview sizes from that
- $maxPreview = $this->getMaxPreview($previewFolder, $file);
+ $maxPreview = $this->getMaxPreview($previewFolder, $file, $mimeType);
list($maxWidth, $maxHeight) = $this->getPreviewSize($maxPreview);
// Calculate the preview size
@@ -110,10 +114,11 @@ class Generator {
/**
* @param ISimpleFolder $previewFolder
* @param File $file
+ * @param string $mimeType
* @return ISimpleFile
* @throws NotFoundException
*/
- private function getMaxPreview(ISimpleFolder $previewFolder, File $file) {
+ private function getMaxPreview(ISimpleFolder $previewFolder, File $file, $mimeType) {
$nodes = $previewFolder->getDirectoryListing();
foreach ($nodes as $node) {
@@ -124,7 +129,7 @@ class Generator {
$previewProviders = $this->previewManager->getProviders();
foreach ($previewProviders as $supportedMimeType => $providers) {
- if (!preg_match($supportedMimeType, $file->getMimeType())) {
+ if (!preg_match($supportedMimeType, $mimeType)) {
continue;
}
diff --git a/lib/private/PreviewManager.php b/lib/private/PreviewManager.php
index 0cda55751bf..2c17a5f3c80 100644
--- a/lib/private/PreviewManager.php
+++ b/lib/private/PreviewManager.php
@@ -151,11 +151,12 @@ class PreviewManager implements IPreview {
* @param int $height
* @param bool $crop
* @param string $mode
+ * @param string $mimeType
* @return ISimpleFile
* @throws NotFoundException
* @since 9.2.0
*/
- public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $mode = IPreview::MODE_FILL) {
+ public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $mode = IPreview::MODE_FILL, $mimeType = null) {
if ($this->generator === null) {
$this->generator = new Generator(
$this->rootFolder,
@@ -165,7 +166,7 @@ class PreviewManager implements IPreview {
);
}
- return $this->generator->getPreview($file, $width, $height, $crop, $mode);
+ return $this->generator->getPreview($file, $width, $height, $crop, $mode, $mimeType);
}
/**