]> source.dussan.org Git - nextcloud-server.git/commitdiff
make pdf backend work with encryption
authorGeorg Ehrke <georg@ownCloud.com>
Tue, 28 May 2013 09:59:20 +0000 (11:59 +0200)
committerGeorg Ehrke <georg@ownCloud.com>
Tue, 28 May 2013 09:59:20 +0000 (11:59 +0200)
lib/preview/pdf.php

index bf1d8b2b3b51de6222204b89b7b5b951d53bcade..de5263f91d87807351abda8f3410eebd3b23e76a 100644 (file)
@@ -5,24 +5,31 @@
  * later.
  * See the COPYING-README file.
  */
-class OC_Preview_PDF extends OC_Preview_Provider{
+if (extension_loaded('imagick')){
 
-       public function getMimeType(){
-               return '/application\/pdf/';
-       }
+       class OC_Preview_PDF extends OC_Preview_Provider{
+
+               public function getMimeType(){
+                       return '/application\/pdf/';
+               }
+
+               public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {      
+                       $tmppath = $fileview->toTmpFile($path);
 
-       public function getThumbnail($path, $maxX, $maxY, $scalingup,$fileview) {       
-               //create imagick object from pdf
-               $pdf = new imagick($fileview->getLocalFile($path) . '[0]');
-               $pdf->setImageFormat('jpg');
+                       //create imagick object from pdf
+                       $pdf = new imagick($tmppath . '[0]');
+                       $pdf->setImageFormat('jpg');
 
-               //new image object
-               $image = new \OC_Image($pdf);
-               //check if image object is valid
-               if (!$image->valid()) return false;
+                       unlink($tmppath);
 
-               return $image;
+                       //new image object
+                       $image = new \OC_Image($pdf);
+                       //check if image object is valid
+                       if (!$image->valid()) return false;
+
+                       return $image;
+               }
        }
-}
 
-OC_Preview::registerProvider('OC_Preview_PDF');
\ No newline at end of file
+       OC_Preview::registerProvider('OC_Preview_PDF');
+}