Browse Source

Merge d36a9053c4 into e663899505

pull/54526/merge
backportbot[bot] 1 day ago
committed by GitHub
parent
commit
3db0e440d2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 26
      apps/files_trashbin/lib/Trashbin.php

26
apps/files_trashbin/lib/Trashbin.php

@ -6,7 +6,6 @@
*/
namespace OCA\Files_Trashbin;
use Exception;
use OC\Files\Cache\Cache;
use OC\Files\Cache\CacheEntry;
use OC\Files\Cache\CacheQueryBuilder;
@ -455,6 +454,9 @@ class Trashbin implements IEventListener {
*/
public static function restore($file, $filename, $timestamp) {
$user = OC_User::getUser();
if (!$user) {
throw new \Exception('Tried to restore a file while not logged in');
}
$view = new View('/' . $user);
$location = '';
@ -491,8 +493,8 @@ class Trashbin implements IEventListener {
$sourcePath = Filesystem::normalizePath($file);
$targetPath = Filesystem::normalizePath('/' . $location . '/' . $uniqueFilename);
$sourceNode = self::getNodeForPath($sourcePath);
$targetNode = self::getNodeForPath($targetPath);
$sourceNode = self::getNodeForPath($user, $sourcePath);
$targetNode = self::getNodeForPath($user, $targetPath, 'files');
$run = true;
$event = new BeforeNodeRestoredEvent($sourceNode, $targetNode, $run);
$dispatcher = \OC::$server->get(IEventDispatcher::class);
@ -512,8 +514,8 @@ class Trashbin implements IEventListener {
$view->chroot($fakeRoot);
Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', ['filePath' => $targetPath, 'trashPath' => $sourcePath]);
$sourceNode = self::getNodeForPath($sourcePath);
$targetNode = self::getNodeForPath($targetPath);
$sourceNode = self::getNodeForPath($user, $sourcePath);
$targetNode = self::getNodeForPath($user, $targetPath, 'files');
$event = new NodeRestoredEvent($sourceNode, $targetNode);
$dispatcher = \OC::$server->get(IEventDispatcher::class);
$dispatcher->dispatchTyped($event);
@ -1163,14 +1165,12 @@ class Trashbin implements IEventListener {
$user = OC_User::getUser();
$rootFolder = \OC::$server->get(IRootFolder::class);
if ($user !== false) {
$userFolder = $rootFolder->getUserFolder($user);
/** @var Folder */
$trashFolder = $userFolder->getParent()->get('files_trashbin/files');
try {
return $trashFolder->get($path);
} catch (NotFoundException $ex) {
}
$userFolder = $rootFolder->getUserFolder($user);
/** @var Folder $trashFolder */
$trashFolder = $userFolder->getParent()->get($baseDir);
try {
return $trashFolder->get($path);
} catch (NotFoundException $ex) {
}
$view = \OC::$server->get(View::class);

Loading…
Cancel
Save