summaryrefslogtreecommitdiffstats
path: root/apps/files/ajax/newfile.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/ajax/newfile.php')
-rw-r--r--apps/files/ajax/newfile.php35
1 files changed, 24 insertions, 11 deletions
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index 8548fc95ddf..d224e79d01b 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -54,6 +54,8 @@ function progress($notification_code, $severity, $message, $message_code, $bytes
}
}
+$target = $dir.'/'.$filename;
+
if($source) {
if(substr($source, 0, 8)!='https://' and substr($source, 0, 7)!='http://') {
OCP\JSON::error(array("data" => array( "message" => "Not a valid source" )));
@@ -62,7 +64,6 @@ if($source) {
$ctx = stream_context_create(null, array('notification' =>'progress'));
$sourceStream=fopen($source, 'rb', false, $ctx);
- $target=$dir.'/'.$filename;
$result=\OC\Files\Filesystem::file_put_contents($target, $sourceStream);
if($result) {
$meta = \OC\Files\Filesystem::getFileInfo($target);
@@ -75,20 +76,32 @@ if($source) {
$eventSource->close();
exit();
} else {
+ $success = false;
+ if (!$content) {
+ $templateManager = OC_Helper::getFileTemplateManager();
+ $mimeType = OC_Helper::getMimeType($target);
+ $content = $templateManager->getTemplate($mimeType);
+ }
+
if($content) {
- if(\OC\Files\Filesystem::file_put_contents($dir.'/'.$filename, $content)) {
- $meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename);
- $id = $meta['fileid'];
- OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
- exit();
- }
- }elseif(\OC\Files\Filesystem::touch($dir . '/' . $filename)) {
- $meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename);
+ $success = \OC\Files\Filesystem::file_put_contents($target, $content);
+ } else {
+ $success = \OC\Files\Filesystem::touch($target);
+ }
+
+ if($success) {
+ $meta = \OC\Files\Filesystem::getFileInfo($target);
$id = $meta['fileid'];
- OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id, 'mime' => $meta['mimetype'])));
+ $mime = $meta['mimetype'];
+ $size = $meta['size'];
+ OCP\JSON::success(array('data' => array(
+ 'id' => $id,
+ 'mime' => $mime,
+ 'size' => $size,
+ 'content' => $content,
+ )));
exit();
}
}
-
OCP\JSON::error(array("data" => array( "message" => "Error when creating the file" )));