add function in filesystem to strip webroot

remotes/origin/stable4
Bartek Przybylski 2012-06-09 15:26:26 +07:00
parent e7d1af48fb
commit f1250a3867
2 changed files with 15 additions and 6 deletions

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

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