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:
Diffstat (limited to 'apps/files_sharing/lib/MountProvider.php')
-rw-r--r--apps/files_sharing/lib/MountProvider.php21
1 files changed, 19 insertions, 2 deletions
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php
index 05328872c15..102e5d96559 100644
--- a/apps/files_sharing/lib/MountProvider.php
+++ b/apps/files_sharing/lib/MountProvider.php
@@ -26,11 +26,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
-
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;
@@ -55,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;
}
@@ -126,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');