From 7f58c41015dc152b04569d795389b4b0df8e3672 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 26 Oct 2017 16:23:41 +0200 Subject: [PATCH] fix sorting Signed-off-by: Arthur Schiwon --- .../composer/composer/autoload_classmap.php | 1 + .../composer/composer/autoload_static.php | 1 + .../lib/Collaboration/ShareRecipientSorter.php | 18 ++++++++++++++---- .../Collaboration/AutoComplete/Manager.php | 2 +- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/files_sharing/composer/composer/autoload_classmap.php b/apps/files_sharing/composer/composer/autoload_classmap.php index 48b9651a00..a68db3421b 100644 --- a/apps/files_sharing/composer/composer/autoload_classmap.php +++ b/apps/files_sharing/composer/composer/autoload_classmap.php @@ -19,6 +19,7 @@ return array( 'OCA\\Files_Sharing\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php', 'OCA\\Files_Sharing\\Cache' => $baseDir . '/../lib/Cache.php', 'OCA\\Files_Sharing\\Capabilities' => $baseDir . '/../lib/Capabilities.php', + 'OCA\\Files_Sharing\\Collaboration\\ShareRecipientSorter' => $baseDir . '/../lib/Collaboration/ShareRecipientSorter.php', 'OCA\\Files_Sharing\\Command\\CleanupRemoteStorages' => $baseDir . '/../lib/Command/CleanupRemoteStorages.php', 'OCA\\Files_Sharing\\Controller\\ExternalSharesController' => $baseDir . '/../lib/Controller/ExternalSharesController.php', 'OCA\\Files_Sharing\\Controller\\PublicPreviewController' => $baseDir . '/../lib/Controller/PublicPreviewController.php', diff --git a/apps/files_sharing/composer/composer/autoload_static.php b/apps/files_sharing/composer/composer/autoload_static.php index caabc5d50a..311dd9a702 100644 --- a/apps/files_sharing/composer/composer/autoload_static.php +++ b/apps/files_sharing/composer/composer/autoload_static.php @@ -34,6 +34,7 @@ class ComposerStaticInitf32f03f7cd82bff20d6a51be16689441 'OCA\\Files_Sharing\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php', 'OCA\\Files_Sharing\\Cache' => __DIR__ . '/..' . '/../lib/Cache.php', 'OCA\\Files_Sharing\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php', + 'OCA\\Files_Sharing\\Collaboration\\ShareRecipientSorter' => __DIR__ . '/..' . '/../lib/Collaboration/ShareRecipientSorter.php', 'OCA\\Files_Sharing\\Command\\CleanupRemoteStorages' => __DIR__ . '/..' . '/../lib/Command/CleanupRemoteStorages.php', 'OCA\\Files_Sharing\\Controller\\ExternalSharesController' => __DIR__ . '/..' . '/../lib/Controller/ExternalSharesController.php', 'OCA\\Files_Sharing\\Controller\\PublicPreviewController' => __DIR__ . '/..' . '/../lib/Controller/PublicPreviewController.php', diff --git a/apps/files_sharing/lib/Collaboration/ShareRecipientSorter.php b/apps/files_sharing/lib/Collaboration/ShareRecipientSorter.php index 1a722817cb..5d19ed5d42 100644 --- a/apps/files_sharing/lib/Collaboration/ShareRecipientSorter.php +++ b/apps/files_sharing/lib/Collaboration/ShareRecipientSorter.php @@ -26,7 +26,9 @@ namespace OCA\Files_Sharing\Collaboration; use OCP\Collaboration\AutoComplete\ISorter; use OCP\Files\Folder; +use OCP\Files\IRootFolder; use OCP\Files\Node; +use OCP\IUserSession; use OCP\Share\IManager; class ShareRecipientSorter implements ISorter { @@ -34,11 +36,14 @@ class ShareRecipientSorter implements ISorter { /** @var IManager */ private $shareManager; /** @var Folder */ - private $userFolder; + private $rootFolder; + /** @var IUserSession */ + private $userSession; - public function __construct(IManager $shareManager, Folder $userFolder) { + public function __construct(IManager $shareManager, IRootFolder $rootFolder, IUserSession $userSession) { $this->shareManager = $shareManager; - $this->userFolder = $userFolder; + $this->rootFolder = $rootFolder; + $this->userSession = $userSession; } public function getId() { @@ -51,7 +56,12 @@ class ShareRecipientSorter implements ISorter { return; } /** @var Node[] $nodes */ - $nodes = $this->userFolder->getById((int)$context['itemId']); + $user = $this->userSession->getUser(); + if($user === null) { + return; + } + $userFolder = $this->rootFolder->getUserFolder($user->getUID()); + $nodes = $userFolder->getById((int)$context['itemId']); if(count($nodes) === 0) { return; } diff --git a/lib/private/Collaboration/AutoComplete/Manager.php b/lib/private/Collaboration/AutoComplete/Manager.php index f801ea2333..eedc4fb5b4 100644 --- a/lib/private/Collaboration/AutoComplete/Manager.php +++ b/lib/private/Collaboration/AutoComplete/Manager.php @@ -54,7 +54,7 @@ class Manager implements IManager { } public function registerSorter($className) { - $sorters[] = $className; + $this->sorters[] = $className; } protected function getSorters() {