Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2022-02-10 19:47:41 +0300
committerGitHub <noreply@github.com>2022-02-10 19:47:41 +0300
commit1a9e6f1571b04946c0214cb49a565427190803c0 (patch)
treeb0523dc47312c61764f05cb5fc508e4c883e6a5b /apps/files
parentb881940bf31a45de81ade6cbe3f2e870846866ad (diff)
parent7858fee5b53e640ed04b5ec54034c75e22124fd6 (diff)
Merge pull request #31097 from nextcloud/bugfix/31096/fix-shares-transfer-guest-to-nonguest
Fix path handling when transferring incoming shares
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/lib/Service/OwnershipTransferService.php6
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/files/lib/Service/OwnershipTransferService.php b/apps/files/lib/Service/OwnershipTransferService.php
index 93a3a188399..670e6419d75 100644
--- a/apps/files/lib/Service/OwnershipTransferService.php
+++ b/apps/files/lib/Service/OwnershipTransferService.php
@@ -444,13 +444,17 @@ class OwnershipTransferService {
$output->writeln("Restoring incoming shares ...");
$progress = new ProgressBar($output, count($sourceShares));
$prefix = "$destinationUid/files";
+ $finalShareTarget = '';
if (substr($finalTarget, 0, strlen($prefix)) === $prefix) {
$finalShareTarget = substr($finalTarget, strlen($prefix));
}
foreach ($sourceShares as $share) {
try {
// Only restore if share is in given path.
- $pathToCheck = '/' . trim($path) . '/';
+ $pathToCheck = '/';
+ if (trim($path, '/') !== '') {
+ $pathToCheck = '/' . trim($path) . '/';
+ }
if (substr($share->getTarget(), 0, strlen($pathToCheck)) !== $pathToCheck) {
continue;
}