diff options
Diffstat (limited to 'apps/files_external/lib')
-rw-r--r-- | apps/files_external/lib/Config/ConfigAdapter.php | 2 | ||||
-rw-r--r-- | apps/files_external/lib/Config/ExternalMountPoint.php | 13 | ||||
-rw-r--r-- | apps/files_external/lib/Lib/PersonalMount.php | 6 |
3 files changed, 18 insertions, 3 deletions
diff --git a/apps/files_external/lib/Config/ConfigAdapter.php b/apps/files_external/lib/Config/ConfigAdapter.php index 816b4374629..2528c090d66 100644 --- a/apps/files_external/lib/Config/ConfigAdapter.php +++ b/apps/files_external/lib/Config/ConfigAdapter.php @@ -161,6 +161,7 @@ class ConfigAdapter implements IMountProvider { if ($storageConfig->getType() === StorageConfig::MOUNT_TYPE_PERSONAl) { return new PersonalMount( $this->userStoragesService, + $storageConfig, $storageConfig->getId(), $storage, '/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(), @@ -171,6 +172,7 @@ class ConfigAdapter implements IMountProvider { ); } else { return new ExternalMountPoint( + $storageConfig, $storage, '/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(), null, diff --git a/apps/files_external/lib/Config/ExternalMountPoint.php b/apps/files_external/lib/Config/ExternalMountPoint.php index 5c9bbc71e36..1eac000a97f 100644 --- a/apps/files_external/lib/Config/ExternalMountPoint.php +++ b/apps/files_external/lib/Config/ExternalMountPoint.php @@ -24,9 +24,20 @@ namespace OCA\Files_External\Config; use OC\Files\Mount\MountPoint; +use OCA\Files_External\Lib\StorageConfig; +use OCA\Files_External\Lib\Auth\Password\SessionCredentials; class ExternalMountPoint extends MountPoint { + + /** @var StorageConfig */ + protected $storageConfig; + + public function __construct(StorageConfig $storageConfig, $storage, $mountpoint, $arguments = null, $loader = null, $mountOptions = null, $mountId = null) { + $this->storageConfig = $storageConfig; + parent::__construct($storage, $mountpoint, $arguments, $loader, $mountOptions, $mountId); + } + public function getMountType() { - return 'external'; + return ($this->storageConfig->getAuthMechanism() instanceof SessionCredentials) ? 'external-session' : 'external'; } } diff --git a/apps/files_external/lib/Lib/PersonalMount.php b/apps/files_external/lib/Lib/PersonalMount.php index 8f3a127632e..d8f2aeea56e 100644 --- a/apps/files_external/lib/Lib/PersonalMount.php +++ b/apps/files_external/lib/Lib/PersonalMount.php @@ -28,6 +28,7 @@ namespace OCA\Files_External\Lib; use OC\Files\Mount\MoveableMount; use OCA\Files_External\Config\ExternalMountPoint; use OCA\Files_External\Service\UserStoragesService; +use OCP\Files\Storage\IStorage; /** * Person mount points can be moved by the user @@ -42,7 +43,7 @@ class PersonalMount extends ExternalMountPoint implements MoveableMount { /** * @param UserStoragesService $storagesService * @param int $storageId - * @param \OCP\Files\Storage $storage + * @param IStorage $storage * @param string $mountpoint * @param array $arguments (optional) configuration for the storage backend * @param \OCP\Files\Storage\IStorageFactory $loader @@ -50,6 +51,7 @@ class PersonalMount extends ExternalMountPoint implements MoveableMount { */ public function __construct( UserStoragesService $storagesService, + StorageConfig $storageConfig, $storageId, $storage, $mountpoint, @@ -58,7 +60,7 @@ class PersonalMount extends ExternalMountPoint implements MoveableMount { $mountOptions = null, $mountId = null ) { - parent::__construct($storage, $mountpoint, $arguments, $loader, $mountOptions, $mountId); + parent::__construct($storageConfig, $storage, $mountpoint, $arguments, $loader, $mountOptions, $mountId); $this->storagesService = $storagesService; $this->numericStorageId = $storageId; } |