summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-04-07 22:20:44 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2014-04-07 22:28:16 +0200
commit3587c88fe946196af009d02db7c7d5e2c8934fe9 (patch)
treea18ce4f6cb6acd08f082cb365f42f25a4b691c21 /apps/files
parentbe9bc2c727e59ced01f86bc1781ac586f92bc29f (diff)
parent089052b13af7a5e27d225ab345616511f4eaf2a9 (diff)
downloadnextcloud-server-3587c88fe946196af009d02db7c7d5e2c8934fe9.tar.gz
nextcloud-server-3587c88fe946196af009d02db7c7d5e2c8934fe9.zip
Merge branch 'master' of https://github.com/lukepolo/core-1 into lukepolo-master
Conflicts: apps/files/js/file-upload.js
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/ajax/upload.php26
-rw-r--r--apps/files/js/file-upload.js4
-rw-r--r--apps/files/js/filelist.js33
3 files changed, 50 insertions, 13 deletions
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index b21a9dfba2e..38175fa5001 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -111,22 +111,32 @@ if ($maxUploadFileSize >= 0 and $totalSize > $maxUploadFileSize) {
}
$result = array();
+$directory = '';
if (strpos($dir, '..') === false) {
$fileCount = count($files['name']);
for ($i = 0; $i < $fileCount; $i++) {
+
+ // Get the files directory
+ if(isset($_POST['file_directory']) === true) {
+ $directory = '/'.$_POST['file_directory'];
+ }
+
// $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
if (isset($_POST['resolution']) && $_POST['resolution']==='autorename') {
// append a number in brackets like 'filename (2).ext'
- $target = OCP\Files::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
+ $target = OCP\Files::buildNotExistingFileName(stripslashes($dir.$directory), $files['name'][$i]);
} else {
- $target = \OC\Files\Filesystem::normalizePath(stripslashes($dir).'/'.$files['name'][$i]);
+ $target = \OC\Files\Filesystem::normalizePath(stripslashes($dir.$directory).'/'.$files['name'][$i]);
}
-
- $directory = \OC\Files\Filesystem::normalizePath(stripslashes($dir));
- if (isset($public_directory)) {
- // If we are uploading from the public app,
- // we want to send the relative path in the ajax request.
- $directory = $public_directory;
+
+ if(empty($directory) === true)
+ {
+ $directory = \OC\Files\Filesystem::normalizePath(stripslashes($dir));
+ if (isset($public_directory)) {
+ // If we are uploading from the public app,
+ // we want to send the relative path in the ajax request.
+ $directory = $public_directory;
+ }
}
if ( ! \OC\Files\Filesystem::file_exists($target)
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index e5d1eacbd14..46a53208406 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -329,7 +329,8 @@ OC.Upload = {
// noone set update parameters, we set the minimum
data.formData = {
requesttoken: oc_requesttoken,
- dir: $('#dir').val()
+ dir: $('#dir').val(),
+ file_directory: data.files[0]['relativePath']
};
}
},
@@ -683,3 +684,4 @@ $(document).ready(function() {
OC.Upload.init();
});
+
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 509929d0e55..69c97e8b32a 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1020,7 +1020,8 @@ $(document).ready(function() {
data.formData = function(form) {
return [
{name: 'dir', value: dir},
- {name: 'requesttoken', value: oc_requesttoken}
+ {name: 'requesttoken', value: oc_requesttoken},
+ {name: 'file_directory', value: data.files[0]['relativePath']}
];
};
} else {
@@ -1102,10 +1103,34 @@ $(document).ready(function() {
size += parseInt(file.size);
data.context.attr('data-size', size);
data.context.find('td.filesize').text(humanFileSize(size));
-
- } else {
+ }
+ else {
// only append new file if uploaded into the current folder
- if (file.directory !== FileList.getCurrentDirectory()) {
+ if (file.directory != '/' && file.directory !== FileList.getCurrentDirectory()) {
+
+ file_directory = file.directory.replace('/','').replace(/\/$/, "").split('/');
+
+ if (file_directory.length == 1) {
+ file_directory = file_directory[0];
+
+ // Get the directory
+ if ($('tr[data-file="'+file_directory+'"]').length == 0)
+ {
+ FileList.addDir(file_directory, 0, new Date(), false);
+ }
+ }
+ else {
+ file_directory = file_directory[0];
+ }
+
+ file_directory = FileList.findFileEl(file_directory);
+
+ // update folder size
+ var size = parseInt(file_directory.attr('data-size'));
+ size += parseInt(file.size);
+ file_directory.attr('data-size', size);
+ file_directory.find('td.filesize').text(humanFileSize(size));
+
return;
}