diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-02-14 12:25:20 +0100 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2014-02-14 12:25:20 +0100 |
commit | afe133d5d1cec3b910da72969361c6134e5f398e (patch) | |
tree | a815bc2a989671bd063e4706f83d4718b601594c /apps | |
parent | 4b84e3a7e8bf7dc0a8e62074803f97a81571ca22 (diff) | |
parent | 9619459e37dce3723eb912e1ea9f149dc3f5de49 (diff) | |
download | nextcloud-server-afe133d5d1cec3b910da72969361c6134e5f398e.tar.gz nextcloud-server-afe133d5d1cec3b910da72969361c6134e5f398e.zip |
Merge pull request #7168 from owncloud/issue/7152
Send correct path on file upload when using public app
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/ajax/upload.php | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php index 754c34ef088..145f40c50da 100644 --- a/apps/files/ajax/upload.php +++ b/apps/files/ajax/upload.php @@ -22,6 +22,7 @@ if (empty($_POST['dirToken'])) { } else { // return only read permissions for public upload $allowedPermissions = OCP\PERMISSION_READ; + $public_directory = !empty($_POST['subdir']) ? $_POST['subdir'] : '/'; $linkItem = OCP\Share::getShareByToken($_POST['dirToken']); if ($linkItem === false) { @@ -45,7 +46,7 @@ if (empty($_POST['dirToken'])) { $dir = sprintf( "/%s/%s", $path, - isset($_POST['subdir']) ? $_POST['subdir'] : '' + $public_directory ); if (!$dir || empty($dir) || $dir === false) { @@ -112,7 +113,14 @@ if (strpos($dir, '..') === false) { } else { $target = \OC\Files\Filesystem::normalizePath(stripslashes($dir).'/'.$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 ( ! \OC\Files\Filesystem::file_exists($target) || (isset($_POST['resolution']) && $_POST['resolution']==='replace') ) { @@ -140,7 +148,7 @@ if (strpos($dir, '..') === false) { 'uploadMaxFilesize' => $maxUploadFileSize, 'maxHumanFilesize' => $maxHumanFileSize, 'permissions' => $meta['permissions'] & $allowedPermissions, - 'directory' => \OC\Files\Filesystem::normalizePath(stripslashes($dir)), + 'directory' => $directory, ); } @@ -168,7 +176,7 @@ if (strpos($dir, '..') === false) { 'uploadMaxFilesize' => $maxUploadFileSize, 'maxHumanFilesize' => $maxHumanFileSize, 'permissions' => $meta['permissions'] & $allowedPermissions, - 'directory' => \OC\Files\Filesystem::normalizePath(stripslashes($dir)), + 'directory' => $directory, ); } } |