diff --git a/lib/filesystem.php b/lib/filesystem.php index 337b0f1464..454bb1aa81 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -343,6 +343,20 @@ class OC_Filesystem{ return self::$defaultInstance->getLocalFile($path); } + /** + * return path to file which reflects one visible in browser + * @param string path + * @return string + */ + static public function getLocalPath($path) { + $datadir = \OCP\Config::getSystemValue('datadirectory').'/'.\OC_User::getUser().'/files'; + $newpath = $path; + if (strncmp($newpath, $datadir, strlen($datadir)) == 0) { + $newpath = substr($path, strlen($datadir)); + } + return $newpath; + } + /** * check if the requested path is valid * @param string path diff --git a/lib/image.php b/lib/image.php index 41e8c744d8..d72960101f 100644 --- a/lib/image.php +++ b/lib/image.php @@ -409,12 +409,7 @@ class OC_Image { default: // this is mostly file created from encrypted file - $datadir = \OCP\Config::getSystemValue('datadirectory').'/'.\OC_User::getUser().'/files'; - $newimgpath = $imagepath; - if (strncmp($newimgpath, $datadir, strlen($datadir)) == 0) { - $newimgpath = substr($imagepath, strlen($datadir)); - } - $this->resource = imagecreatefromstring(\OC_Filesystem::file_get_contents($newimgpath)); + $this->resource = imagecreatefromstring(\OC_Filesystem::file_get_contents(\OC_Filesystem::getLocalPath($newimgpath))); $itype = IMAGETYPE_PNG; OC_Log::write('core','OC_Image->loadFromFile, Default', OC_Log::DEBUG); break;