From ca3447fcdea878ade24caed4ad300697fc132d08 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Fri, 19 Sep 2014 13:35:21 +0200 Subject: Add a configuration switch for enabled preview mimetypes --- lib/private/preview/svg.php | 5 +++++ lib/private/preview/unknown.php | 49 ----------------------------------------- 2 files changed, 5 insertions(+), 49 deletions(-) delete mode 100644 lib/private/preview/unknown.php (limited to 'lib/private/preview') diff --git a/lib/private/preview/svg.php b/lib/private/preview/svg.php index 82ef3cdebf6..0b5dbc9716f 100644 --- a/lib/private/preview/svg.php +++ b/lib/private/preview/svg.php @@ -31,6 +31,11 @@ if (extension_loaded('imagick')) { $content = '' . $content; } + // Do not parse SVG files with references + if(stripos($content, 'xlink:href') !== false) { + return false; + } + $svg->readImageBlob($content); $svg->setImageFormat('png32'); } catch (\Exception $e) { diff --git a/lib/private/preview/unknown.php b/lib/private/preview/unknown.php deleted file mode 100644 index 2d3b5c5655e..00000000000 --- a/lib/private/preview/unknown.php +++ /dev/null @@ -1,49 +0,0 @@ -getMimeType($path); - - $path = \OC_Helper::mimetypeIcon($mimetype); - $path = \OC::$SERVERROOT . substr($path, strlen(\OC::$WEBROOT)); - - $svgPath = substr_replace($path, 'svg', -3); - - if (extension_loaded('imagick') && file_exists($svgPath) && count(@\Imagick::queryFormats("SVG")) === 1) { - - // http://www.php.net/manual/de/imagick.setresolution.php#85284 - $svg = new \Imagick(); - $svg->readImage($svgPath); - $res = $svg->getImageResolution(); - $x_ratio = $res['x'] / $svg->getImageWidth(); - $y_ratio = $res['y'] / $svg->getImageHeight(); - $svg->removeImage(); - $svg->setResolution($maxX * $x_ratio, $maxY * $y_ratio); - $svg->setBackgroundColor(new \ImagickPixel('transparent')); - $svg->readImage($svgPath); - $svg->setImageFormat('png32'); - - $image = new \OC_Image(); - $image->loadFromData($svg); - } else { - $image = new \OC_Image($path); - } - - return $image; - } -} - -\OC\Preview::registerProvider('OC\Preview\Unknown'); -- cgit v1.2.3