diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-08-07 16:53:09 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-08-07 16:53:09 +0200 |
commit | 9321eceed6a94f74ccdb908c05e97dfb1585d211 (patch) | |
tree | 1bf5a557c92a527b2b0017ec22329621ead2e486 /apps/files/ajax/newfile.php | |
parent | fc332acf8a8ecff6cebd929a24e008648138a46d (diff) | |
download | nextcloud-server-9321eceed6a94f74ccdb908c05e97dfb1585d211.tar.gz nextcloud-server-9321eceed6a94f74ccdb908c05e97dfb1585d211.zip |
add the option to have templates for newly created files
Diffstat (limited to 'apps/files/ajax/newfile.php')
-rw-r--r-- | apps/files/ajax/newfile.php | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php index 8548fc95ddf..21db0a7834b 100644 --- a/apps/files/ajax/newfile.php +++ b/apps/files/ajax/newfile.php @@ -3,29 +3,29 @@ // Init owncloud global $eventSource; -if(!OC_User::isLoggedIn()) { +if (!OC_User::isLoggedIn()) { exit; } session_write_close(); // Get the params -$dir = isset( $_REQUEST['dir'] ) ? '/'.trim($_REQUEST['dir'], '/\\') : ''; -$filename = isset( $_REQUEST['filename'] ) ? trim($_REQUEST['filename'], '/\\') : ''; -$content = isset( $_REQUEST['content'] ) ? $_REQUEST['content'] : ''; -$source = isset( $_REQUEST['source'] ) ? trim($_REQUEST['source'], '/\\') : ''; +$dir = isset($_REQUEST['dir']) ? '/' . trim($_REQUEST['dir'], '/\\') : ''; +$filename = isset($_REQUEST['filename']) ? trim($_REQUEST['filename'], '/\\') : ''; +$content = isset($_REQUEST['content']) ? $_REQUEST['content'] : ''; +$source = isset($_REQUEST['source']) ? trim($_REQUEST['source'], '/\\') : ''; -if($source) { - $eventSource=new OC_EventSource(); +if ($source) { + $eventSource = new OC_EventSource(); } else { OC_JSON::callCheck(); } -if($filename == '') { - OCP\JSON::error(array("data" => array( "message" => "Empty Filename" ))); +if ($filename == '') { + OCP\JSON::error(array("data" => array("message" => "Empty Filename"))); exit(); } -if(strpos($filename, '/')!==false) { - OCP\JSON::error(array("data" => array( "message" => "Invalid Filename" ))); +if (strpos($filename, '/') !== false) { + OCP\JSON::error(array("data" => array("message" => "Invalid Filename"))); exit(); } @@ -34,7 +34,7 @@ function progress($notification_code, $severity, $message, $message_code, $bytes static $lastsize = 0; global $eventSource; - switch($notification_code) { + switch ($notification_code) { case STREAM_NOTIFY_FILE_SIZE_IS: $filesize = $bytes_max; break; @@ -43,52 +43,56 @@ function progress($notification_code, $severity, $message, $message_code, $bytes if ($bytes_transferred > 0) { if (!isset($filesize)) { } else { - $progress = (int)(($bytes_transferred/$filesize)*100); - if($progress>$lastsize) {//limit the number or messages send + $progress = (int)(($bytes_transferred / $filesize) * 100); + if ($progress > $lastsize) { //limit the number or messages send $eventSource->send('progress', $progress); } - $lastsize=$progress; + $lastsize = $progress; } } break; } } -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" ))); +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"))); exit(); } - $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) { + $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); - $mime=$meta['mimetype']; + $mime = $meta['mimetype']; $id = $meta['fileid']; - $eventSource->send('success', array('mime'=>$mime, 'size'=>\OC\Files\Filesystem::filesize($target), 'id' => $id)); + $eventSource->send('success', array('mime' => $mime, 'size' => \OC\Files\Filesystem::filesize($target), 'id' => $id)); } else { - $eventSource->send('error', "Error while downloading ".$source. ' to '.$target); + $eventSource->send('error', "Error while downloading " . $source . ' to ' . $target); } $eventSource->close(); exit(); } else { - if($content) { - if(\OC\Files\Filesystem::file_put_contents($dir.'/'.$filename, $content)) { - $meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename); + 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))); + 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); + } elseif (\OC\Files\Filesystem::touch($dir . '/' . $filename)) { + $meta = \OC\Files\Filesystem::getFileInfo($dir . '/' . $filename); + $templateManager = OC_Helper::getFileTemplateManager(); + if ($content = $templateManager->getTemplate($meta['mimetype'])) { + \OC\Files\Filesystem::file_put_contents($dir . '/' . $filename, $content); + } $id = $meta['fileid']; - OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id, 'mime' => $meta['mimetype']))); + OCP\JSON::success(array("data" => array('content' => $content, 'id' => $id, 'mime' => $meta['mimetype']))); exit(); } } -OCP\JSON::error(array("data" => array( "message" => "Error when creating the file" ))); +OCP\JSON::error(array("data" => array("message" => "Error when creating the file"))); |