From 13c6ef1ba9c3f857150679d164852d8724ab946f Mon Sep 17 00:00:00 2001
From: Georg Ehrke <georg@ownCloud.com>
Date: Tue, 21 May 2013 12:23:31 +0200
Subject: [PATCH] add svg backend

---
 lib/preview.php     |  1 +
 lib/preview/svg.php | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 lib/preview/svg.php

diff --git a/lib/preview.php b/lib/preview.php
index d6c7260352..572c85057b 100755
--- a/lib/preview.php
+++ b/lib/preview.php
@@ -15,6 +15,7 @@ require_once('preview/images.php');
 require_once('preview/movies.php');
 require_once('preview/mp3.php');
 require_once('preview/pdf.php');
+require_once('preview/svg.php');
 require_once('preview/unknown.php');
 
 class OC_Preview {
diff --git a/lib/preview/svg.php b/lib/preview/svg.php
new file mode 100644
index 0000000000..12b93f696e
--- /dev/null
+++ b/lib/preview/svg.php
@@ -0,0 +1,28 @@
+<?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.
+ */
+class OC_Preview_SVG extends OC_Preview_Provider{
+
+	public function getMimeType(){
+		return '/image\/svg\+xml/';
+	}
+
+	public function getThumbnail($path,$maxX,$maxY,$scalingup,$fileview) {
+		$svg = new Imagick();
+		$svg->readImageBlob($fileview->file_get_contents($path));
+		$svg->setImageFormat('jpg');
+
+		//new image object
+		$image = new \OC_Image($svg);
+		//check if image object is valid
+		if (!$image->valid()) return false;
+
+		return $image;
+	}
+}
+
+OC_Preview::registerProvider('OC_Preview_SVG');
\ No newline at end of file
-- 
GitLab