From 48f0c54261bfa2d2f20864b0d41db8f1df6f1777 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Mon, 19 Aug 2013 12:16:55 +0200 Subject: [PATCH] style fixes for preview lib --- apps/files/templates/part.list.php | 3 +- config/config.sample.php | 2 + core/ajax/preview.php | 9 ++- lib/preview.php | 76 +++++++++---------- lib/preview/{images.php => image.php} | 0 .../{libreoffice-cl.php => office-cl.php} | 9 ++- .../{msoffice.php => office-fallback.php} | 0 lib/preview/office.php | 4 +- 8 files changed, 55 insertions(+), 48 deletions(-) rename lib/preview/{images.php => image.php} (100%) rename lib/preview/{libreoffice-cl.php => office-cl.php} (87%) rename lib/preview/{msoffice.php => office-fallback.php} (100%) diff --git a/apps/files/templates/part.list.php b/apps/files/templates/part.list.php index 1ed8e0cf91b..899fb04e252 100644 --- a/apps/files/templates/part.list.php +++ b/apps/files/templates/part.list.php @@ -3,7 +3,8 @@ $totaldirs = 0; $totalsize = 0; ?> 6 + //strlen('files/') => 6 + $relativePath = substr($file['path'], 6); $totalsize += $file['size']; if ($file['type'] === 'dir') { $totaldirs++; diff --git a/config/config.sample.php b/config/config.sample.php index 86bc20b714e..5c40078c7d7 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -199,6 +199,8 @@ $CONFIG = array( 'preview_max_scale_factor' => 10, /* custom path for libreoffice / openoffice binary */ 'preview_libreoffice_path' => '/usr/bin/libreoffice', +/* cl parameters for libreoffice / openoffice */ +'preview_office_cl_parameters' => '', // date format to be used while writing to the owncloud logfile 'logdateformat' => 'F d, Y H:i:s', ); diff --git a/core/ajax/preview.php b/core/ajax/preview.php index 486155831d7..af0f0493f4c 100644 --- a/core/ajax/preview.php +++ b/core/ajax/preview.php @@ -13,13 +13,15 @@ $maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '36'; $scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true; if($file === '') { - \OC_Response::setStatus(400); //400 Bad Request + //400 Bad Request + \OC_Response::setStatus(400); \OC_Log::write('core-preview', 'No file parameter was passed', \OC_Log::DEBUG); exit; } if($maxX === 0 || $maxY === 0) { - \OC_Response::setStatus(400); //400 Bad Request + //400 Bad Request + \OC_Response::setStatus(400); \OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG); exit; } @@ -34,6 +36,5 @@ try{ $preview->show(); }catch(\Exception $e) { \OC_Response::setStatus(500); - \OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR); - exit; + \OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG); } \ No newline at end of file diff --git a/lib/preview.php b/lib/preview.php index e7dd327d021..9fed7f1b58f 100755 --- a/lib/preview.php +++ b/lib/preview.php @@ -13,14 +13,14 @@ */ namespace OC; -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/txt.php'); -require_once('preview/unknown.php'); -require_once('preview/office.php'); +require_once 'preview/image.php'; +require_once 'preview/movies.php'; +require_once 'preview/mp3.php'; +require_once 'preview/pdf.php'; +require_once 'preview/svg.php'; +require_once 'preview/txt.php'; +require_once 'preview/unknown.php'; +require_once 'preview/office.php'; class Preview { //the thumbnail folder @@ -32,8 +32,8 @@ class Preview { private $configMaxY; //fileview object - private $fileview = null; - private $userview = null; + private $fileView = null; + private $userView = null; //vars private $file; @@ -76,8 +76,8 @@ class Preview { if($user === ''){ $user = \OC_User::getUser(); } - $this->fileview = new \OC\Files\View('/' . $user . '/' . $root); - $this->userview = new \OC\Files\View('/' . $user); + $this->fileView = new \OC\Files\View('/' . $user . '/' . $root); + $this->userView = new \OC\Files\View('/' . $user); $this->preview = null; @@ -226,12 +226,12 @@ class Preview { public function isFileValid() { $file = $this->getFile(); if($file === '') { - \OC_Log::write('core', 'No filename passed', \OC_Log::ERROR); + \OC_Log::write('core', 'No filename passed', \OC_Log::DEBUG); return false; } - if(!$this->fileview->file_exists($file)) { - \OC_Log::write('core', 'File:"' . $file . '" not found', \OC_Log::ERROR); + if(!$this->fileView->file_exists($file)) { + \OC_Log::write('core', 'File:"' . $file . '" not found', \OC_Log::DEBUG); return false; } @@ -245,12 +245,12 @@ class Preview { public function deletePreview() { $file = $this->getFile(); - $fileInfo = $this->fileview->getFileInfo($file); + $fileInfo = $this->fileView->getFileInfo($file); $fileId = $fileInfo['fileid']; $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/' . $this->getMaxX() . '-' . $this->getMaxY() . '.png'; - $this->userview->unlink($previewPath); - return !$this->userview->file_exists($previewPath); + $this->userView->unlink($previewPath); + return !$this->userView->file_exists($previewPath); } /** @@ -260,13 +260,13 @@ class Preview { public function deleteAllPreviews() { $file = $this->getFile(); - $fileInfo = $this->fileview->getFileInfo($file); + $fileInfo = $this->fileView->getFileInfo($file); $fileId = $fileInfo['fileid']; $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/'; - $this->userview->deleteAll($previewPath); - $this->userview->rmdir($previewPath); - return !$this->userview->is_dir($previewPath); + $this->userView->deleteAll($previewPath); + $this->userView->rmdir($previewPath); + return !$this->userView->is_dir($previewPath); } /** @@ -280,9 +280,9 @@ class Preview { $maxX = $this->getMaxX(); $maxY = $this->getMaxY(); $scalingUp = $this->getScalingUp(); - $maxscalefactor = $this->getMaxScaleFactor(); + $maxScaleFactor = $this->getMaxScaleFactor(); - $fileInfo = $this->fileview->getFileInfo($file); + $fileInfo = $this->fileView->getFileInfo($file); $fileId = $fileInfo['fileid']; if(is_null($fileId)) { @@ -290,12 +290,12 @@ class Preview { } $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/'; - if(!$this->userview->is_dir($previewPath)) { + if(!$this->userView->is_dir($previewPath)) { return false; } //does a preview with the wanted height and width already exist? - if($this->userview->file_exists($previewPath . $maxX . '-' . $maxY . '.png')) { + if($this->userView->file_exists($previewPath . $maxX . '-' . $maxY . '.png')) { return $previewPath . $maxX . '-' . $maxY . '.png'; } @@ -304,7 +304,7 @@ class Preview { //array for usable cached thumbnails $possibleThumbnails = array(); - $allThumbnails = $this->userview->getDirectoryContent($previewPath); + $allThumbnails = $this->userView->getDirectoryContent($previewPath); foreach($allThumbnails as $thumbnail) { $name = rtrim($thumbnail['name'], '.png'); $size = explode('-', $name); @@ -319,7 +319,7 @@ class Preview { if($x < $maxX || $y < $maxY) { if($scalingUp) { $scalefactor = $maxX / $x; - if($scalefactor > $maxscalefactor) { + if($scalefactor > $maxScaleFactor) { continue; } }else{ @@ -371,19 +371,19 @@ class Preview { $maxY = $this->getMaxY(); $scalingUp = $this->getScalingUp(); - $fileInfo = $this->fileview->getFileInfo($file); + $fileInfo = $this->fileView->getFileInfo($file); $fileId = $fileInfo['fileid']; $cached = $this->isCached(); if($cached) { - $image = new \OC_Image($this->userview->file_get_contents($cached, 'r')); + $image = new \OC_Image($this->userView->file_get_contents($cached, 'r')); $this->preview = $image->valid() ? $image : null; $this->resizeAndCrop(); } if(is_null($this->preview)) { - $mimetype = $this->fileview->getMimeType($file); + $mimetype = $this->fileView->getMimeType($file); $preview = null; foreach(self::$providers as $supportedMimetype => $provider) { @@ -393,7 +393,7 @@ class Preview { \OC_Log::write('core', 'Generating preview for "' . $file . '" with "' . get_class($provider) . '"', \OC_Log::DEBUG); - $preview = $provider->getThumbnail($file, $maxX, $maxY, $scalingUp, $this->fileview); + $preview = $provider->getThumbnail($file, $maxX, $maxY, $scalingUp, $this->fileView); if(!($preview instanceof \OC_Image)) { continue; @@ -405,15 +405,15 @@ class Preview { $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/'; $cachePath = $previewPath . $maxX . '-' . $maxY . '.png'; - if($this->userview->is_dir($this->getThumbnailsFolder() . '/') === false) { - $this->userview->mkdir($this->getThumbnailsFolder() . '/'); + if($this->userView->is_dir($this->getThumbnailsFolder() . '/') === false) { + $this->userView->mkdir($this->getThumbnailsFolder() . '/'); } - if($this->userview->is_dir($previewPath) === false) { - $this->userview->mkdir($previewPath); + if($this->userView->is_dir($previewPath) === false) { + $this->userView->mkdir($previewPath); } - $this->userview->file_put_contents($cachePath, $preview->data()); + $this->userView->file_put_contents($cachePath, $preview->data()); break; } @@ -470,7 +470,7 @@ class Preview { if($x === $realx && $y === $realy) { $this->preview = $image; - return true; + return; } $factorX = $x / $realx; diff --git a/lib/preview/images.php b/lib/preview/image.php similarity index 100% rename from lib/preview/images.php rename to lib/preview/image.php diff --git a/lib/preview/libreoffice-cl.php b/lib/preview/office-cl.php similarity index 87% rename from lib/preview/libreoffice-cl.php rename to lib/preview/office-cl.php index 2f1d08499ef..112909d6523 100644 --- a/lib/preview/libreoffice-cl.php +++ b/lib/preview/office-cl.php @@ -7,7 +7,7 @@ */ namespace OC\Preview; -//we need imagick to convert +//we need imagick to convert class Office extends Provider { private $cmd; @@ -26,7 +26,10 @@ class Office extends Provider { $tmpDir = get_temp_dir(); - $exec = $this->cmd . ' --headless --nologo --nofirststartwizard --invisible --norestore -convert-to pdf -outdir ' . escapeshellarg($tmpDir) . ' ' . escapeshellarg($absPath); + $defaultParameters = ' --headless --nologo --nofirststartwizard --invisible --norestore -convert-to pdf -outdir '; + $clParameters = \OCP\Config::getSystemValue('preview_office_cl_parameters', $defaultParameters); + + $exec = $this->cmd . $clParameters . escapeshellarg($tmpDir) . ' ' . escapeshellarg($absPath); $export = 'export HOME=/' . $tmpDir; shell_exec($export . "\n" . $exec); @@ -110,7 +113,7 @@ class MSOffice2007 extends Office { //.odt, .ott, .oth, .odm, .odg, .otg, .odp, .otp, .ods, .ots, .odc, .odf, .odb, .odi, .oxt class OpenDocument extends Office { - + public function getMimeType() { return '/application\/vnd.oasis.opendocument.*/'; } diff --git a/lib/preview/msoffice.php b/lib/preview/office-fallback.php similarity index 100% rename from lib/preview/msoffice.php rename to lib/preview/office-fallback.php diff --git a/lib/preview/office.php b/lib/preview/office.php index b93e1e57c8b..5287bbd6ac1 100644 --- a/lib/preview/office.php +++ b/lib/preview/office.php @@ -14,9 +14,9 @@ if (extension_loaded('imagick')) { $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('libreoffice-cl.php'); + require_once('office-cl.php'); }else{ //in case there isn't, use our fallback - require_once('msoffice.php'); + require_once('office-fallback.php'); } } \ No newline at end of file