diff --git a/lib/private/preview.php b/lib/private/preview.php index 696895cd3ad9114f01aa3408cd54a47124e45898..f6c8c485d03d8e0375449e4f0ebea713924749f5 100644 --- a/lib/private/preview.php +++ b/lib/private/preview.php @@ -16,8 +16,6 @@ namespace OC; use OC\Preview\Provider; use OCP\Files\NotFoundException; -require_once 'preview/bitmap.php'; - class Preview { //the thumbnail folder const THUMBNAILS_FOLDER = 'thumbnails'; diff --git a/lib/private/preview/bitmap.php b/lib/private/preview/bitmap.php index 4632285348613f81cc608cb145b9b2ef4a6b63e5..25f65cf7fc9e3da3f91fb5a6aea6367854b2850f 100644 --- a/lib/private/preview/bitmap.php +++ b/lib/private/preview/bitmap.php @@ -5,81 +5,33 @@ * later. * See the COPYING-README file. */ -namespace OC\Preview; - -use Imagick; - class Bitmap extends Provider { +namespace OC\Preview; - public function getMimeType() { - return null; +abstract class Bitmap extends Provider { + /** + * {@inheritDoc} + */ + public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) { + $tmpPath = $fileview->toTmpFile($path); + + //create imagick object from bitmap or vector file + try { + // Layer 0 contains either the bitmap or + // a flat representation of all vector layers + $bp = new \Imagick($tmpPath . '[0]'); + + $bp->setImageFormat('png'); + } catch (\Exception $e) { + \OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR); + return false; } - public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) { - $tmpPath = $fileview->toTmpFile($path); - - //create imagick object from bitmap or vector file - try { - // Layer 0 contains either the bitmap or - // a flat representation of all vector layers - $bp = new Imagick($tmpPath . '[0]'); + unlink($tmpPath); - $bp->setImageFormat('png'); - } catch (\Exception $e) { - \OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR); - return false; - } - - unlink($tmpPath); - - //new bitmap image object - $image = new \OC_Image($bp); - //check if image object is valid - return $image->valid() ? $image : false; - } + //new bitmap image object + $image = new \OC_Image($bp); + //check if image object is valid + return $image->valid() ? $image : false; } - - //.pdf - class PDF extends Bitmap { - - public function getMimeType() { - return '/application\/pdf/'; - } - - } - - //.tiff - class TIFF extends Bitmap { - - public function getMimeType() { - return '/image\/tiff/'; - } - - } - - //.ai - class Illustrator extends Bitmap { - - public function getMimeType() { - return '/application\/illustrator/'; - } - - } - - //.eps - class Postscript extends Bitmap { - - public function getMimeType() { - return '/application\/postscript/'; - } - - } - - //.psd - class Photoshop extends Bitmap { - - public function getMimeType() { - return '/application\/x-photoshop/'; - } - - } +} diff --git a/lib/private/preview/illustrator.php b/lib/private/preview/illustrator.php new file mode 100644 index 0000000000000000000000000000000000000000..e88c305f7082070edf73b4f39e97f70397d93dd3 --- /dev/null +++ b/lib/private/preview/illustrator.php @@ -0,0 +1,19 @@ +<?php +/** + * Copyright (c) 2013-2014 Georg Ehrke georg@ownCloud.com + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Preview; + +//.ai +class Illustrator extends Bitmap { + /** + * {@inheritDoc} + */ + public function getMimeType() { + return '/application\/illustrator/'; + } +} diff --git a/lib/private/preview/pdf.php b/lib/private/preview/pdf.php new file mode 100644 index 0000000000000000000000000000000000000000..cb13074ff605861e6cbf47f7150a313fc7a50dd8 --- /dev/null +++ b/lib/private/preview/pdf.php @@ -0,0 +1,19 @@ +<?php +/** + * Copyright (c) 2013-2014 Georg Ehrke georg@ownCloud.com + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Preview; + +//.pdf +class PDF extends Bitmap { + /** + * {@inheritDoc} + */ + public function getMimeType() { + return '/application\/pdf/'; + } +} diff --git a/lib/private/preview/photoshop.php b/lib/private/preview/photoshop.php new file mode 100644 index 0000000000000000000000000000000000000000..f5f60ce4de84fe48bf946706a454db3558426cd1 --- /dev/null +++ b/lib/private/preview/photoshop.php @@ -0,0 +1,19 @@ +<?php +/** + * Copyright (c) 2013-2014 Georg Ehrke georg@ownCloud.com + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Preview; + +//.psd +class Photoshop extends Bitmap { + /** + * {@inheritDoc} + */ + public function getMimeType() { + return '/application\/x-photoshop/'; + } +} diff --git a/lib/private/preview/postscript.php b/lib/private/preview/postscript.php new file mode 100644 index 0000000000000000000000000000000000000000..7c8b089d92e3282b59347a08a31c24a0b357f1ef --- /dev/null +++ b/lib/private/preview/postscript.php @@ -0,0 +1,19 @@ +<?php +/** + * Copyright (c) 2013-2014 Georg Ehrke georg@ownCloud.com + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Preview; + +//.eps +class Postscript extends Bitmap { + /** + * {@inheritDoc} + */ + public function getMimeType() { + return '/application\/postscript/'; + } +} diff --git a/lib/private/preview/tiff.php b/lib/private/preview/tiff.php new file mode 100644 index 0000000000000000000000000000000000000000..0a1e8e8ecec05f99989fa25df6a992e8f59c8bcd --- /dev/null +++ b/lib/private/preview/tiff.php @@ -0,0 +1,19 @@ +<?php +/** + * Copyright (c) 2013-2014 Georg Ehrke georg@ownCloud.com + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Preview; + +//.tiff +class TIFF extends Bitmap { + /** + * {@inheritDoc} + */ + public function getMimeType() { + return '/image\/tiff/'; + } +}