[Pkg-owncloud-commits] [owncloud] 59/239: use relative paths to create images from a file. This way it also works if no user is logged in (e.g. public gallery share)

David Prévot taffit at moszumanska.debian.org
Fri Nov 29 01:32:19 UTC 2013


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 3488f0b77a2d03747bf20b5d870639cb40440083
Author: Bjoern Schiessle <schiessle at owncloud.com>
Date:   Fri Nov 22 12:26:01 2013 +0100

    use relative paths to create images from a file. This way it also works if
    no user is logged in (e.g. public gallery share)
---
 lib/private/image.php | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/lib/private/image.php b/lib/private/image.php
index 7761a3c..b5ae116 100644
--- a/lib/private/image.php
+++ b/lib/private/image.php
@@ -414,60 +414,61 @@ class OC_Image {
 	*/
 	public function loadFromFile($imagePath=false) {
 		// exif_imagetype throws "read error!" if file is less than 12 byte
-		if(!@is_file($imagePath) || !file_exists($imagePath) || filesize($imagePath) < 12 || !is_readable($imagePath)) {
+		$absPath = \OC\Files\Filesystem::getLocalFile($imagePath);
+		if(!@is_file($absPath) || !file_exists($absPath) || filesize($absPath) < 12 || !is_readable($absPath)) {
 			// Debug output disabled because this method is tried before loadFromBase64?
-			OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: '.$imagePath, OC_Log::DEBUG);
+			OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: '.$absPath, OC_Log::DEBUG);
 			return false;
 		}
-		$iType = exif_imagetype($imagePath);
+		$iType = exif_imagetype($absPath);
 		switch ($iType) {
 			case IMAGETYPE_GIF:
 				if (imagetypes() & IMG_GIF) {
-					$this->resource = imagecreatefromgif($imagePath);
+					$this->resource = imagecreatefromgif($absPath);
 				} else {
 					OC_Log::write('core',
-						'OC_Image->loadFromFile, GIF images not supported: '.$imagePath,
+						'OC_Image->loadFromFile, GIF images not supported: '.$absPath,
 						OC_Log::DEBUG);
 				}
 				break;
 			case IMAGETYPE_JPEG:
 				if (imagetypes() & IMG_JPG) {
-					$this->resource = imagecreatefromjpeg($imagePath);
+					$this->resource = imagecreatefromjpeg($absPath);
 				} else {
 					OC_Log::write('core',
-						'OC_Image->loadFromFile, JPG images not supported: '.$imagePath,
+						'OC_Image->loadFromFile, JPG images not supported: '.$absPath,
 						OC_Log::DEBUG);
 				}
 				break;
 			case IMAGETYPE_PNG:
 				if (imagetypes() & IMG_PNG) {
-					$this->resource = imagecreatefrompng($imagePath);
+					$this->resource = imagecreatefrompng($absPath);
 				} else {
 					OC_Log::write('core',
-						'OC_Image->loadFromFile, PNG images not supported: '.$imagePath,
+						'OC_Image->loadFromFile, PNG images not supported: '.$absPath,
 						OC_Log::DEBUG);
 				}
 				break;
 			case IMAGETYPE_XBM:
 				if (imagetypes() & IMG_XPM) {
-					$this->resource = imagecreatefromxbm($imagePath);
+					$this->resource = imagecreatefromxbm($absPath);
 				} else {
 					OC_Log::write('core',
-						'OC_Image->loadFromFile, XBM/XPM images not supported: '.$imagePath,
+						'OC_Image->loadFromFile, XBM/XPM images not supported: '.$absPath,
 						OC_Log::DEBUG);
 				}
 				break;
 			case IMAGETYPE_WBMP:
 				if (imagetypes() & IMG_WBMP) {
-					$this->resource = imagecreatefromwbmp($imagePath);
+					$this->resource = imagecreatefromwbmp($absPath);
 				} else {
 					OC_Log::write('core',
-						'OC_Image->loadFromFile, WBMP images not supported: '.$imagePath,
+						'OC_Image->loadFromFile, WBMP images not supported: '.$absPath,
 						OC_Log::DEBUG);
 				}
 				break;
 			case IMAGETYPE_BMP:
-					$this->resource = $this->imagecreatefrombmp($imagePath);
+					$this->resource = $this->imagecreatefrombmp($absPath);
 				break;
 			/*
 			case IMAGETYPE_TIFF_II: // (intel byte order)
@@ -496,7 +497,7 @@ class OC_Image {
 			default:
 
 				// this is mostly file created from encrypted file
-				$this->resource = imagecreatefromstring(\OC\Files\Filesystem::file_get_contents(\OC\Files\Filesystem::getLocalPath($imagePath)));
+				$this->resource = imagecreatefromstring(\OC\Files\Filesystem::file_get_contents($imagePath));
 				$iType = IMAGETYPE_PNG;
 				OC_Log::write('core', 'OC_Image->loadFromFile, Default', OC_Log::DEBUG);
 				break;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list