]> source.dussan.org Git - nextcloud-server.git/commitdiff
add svg backend
authorGeorg Ehrke <georg@ownCloud.com>
Tue, 21 May 2013 10:23:31 +0000 (12:23 +0200)
committerGeorg Ehrke <georg@ownCloud.com>
Tue, 21 May 2013 10:23:31 +0000 (12:23 +0200)
lib/preview.php
lib/preview/svg.php [new file with mode: 0644]

index d6c726035246d7ce008411965c501366df6e5425..572c85057befb0c5a4d820afdb9d20f67b084aea 100755 (executable)
@@ -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 (file)
index 0000000..12b93f6
--- /dev/null
@@ -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