add function in filesystem to strip webroot

remotes/origin/stable4
Bartek Przybylski 13 years ago
parent e7d1af48fb
commit f1250a3867
  1. 14
      lib/filesystem.php
  2. 7
      lib/image.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

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

Loading…
Cancel
Save