$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();
}
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){}
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;
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));