diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-25 09:52:12 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-25 09:52:12 +0200 |
commit | db39fede97dc4d6b9a5caf739cb2c03b4dbdd21d (patch) | |
tree | 0d8c9f25deb067ce23e901c72f2af842e9002341 /apps/files/ajax | |
parent | 843f15f3489856b518a30de4c803740844232209 (diff) | |
parent | 2d12e52769a30ba37d5760b1194f613bcc71035b (diff) | |
download | nextcloud-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.php | 2 | ||||
-rw-r--r-- | apps/files/ajax/getstoragestats.php | 2 | ||||
-rw-r--r-- | apps/files/ajax/list.php | 6 | ||||
-rw-r--r-- | apps/files/ajax/rawlist.php | 6 | ||||
-rw-r--r-- | apps/files/ajax/upload.php | 68 |
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))); +} |