summaryrefslogtreecommitdiffstats
path: root/lib/private/preview
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-11-27 19:40:23 +0100
committerJoas Schilling <nickvergessen@gmx.de>2014-11-27 19:40:23 +0100
commitfca9d32545c933d3a262c1d49b44a805589de882 (patch)
treef64b2ec86b8c259bc2543771b7bd68d2c9254097 /lib/private/preview
parent05a069c1010b1f76ab1d5ce4bd0395e1ee3405c0 (diff)
downloadnextcloud-server-fca9d32545c933d3a262c1d49b44a805589de882.tar.gz
nextcloud-server-fca9d32545c933d3a262c1d49b44a805589de882.zip
Move registration of core preview providers to preview
So the class files only have class code and don't execute code
Diffstat (limited to 'lib/private/preview')
-rw-r--r--lib/private/preview/bitmap.php42
-rw-r--r--lib/private/preview/image.php2
-rw-r--r--lib/private/preview/movie.php16
-rw-r--r--lib/private/preview/mp3.php2
-rw-r--r--lib/private/preview/office-cl.php14
-rw-r--r--lib/private/preview/office.php28
-rw-r--r--lib/private/preview/provider.php10
-rw-r--r--lib/private/preview/svg.php11
-rw-r--r--lib/private/preview/txt.php21
9 files changed, 16 insertions, 130 deletions
diff --git a/lib/private/preview/bitmap.php b/lib/private/preview/bitmap.php
index 748a63a6afa..46322853486 100644
--- a/lib/private/preview/bitmap.php
+++ b/lib/private/preview/bitmap.php
@@ -9,10 +9,6 @@ namespace OC\Preview;
use Imagick;
-if (extension_loaded('imagick')) {
-
- $checkImagick = new Imagick();
-
class Bitmap extends Provider {
public function getMimeType() {
@@ -23,11 +19,11 @@ if (extension_loaded('imagick')) {
$tmpPath = $fileview->toTmpFile($path);
//create imagick object from bitmap or vector file
- try{
+ 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);
@@ -35,17 +31,14 @@ if (extension_loaded('imagick')) {
}
unlink($tmpPath);
-
+
//new bitmap image object
$image = new \OC_Image($bp);
//check if image object is valid
return $image->valid() ? $image : false;
}
-
}
-
- if(count($checkImagick->queryFormats('PDF')) === 1) {
-
+
//.pdf
class PDF extends Bitmap {
@@ -54,12 +47,7 @@ if (extension_loaded('imagick')) {
}
}
-
- \OC\Preview::registerProvider('OC\Preview\PDF');
- }
-
- if(count($checkImagick->queryFormats('TIFF')) === 1) {
-
+
//.tiff
class TIFF extends Bitmap {
@@ -68,12 +56,7 @@ if (extension_loaded('imagick')) {
}
}
-
- \OC\Preview::registerProvider('OC\Preview\TIFF');
- }
- if(count($checkImagick->queryFormats('AI')) === 1) {
-
//.ai
class Illustrator extends Bitmap {
@@ -82,12 +65,6 @@ if (extension_loaded('imagick')) {
}
}
-
- \OC\Preview::registerProvider('OC\Preview\Illustrator');
- }
-
- // Requires adding 'eps' => array('application/postscript', null), to lib/private/mimetypes.list.php
- if(count($checkImagick->queryFormats('EPS')) === 1) {
//.eps
class Postscript extends Bitmap {
@@ -98,11 +75,6 @@ if (extension_loaded('imagick')) {
}
- \OC\Preview::registerProvider('OC\Preview\Postscript');
- }
-
- if(count($checkImagick->queryFormats('PSD')) === 1) {
-
//.psd
class Photoshop extends Bitmap {
@@ -111,7 +83,3 @@ if (extension_loaded('imagick')) {
}
}
-
- \OC\Preview::registerProvider('OC\Preview\Photoshop');
- }
-}
diff --git a/lib/private/preview/image.php b/lib/private/preview/image.php
index 7bcbddc649e..511052caf2b 100644
--- a/lib/private/preview/image.php
+++ b/lib/private/preview/image.php
@@ -35,5 +35,3 @@ class Image extends Provider {
}
}
-
-\OC\Preview::registerProvider('OC\Preview\Image');
diff --git a/lib/private/preview/movie.php b/lib/private/preview/movie.php
index d69266ceb33..850027c1a64 100644
--- a/lib/private/preview/movie.php
+++ b/lib/private/preview/movie.php
@@ -8,13 +8,6 @@
*/
namespace OC\Preview;
-// movie preview is currently not supported on Windows
-if (!\OC_Util::runningOnWindows()) {
- $avconvBinary = \OC_Helper::findBinaryPath('avconv');
- $ffmpegBinary = ($avconvBinary) ? null : \OC_Helper::findBinaryPath('ffmpeg');
-
- if ($avconvBinary || $ffmpegBinary) {
-
class Movie extends Provider {
public static $avconvBinary;
public static $ffmpegBinary;
@@ -95,12 +88,3 @@ if (!\OC_Util::runningOnWindows()) {
return false;
}
}
-
- // a bit hacky but didn't want to use subclasses
- Movie::$avconvBinary = $avconvBinary;
- Movie::$ffmpegBinary = $ffmpegBinary;
-
- \OC\Preview::registerProvider('OC\Preview\Movie');
- }
-}
-
diff --git a/lib/private/preview/mp3.php b/lib/private/preview/mp3.php
index bb4d3dfce86..661cb92bf62 100644
--- a/lib/private/preview/mp3.php
+++ b/lib/private/preview/mp3.php
@@ -44,5 +44,3 @@ class MP3 extends Provider {
}
}
-
-\OC\Preview::registerProvider('OC\Preview\MP3');
diff --git a/lib/private/preview/office-cl.php b/lib/private/preview/office-cl.php
index f5c791e37f2..0f175e811d1 100644
--- a/lib/private/preview/office-cl.php
+++ b/lib/private/preview/office-cl.php
@@ -7,9 +7,6 @@
*/
namespace OC\Preview;
-// office preview is currently not supported on Windows
-if (!\OC_Util::runningOnWindows()) {
-
//we need imagick to convert
class Office extends Provider {
@@ -90,8 +87,6 @@ if (!\OC_Util::runningOnWindows()) {
}
- \OC\Preview::registerProvider('OC\Preview\MSOfficeDoc');
-
//.docm, .dotm, .xls(m), .xlt(m), .xla(m), .ppt(m), .pot(m), .pps(m), .ppa(m)
class MSOffice2003 extends Office {
@@ -101,8 +96,6 @@ if (!\OC_Util::runningOnWindows()) {
}
- \OC\Preview::registerProvider('OC\Preview\MSOffice2003');
-
//.docx, .dotx, .xlsx, .xltx, .pptx, .potx, .ppsx
class MSOffice2007 extends Office {
@@ -112,8 +105,6 @@ if (!\OC_Util::runningOnWindows()) {
}
- \OC\Preview::registerProvider('OC\Preview\MSOffice2007');
-
//.odt, .ott, .oth, .odm, .odg, .otg, .odp, .otp, .ods, .ots, .odc, .odf, .odb, .odi, .oxt
class OpenDocument extends Office {
@@ -123,8 +114,6 @@ if (!\OC_Util::runningOnWindows()) {
}
- \OC\Preview::registerProvider('OC\Preview\OpenDocument');
-
//.sxw, .stw, .sxc, .stc, .sxd, .std, .sxi, .sti, .sxg, .sxm
class StarOffice extends Office {
@@ -133,6 +122,3 @@ if (!\OC_Util::runningOnWindows()) {
}
}
-
- \OC\Preview::registerProvider('OC\Preview\StarOffice');
-}
diff --git a/lib/private/preview/office.php b/lib/private/preview/office.php
deleted file mode 100644
index b47cbc6e08f..00000000000
--- a/lib/private/preview/office.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-//both, libreoffice backend and php fallback, need imagick
-if (extension_loaded('imagick')) {
-
- $checkImagick = new Imagick();
-
- if(count($checkImagick->queryFormats('PDF')) === 1) {
- $isShellExecEnabled = \OC_Helper::is_function_enabled('shell_exec');
-
- // LibreOffice preview is currently not supported on Windows
- if (!\OC_Util::runningOnWindows()) {
- $whichLibreOffice = ($isShellExecEnabled ? shell_exec('command -v libreoffice') : '');
- $isLibreOfficeAvailable = !empty($whichLibreOffice);
- $whichOpenOffice = ($isShellExecEnabled ? shell_exec('command -v openoffice') : '');
- $isOpenOfficeAvailable = !empty($whichOpenOffice);
- //let's see if there is libreoffice or openoffice on this machine
- if($isShellExecEnabled && ($isLibreOfficeAvailable || $isOpenOfficeAvailable || is_string(\OC_Config::getValue('preview_libreoffice_path', null)))) {
- require_once('office-cl.php');
- }
- }
- }
-}
diff --git a/lib/private/preview/provider.php b/lib/private/preview/provider.php
index f544c2c4b13..10e23efa20a 100644
--- a/lib/private/preview/provider.php
+++ b/lib/private/preview/provider.php
@@ -5,18 +5,21 @@ abstract class Provider {
private $options;
public function __construct($options) {
- $this->options=$options;
+ $this->options = $options;
}
+ /**
+ * @return string Regex with the mimetypes that are supported by this provider
+ */
abstract public function getMimeType();
/**
* Check if a preview can be generated for $path
*
- * @param string $path
+ * @param \OC\Files\FileInfo $file
* @return bool
*/
- public function isAvailable($path) {
+ public function isAvailable($file) {
return true;
}
@@ -32,5 +35,4 @@ abstract class Provider {
* OC_Image object of the preview
*/
abstract public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview);
-
}
diff --git a/lib/private/preview/svg.php b/lib/private/preview/svg.php
index 0b5dbc9716f..6ddf8939669 100644
--- a/lib/private/preview/svg.php
+++ b/lib/private/preview/svg.php
@@ -9,12 +9,6 @@ namespace OC\Preview;
use Imagick;
-if (extension_loaded('imagick')) {
-
- $checkImagick = new Imagick();
-
- if(count($checkImagick->queryFormats('SVG')) === 1) {
-
class SVG extends Provider {
public function getMimeType() {
@@ -50,9 +44,4 @@ if (extension_loaded('imagick')) {
//check if image object is valid
return $image->valid() ? $image : false;
}
-
}
-
- \OC\Preview::registerProvider('OC\Preview\SVG');
- }
-}
diff --git a/lib/private/preview/txt.php b/lib/private/preview/txt.php
index 7f01b980c0e..ff612e2509a 100644
--- a/lib/private/preview/txt.php
+++ b/lib/private/preview/txt.php
@@ -8,28 +8,22 @@
namespace OC\Preview;
class TXT extends Provider {
-
+ /**
+ * {@inheritDoc}
+ */
public function getMimeType() {
return '/text\/plain/';
}
/**
- * Check if a preview can be generated for $path
- *
- * @param \OC\Files\FileInfo $file
- * @return bool
+ * {@inheritDoc}
*/
public function isAvailable($file) {
return $file->getSize() > 5;
}
/**
- * @param string $path
- * @param int $maxX
- * @param int $maxY
- * @param boolean $scalingup
- * @param \OC\Files\View $fileview
- * @return bool|\OC_Image
+ * {@inheritDoc}
*/
public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
@@ -80,14 +74,9 @@ class TXT extends Provider {
}
}
-\OC\Preview::registerProvider('OC\Preview\TXT');
-
class MarkDown extends TXT {
-
public function getMimeType() {
return '/text\/(x-)?markdown/';
}
}
-
-\OC\Preview::registerProvider('OC\Preview\MarkDown');