diff --git a/lib/filesystem.php b/lib/filesystem.php index cac7e8648ef127e08a5faeaf7d5e2e966c4290a3..198f00873c5e67ec2cd2408fc328a8f54c1b11ef 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -341,6 +341,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 77efc56d8ccb386a0d1d8237df777cb8a5724f2e..f119c99633f20fd830e41b9802d799993a126633 100644 --- a/lib/image.php +++ b/lib/image.php @@ -402,12 +402,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;