add function in filesystem to strip webroot

This commit is contained in:
Bartek Przybylski 2012-06-09 15:26:26 +02:00
parent 120997112c
commit 43501309e3
2 changed files with 15 additions and 6 deletions

View File

@ -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

View File

@ -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;