Skip to content
Snippets Groups Projects
Commit 8a5d1ffe authored by Arthur Schiwon's avatar Arthur Schiwon
Browse files

fix that might solve strange uploading issues

parent 85a6097c
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,8 @@ if(!empty($dir)) $dir .= '/';
$target='/' . stripslashes($dir) . $fileName;
if(isset($_SESSION['username'])
and $_SESSION['username'] and strpos($dir,'..') === false){
if(OC_FILESYSTEM::fromTmpFile($source,$target)){
if(OC_FILESYSTEM::fromUploadedFile($source,$target)){
// if(OC_FILES::move(dirname($source),basename($source), $dir, $fileName)){
echo json_encode(array( "status" => "success"));
exit();
}
......
......@@ -69,6 +69,7 @@ class OC_FILESTORAGE{
public function fopen($path,$mode){}
public function toTmpFile($path){}//copy the file to a temporary file, used for cross-storage file actions
public function fromTmpFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions
public function fromUploadedFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions
public function getMimeType($path){}
public function delTree($path){}
public function find($path){}
......@@ -388,6 +389,17 @@ die( "oh nooo!" );
return false;
}
}
public function fromUploadedFile($tmpFile,$path){
$fileStats = stat($tmpFile);
if(move_uploaded_file($tmpFile,$this->datadir.$path)){
touch($this->datadir.$path, $fileStats['mtime'], $fileStats['atime']);
$this->notifyObservers($path,OC_FILEACTION_CREATE);
return true;
}else{
return false;
}
}
public function delTree($dir) {
$dirRelative=$dir;
......
......@@ -339,6 +339,11 @@ class OC_FILESYSTEM{
return $storage->fromTmpFile($tmpFile,self::getInternalPath($path));
}
}
static public function fromUploadedFile($tmpFile,$path){
if(self::canWrite($path) and $storage=self::getStorage($path)){
return $storage->fromUploadedFile($tmpFile,self::getInternalPath($path));
}
}
static public function getMimeType($path){
if(self::canRead($path) and $storage=self::getStorage($path)){
return $storage->getMimeType(self::getInternalPath($path));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment