allow writing content directly when creating new SimpleFile

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2020-02-18 18:02:58 +01:00 committed by Roeland Jago Douma
parent 5ca1929e8c
commit 63608ef461
No known key found for this signature in database
GPG Key ID: F941078878347C0C
4 changed files with 12 additions and 6 deletions

View File

@ -123,7 +123,7 @@ class NewSimpleFile implements ISimpleFile {
public function putContent($data) {
try {
if ($this->file) {
return $this->file->putContent($data);
$this->file->putContent($data);
} else {
$this->file = $this->parentFolder->newFile($this->name, $data);
}

View File

@ -80,8 +80,13 @@ class SimpleFolder implements ISimpleFolder {
return new SimpleFile($file);
}
public function newFile($name) {
// delay creating the file until it's written to
return new NewSimpleFile($this->folder, $name);
public function newFile($name, $content = null) {
if ($content === null) {
// delay creating the file until it's written to
return new NewSimpleFile($this->folder, $name);
} else {
$file = $this->folder->newFile($name, $content);
return new SimpleFile($file);
}
}
}

View File

@ -109,7 +109,7 @@ interface Folder extends Node {
* Create a new file
*
* @param string $path relative path of the new file
* @param string | resource | null $content content for the new file, since 19.0.0
* @param string|resource|null $content content for the new file, since 19.0.0
* @return \OCP\Files\File
* @throws \OCP\Files\NotPermittedException
* @since 6.0.0

View File

@ -64,11 +64,12 @@ interface ISimpleFolder {
* Creates a new file with $name in the folder
*
* @param string $name
* @param string|resource|null $content @since 19.0.0
* @return ISimpleFile
* @throws NotPermittedException
* @since 11.0.0
*/
public function newFile($name);
public function newFile($name, $content = null);
/**
* Remove the folder and all the files in it