diff options
Diffstat (limited to 'apps/files_sharing/lib/MountProvider.php')
-rw-r--r-- | apps/files_sharing/lib/MountProvider.php | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php index 42541b77f2d..102e5d96559 100644 --- a/apps/files_sharing/lib/MountProvider.php +++ b/apps/files_sharing/lib/MountProvider.php @@ -30,6 +30,8 @@ namespace OCA\Files_Sharing; use OC\Cache\CappedMemoryCache; use OC\Files\View; +use OCA\Files_Sharing\Event\ShareMountedEvent; +use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\Config\IMountProvider; use OCP\Files\Storage\IStorageFactory; use OCP\IConfig; @@ -54,15 +56,24 @@ class MountProvider implements IMountProvider { */ protected $logger; + /** @var IEventDispatcher */ + protected $eventDispatcher; + /** * @param \OCP\IConfig $config * @param IManager $shareManager * @param ILogger $logger */ - public function __construct(IConfig $config, IManager $shareManager, ILogger $logger) { + public function __construct( + IConfig $config, + IManager $shareManager, + ILogger $logger, + IEventDispatcher $eventDispatcher + ) { $this->config = $config; $this->shareManager = $shareManager; $this->logger = $logger; + $this->eventDispatcher = $eventDispatcher; } @@ -125,7 +136,14 @@ class MountProvider implements IMountProvider { $view, $foldersExistCache ); + + $event = new ShareMountedEvent($mount); + $this->eventDispatcher->dispatchTyped($event); + $mounts[$mount->getMountPoint()] = $mount; + foreach ($event->getAdditionalMounts() as $additionalMount) { + $mounts[$additionalMount->getMountPoint()] = $additionalMount; + } } catch (\Exception $e) { $this->logger->logException($e); $this->logger->error('Error while trying to create shared mount'); |