diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index e2147bea492..afe173ad0cc 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -494,11 +494,15 @@ class OC_Filestorage_Shared extends OC_Filestorage { } } - public function fromUploadedFile($tmpPath, $path) { - $source = $this->getSource($tmpPath); - if ($source) { - $storage = OC_Filesystem::getStorage($source); - return $storage->fromUploadedFile($this->getInternalPath($source), $path); + public function fromUploadedFile($tmpFile, $path) { + if ($this->is_writeable($path)) { + $source = $this->getSource($path); + if ($source) { + $storage = OC_Filesystem::getStorage($source); + return $storage->fromUploadedFile($tmpFile, $this->getInternalPath($source)); + } + } else { + return false; } } diff --git a/files/ajax/upload.php b/files/ajax/upload.php index 4247aeca283..2c0afa33a7d 100644 --- a/files/ajax/upload.php +++ b/files/ajax/upload.php @@ -33,7 +33,7 @@ $result=array(); if(strpos($dir,'..') === false){ $fileCount=count($files['name']); for($i=0;$i<$fileCount;$i++){ - $target='/' . stripslashes($dir) . $files['name'][$i]; + $target=stripslashes($dir) . $files['name'][$i]; if(OC_Filesystem::fromUploadedFile($files['tmp_name'][$i],$target)){ $result[]=array( "status" => "success", 'mime'=>OC_Filesystem::getMimeType($target),'size'=>OC_Filesystem::filesize($target),'name'=>$files['name'][$i]); }