[Pkg-owncloud-commits] [owncloud] 40/258: Catch exceptions when moving files
David Prévot
taffit at moszumanska.debian.org
Sat Oct 11 17:22:18 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit 85cde16febe71aa1539b4a599bd7612c98312a20
Author: Vincent Petry <pvince81 at owncloud.com>
Date: Fri Sep 5 14:54:06 2014 +0200
Catch exceptions when moving files
When moving files on storages that don't expose permissions, the storage
itself might throw an exception when the permission is denied.
This fix ensures that exceptions are caught and forwarded to the client
instead of just hanging.
Backport of e43c9b84c42a8b3f4fb25a950123fbcc060d1a5a from master
---
apps/files/ajax/move.php | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/apps/files/ajax/move.php b/apps/files/ajax/move.php
index 0a8dbc2..968cd2b 100644
--- a/apps/files/ajax/move.php
+++ b/apps/files/ajax/move.php
@@ -19,10 +19,16 @@ if(\OC\Files\Filesystem::file_exists($target . '/' . $file)) {
if ($target != '' || strtolower($file) != 'shared') {
$targetFile = \OC\Files\Filesystem::normalizePath($target . '/' . $file);
$sourceFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file);
- if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) {
- OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
- } else {
- OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
+ try {
+ if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) {
+ OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
+ } else {
+ OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
+ }
+ } catch (\OCP\Files\NotPermittedException $e) {
+ OCP\JSON::error(array("data" => array( "message" => $l->t("Permission denied") )));
+ } catch (\Exception $e) {
+ OCP\JSON::error(array("data" => array( "message" => $e->getMessage())));
}
}else{
OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list