summaryrefslogtreecommitdiffstats
path: root/apps/files/ajax
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-09-25 09:52:12 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-09-25 09:52:12 +0200
commitdb39fede97dc4d6b9a5caf739cb2c03b4dbdd21d (patch)
tree0d8c9f25deb067ce23e901c72f2af842e9002341 /apps/files/ajax
parent843f15f3489856b518a30de4c803740844232209 (diff)
parent2d12e52769a30ba37d5760b1194f613bcc71035b (diff)
downloadnextcloud-server-db39fede97dc4d6b9a5caf739cb2c03b4dbdd21d.tar.gz
nextcloud-server-db39fede97dc4d6b9a5caf739cb2c03b4dbdd21d.zip
Merge branch 'master' into appframework-master
Conflicts: apps/files/lib/helper.php apps/files_trashbin/lib/helper.php
Diffstat (limited to 'apps/files/ajax')
-rw-r--r--apps/files/ajax/delete.php2
-rw-r--r--apps/files/ajax/getstoragestats.php2
-rw-r--r--apps/files/ajax/list.php6
-rw-r--r--apps/files/ajax/rawlist.php6
-rw-r--r--apps/files/ajax/upload.php68
5 files changed, 61 insertions, 23 deletions
diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php
index 5f4856ec790..c69f5a8860c 100644
--- a/apps/files/ajax/delete.php
+++ b/apps/files/ajax/delete.php
@@ -24,7 +24,7 @@ foreach ($files as $file) {
}
// get array with updated storage stats (e.g. max file size) after upload
-$storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
+$storageStats = \OCA\Files\Helper::buildFileStorageStatistics($dir);
if ($success) {
OCP\JSON::success(array("data" => array_merge(array("dir" => $dir, "files" => $files), $storageStats)));
diff --git a/apps/files/ajax/getstoragestats.php b/apps/files/ajax/getstoragestats.php
index 7a2b642a9bd..32a77bff6c3 100644
--- a/apps/files/ajax/getstoragestats.php
+++ b/apps/files/ajax/getstoragestats.php
@@ -6,4 +6,4 @@ $RUNTIME_APPTYPES = array('filesystem');
OCP\JSON::checkLoggedIn();
// send back json
-OCP\JSON::success(array('data' => \OCA\files\lib\Helper::buildFileStorageStatistics('/')));
+OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics('/')));
diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php
index f1b713b5534..350fc7fa5f6 100644
--- a/apps/files/ajax/list.php
+++ b/apps/files/ajax/list.php
@@ -20,11 +20,11 @@ $doBreadcrumb = isset($_GET['breadcrumb']);
$data = array();
$baseUrl = OCP\Util::linkTo('files', 'index.php') . '?dir=';
-$permissions = \OCA\files\lib\Helper::getDirPermissions($dir);
+$permissions = \OCA\Files\Helper::getDirPermissions($dir);
// Make breadcrumb
if($doBreadcrumb) {
- $breadcrumb = \OCA\files\lib\Helper::makeBreadcrumb($dir);
+ $breadcrumb = \OCA\Files\Helper::makeBreadcrumb($dir);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
@@ -34,7 +34,7 @@ if($doBreadcrumb) {
}
// make filelist
-$files = \OCA\files\lib\Helper::getFiles($dir);
+$files = \OCA\Files\Helper::getFiles($dir);
$list = new OCP\Template("files", "part.list", "");
$list->assign('files', $files, false);
diff --git a/apps/files/ajax/rawlist.php b/apps/files/ajax/rawlist.php
index 802a3083533..531481a84c0 100644
--- a/apps/files/ajax/rawlist.php
+++ b/apps/files/ajax/rawlist.php
@@ -28,7 +28,7 @@ if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
$file['directory'] = $dir;
$file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']);
$file["date"] = OCP\Util::formatDate($file["mtime"]);
- $file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
+ $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
$files[] = $file;
}
}
@@ -39,7 +39,7 @@ if (is_array($mimetypes) && count($mimetypes)) {
$file['directory'] = $dir;
$file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']);
$file["date"] = OCP\Util::formatDate($file["mtime"]);
- $file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
+ $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
$files[] = $file;
}
}
@@ -48,7 +48,7 @@ if (is_array($mimetypes) && count($mimetypes)) {
$file['directory'] = $dir;
$file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']);
$file["date"] = OCP\Util::formatDate($file["mtime"]);
- $file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
+ $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
$files[] = $file;
}
}
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index 1d03cd89f83..0920bf62109 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -53,7 +53,7 @@ OCP\JSON::callCheck();
// get array with current storage stats (e.g. max file size)
-$storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
+$storageStats = \OCA\Files\Helper::buildFileStorageStatistics($dir);
if (!isset($_FILES['files'])) {
OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('No file was uploaded. Unknown error')), $storageStats)));
@@ -78,7 +78,7 @@ foreach ($_FILES['files']['error'] as $error) {
}
$files = $_FILES['files'];
-$error = '';
+$error = false;
$maxUploadFileSize = $storageStats['uploadMaxFilesize'];
$maxHumanFileSize = OCP\Util::humanFileSize($maxUploadFileSize);
@@ -98,33 +98,71 @@ $result = array();
if (strpos($dir, '..') === false) {
$fileCount = count($files['name']);
for ($i = 0; $i < $fileCount; $i++) {
- $target = OCP\Files::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
// $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
- $target = \OC\Files\Filesystem::normalizePath($target);
- if (is_uploaded_file($files['tmp_name'][$i]) and \OC\Files\Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
+ 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]);
+ } else {
+ $target = \OC\Files\Filesystem::normalizePath(stripslashes($dir).'/'.$files['name'][$i]);
+ }
+
+ if ( ! \OC\Files\Filesystem::file_exists($target)
+ || (isset($_POST['resolution']) && $_POST['resolution']==='replace')
+ ) {
+ // upload and overwrite file
+ if (is_uploaded_file($files['tmp_name'][$i]) and \OC\Files\Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
+
+ // updated max file size after upload
+ $storageStats = \OCA\Files\Helper::buildFileStorageStatistics($dir);
+
+ $meta = \OC\Files\Filesystem::getFileInfo($target);
+ if ($meta === false) {
+ $error = $l->t('Upload failed. Could not get file info.');
+ } else {
+ $result[] = array('status' => 'success',
+ 'mime' => $meta['mimetype'],
+ 'mtime' => $meta['mtime'],
+ 'size' => $meta['size'],
+ 'id' => $meta['fileid'],
+ 'name' => basename($target),
+ 'originalname' => $files['tmp_name'][$i],
+ 'uploadMaxFilesize' => $maxUploadFileSize,
+ 'maxHumanFilesize' => $maxHumanFileSize,
+ 'permissions' => $meta['permissions'],
+ );
+ }
+
+ } else {
+ $error = $l->t('Upload failed. Could not find uploaded file');
+ }
+
+ } else {
+ // file already exists
$meta = \OC\Files\Filesystem::getFileInfo($target);
- // updated max file size after upload
- $storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
if ($meta === false) {
- OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('Upload failed')), $storageStats)));
- exit();
+ $error = $l->t('Upload failed. Could not get file info.');
} else {
- $result[] = array('status' => 'success',
+ $result[] = array('status' => 'existserror',
'mime' => $meta['mimetype'],
+ 'mtime' => $meta['mtime'],
'size' => $meta['size'],
'id' => $meta['fileid'],
'name' => basename($target),
- 'originalname' => $files['name'][$i],
+ 'originalname' => $files['tmp_name'][$i],
'uploadMaxFilesize' => $maxUploadFileSize,
- 'maxHumanFilesize' => $maxHumanFileSize
+ 'maxHumanFilesize' => $maxHumanFileSize,
+ 'permissions' => $meta['permissions'],
);
}
}
}
- OCP\JSON::encodedPrint($result);
- exit();
} else {
$error = $l->t('Invalid directory.');
}
-OCP\JSON::error(array('data' => array_merge(array('message' => $error), $storageStats)));
+if ($error === false) {
+ OCP\JSON::encodedPrint($result);
+ exit();
+} else {
+ OCP\JSON::error(array('data' => array_merge(array('message' => $error), $storageStats)));
+}