From 48f0c54261bfa2d2f20864b0d41db8f1df6f1777 Mon Sep 17 00:00:00 2001
From: Georg Ehrke <developer@georgehrke.com>
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} (88%)
 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 1ed8e0cf91..899fb04e25 100644
--- a/apps/files/templates/part.list.php
+++ b/apps/files/templates/part.list.php
@@ -3,7 +3,8 @@
 $totaldirs = 0;
 $totalsize = 0; ?>
 <?php foreach($_['files'] as $file):
-	$relativePath = substr($file['path'], 6); //strlen('files/') => 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 86bc20b714..5c40078c7d 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 486155831d..af0f0493f4 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 e7dd327d02..9fed7f1b58 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 88%
rename from lib/preview/libreoffice-cl.php
rename to lib/preview/office-cl.php
index 2f1d08499e..112909d652 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 b93e1e57c8..5287bbd6ac 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
-- 
GitLab