summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Ehrke <developer@georgehrke.com>2015-01-19 00:22:55 +0100
committerGeorg Ehrke <developer@georgehrke.com>2015-01-22 20:21:37 +0100
commit3af8bde949ee14360574ec504be80a01ccd466ea (patch)
tree7cd9298277ad8cda79d146d31e60005281733a78
parent9cef90da981336a907a9ca7f9b511e25b7be8a90 (diff)
downloadnextcloud-server-3af8bde949ee14360574ec504be80a01ccd466ea.tar.gz
nextcloud-server-3af8bde949ee14360574ec504be80a01ccd466ea.zip
add config-option for an image's maximum filesize when generating previews
-rw-r--r--config/config.sample.php12
-rw-r--r--lib/private/preview/image.php7
2 files changed, 19 insertions, 0 deletions
diff --git a/config/config.sample.php b/config/config.sample.php
index 98da8aed356..f8cf460de3f 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -621,6 +621,18 @@ $CONFIG = array(
* original size. A value of ``1`` or ``null`` disables scaling.
*/
'preview_max_scale_factor' => 10,
+
+/**
+ * max file size for generating image previews with imagegd (default behaviour)
+ * If the image is bigger, it'll try other preview generators,
+ * but will most likely show the default mimetype icon
+ *
+ * Value represents the maximum filesize in megabytes
+ * Default is 50
+ * Set to -1 for no limit
+ */
+'preview_max_filesize_image' => 50,
+
/**
* custom path for LibreOffice/OpenOffice binary
*/
diff --git a/lib/private/preview/image.php b/lib/private/preview/image.php
index 986a44b48fd..e8473ebb8a4 100644
--- a/lib/private/preview/image.php
+++ b/lib/private/preview/image.php
@@ -26,6 +26,13 @@ class Image extends Provider {
return false;
}
+ $maxSizeForImages = \OC::$server->getConfig()->getSystemValue('preview_max_filesize_image', 50);
+ $size = $fileInfo->getSize();
+
+ if ($maxSizeForImages !== -1 && $size > ($maxSizeForImages * 1024 * 1024)) {
+ return false;
+ }
+
$image = new \OC_Image();
if($fileInfo['encrypted'] === true) {