From 702046d4aae6f22adc679df6e1a64c7a1504c80e Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 20 Apr 2016 15:02:44 +0200 Subject: Move \OC\Preview to PSR-4 --- lib/private/Preview/Image.php | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 lib/private/Preview/Image.php (limited to 'lib/private/Preview/Image.php') diff --git a/lib/private/Preview/Image.php b/lib/private/Preview/Image.php new file mode 100644 index 00000000000..3ea99d6963a --- /dev/null +++ b/lib/private/Preview/Image.php @@ -0,0 +1,68 @@ + + * @author Joas Schilling + * @author Olivier Paroz + * @author Robin Appelman + * @author Thomas Müller + * @author Thomas Tanghus + * + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ +namespace OC\Preview; + +abstract class Image extends Provider { + + /** + * {@inheritDoc} + */ + public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) { + //get fileinfo + $fileInfo = $fileview->getFileInfo($path); + if (!$fileInfo) { + 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(); + + $useTempFile = $fileInfo->isEncrypted() || !$fileInfo->getStorage()->isLocal(); + if ($useTempFile) { + $fileName = $fileview->toTmpFile($path); + } else { + $fileName = $fileview->getLocalFile($path); + } + $image->loadFromFile($fileName); + $image->fixOrientation(); + if ($useTempFile) { + unlink($fileName); + } + if ($image->valid()) { + $image->scaleDownToFit($maxX, $maxY); + + return $image; + } + return false; + } + +} -- cgit v1.2.3