Completed
Push — stable13 ( 4e87d5...f6a732 )
by
unknown
25:04 queued 12:21
created
apps/files_external/lib/Service/LegacyStoragesService.php 2 patches
Indentation   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -30,183 +30,183 @@
 block discarded – undo
30 30
  * Read mount config from legacy mount.json
31 31
  */
32 32
 abstract class LegacyStoragesService {
33
-	/** @var BackendService */
34
-	protected $backendService;
33
+    /** @var BackendService */
34
+    protected $backendService;
35 35
 
36
-	/**
37
-	 * Read legacy config data
38
-	 *
39
-	 * @return array list of mount configs
40
-	 */
41
-	abstract protected function readLegacyConfig();
36
+    /**
37
+     * Read legacy config data
38
+     *
39
+     * @return array list of mount configs
40
+     */
41
+    abstract protected function readLegacyConfig();
42 42
 
43
-	/**
44
-	 * Copy legacy storage options into the given storage config object.
45
-	 *
46
-	 * @param StorageConfig $storageConfig storage config to populate
47
-	 * @param string $mountType mount type
48
-	 * @param string $applicable applicable user or group
49
-	 * @param array $storageOptions legacy storage options
50
-	 *
51
-	 * @return StorageConfig populated storage config
52
-	 */
53
-	protected function populateStorageConfigWithLegacyOptions(
54
-		&$storageConfig,
55
-		$mountType,
56
-		$applicable,
57
-		$storageOptions
58
-	) {
59
-		$backend = $this->backendService->getBackend($storageOptions['backend']);
60
-		if (!$backend) {
61
-			throw new \UnexpectedValueException('Invalid backend ' . $storageOptions['backend']);
62
-		}
63
-		$storageConfig->setBackend($backend);
64
-		if (isset($storageOptions['authMechanism']) && $storageOptions['authMechanism'] !== 'builtin::builtin') {
65
-			$authMechanism = $this->backendService->getAuthMechanism($storageOptions['authMechanism']);
66
-		} else {
67
-			$authMechanism = $backend->getLegacyAuthMechanism($storageOptions);
68
-			$storageOptions['authMechanism'] = 'null'; // to make error handling easier
69
-		}
70
-		if (!$authMechanism) {
71
-			throw new \UnexpectedValueException('Invalid authentication mechanism ' . $storageOptions['authMechanism']);
72
-		}
73
-		$storageConfig->setAuthMechanism($authMechanism);
74
-		$storageConfig->setBackendOptions($storageOptions['options']);
75
-		if (isset($storageOptions['mountOptions'])) {
76
-			$storageConfig->setMountOptions($storageOptions['mountOptions']);
77
-		}
78
-		if (!isset($storageOptions['priority'])) {
79
-			$storageOptions['priority'] = $backend->getPriority();
80
-		}
81
-		$storageConfig->setPriority($storageOptions['priority']);
82
-		if ($mountType === \OC_Mount_Config::MOUNT_TYPE_USER) {
83
-			$applicableUsers = $storageConfig->getApplicableUsers();
84
-			if ($applicable !== 'all') {
85
-				$applicableUsers[] = $applicable;
86
-				$storageConfig->setApplicableUsers($applicableUsers);
87
-			}
88
-		} else if ($mountType === \OC_Mount_Config::MOUNT_TYPE_GROUP) {
89
-			$applicableGroups = $storageConfig->getApplicableGroups();
90
-			$applicableGroups[] = $applicable;
91
-			$storageConfig->setApplicableGroups($applicableGroups);
92
-		}
93
-		return $storageConfig;
94
-	}
43
+    /**
44
+     * Copy legacy storage options into the given storage config object.
45
+     *
46
+     * @param StorageConfig $storageConfig storage config to populate
47
+     * @param string $mountType mount type
48
+     * @param string $applicable applicable user or group
49
+     * @param array $storageOptions legacy storage options
50
+     *
51
+     * @return StorageConfig populated storage config
52
+     */
53
+    protected function populateStorageConfigWithLegacyOptions(
54
+        &$storageConfig,
55
+        $mountType,
56
+        $applicable,
57
+        $storageOptions
58
+    ) {
59
+        $backend = $this->backendService->getBackend($storageOptions['backend']);
60
+        if (!$backend) {
61
+            throw new \UnexpectedValueException('Invalid backend ' . $storageOptions['backend']);
62
+        }
63
+        $storageConfig->setBackend($backend);
64
+        if (isset($storageOptions['authMechanism']) && $storageOptions['authMechanism'] !== 'builtin::builtin') {
65
+            $authMechanism = $this->backendService->getAuthMechanism($storageOptions['authMechanism']);
66
+        } else {
67
+            $authMechanism = $backend->getLegacyAuthMechanism($storageOptions);
68
+            $storageOptions['authMechanism'] = 'null'; // to make error handling easier
69
+        }
70
+        if (!$authMechanism) {
71
+            throw new \UnexpectedValueException('Invalid authentication mechanism ' . $storageOptions['authMechanism']);
72
+        }
73
+        $storageConfig->setAuthMechanism($authMechanism);
74
+        $storageConfig->setBackendOptions($storageOptions['options']);
75
+        if (isset($storageOptions['mountOptions'])) {
76
+            $storageConfig->setMountOptions($storageOptions['mountOptions']);
77
+        }
78
+        if (!isset($storageOptions['priority'])) {
79
+            $storageOptions['priority'] = $backend->getPriority();
80
+        }
81
+        $storageConfig->setPriority($storageOptions['priority']);
82
+        if ($mountType === \OC_Mount_Config::MOUNT_TYPE_USER) {
83
+            $applicableUsers = $storageConfig->getApplicableUsers();
84
+            if ($applicable !== 'all') {
85
+                $applicableUsers[] = $applicable;
86
+                $storageConfig->setApplicableUsers($applicableUsers);
87
+            }
88
+        } else if ($mountType === \OC_Mount_Config::MOUNT_TYPE_GROUP) {
89
+            $applicableGroups = $storageConfig->getApplicableGroups();
90
+            $applicableGroups[] = $applicable;
91
+            $storageConfig->setApplicableGroups($applicableGroups);
92
+        }
93
+        return $storageConfig;
94
+    }
95 95
 
96
-	/**
97
-	 * Read the external storages config
98
-	 *
99
-	 * @return StorageConfig[] map of storage id to storage config
100
-	 */
101
-	public function getAllStorages() {
102
-		$mountPoints = $this->readLegacyConfig();
103
-		/**
104
-		 * Here is the how the horribly messy mount point array looks like
105
-		 * from the mount.json file:
106
-		 *
107
-		 * $storageOptions = $mountPoints[$mountType][$applicable][$mountPath]
108
-		 *
109
-		 * - $mountType is either "user" or "group"
110
-		 * - $applicable is the name of a user or group (or the current user for personal mounts)
111
-		 * - $mountPath is the mount point path (where the storage must be mounted)
112
-		 * - $storageOptions is a map of storage options:
113
-		 *     - "priority": storage priority
114
-		 *     - "backend": backend identifier
115
-		 *     - "class": LEGACY backend class name
116
-		 *     - "options": backend-specific options
117
-		 *     - "authMechanism": authentication mechanism identifier
118
-		 *     - "mountOptions": mount-specific options (ex: disable previews, scanner, etc)
119
-		 */
120
-		// group by storage id
121
-		/** @var StorageConfig[] $storages */
122
-		$storages = [];
123
-		// for storages without id (legacy), group by config hash for
124
-		// later processing
125
-		$storagesWithConfigHash = [];
126
-		foreach ($mountPoints as $mountType => $applicables) {
127
-			foreach ($applicables as $applicable => $mountPaths) {
128
-				foreach ($mountPaths as $rootMountPath => $storageOptions) {
129
-					$currentStorage = null;
130
-					/**
131
-					 * Flag whether the config that was read already has an id.
132
-					 * If not, it will use a config hash instead and generate
133
-					 * a proper id later
134
-					 *
135
-					 * @var boolean
136
-					 */
137
-					$hasId = false;
138
-					// the root mount point is in the format "/$user/files/the/mount/point"
139
-					// we remove the "/$user/files" prefix
140
-					$parts = explode('/', ltrim($rootMountPath, '/'), 3);
141
-					if (count($parts) < 3) {
142
-						// something went wrong, skip
143
-						\OCP\Util::writeLog(
144
-							'files_external',
145
-							'Could not parse mount point "' . $rootMountPath . '"',
146
-							\OCP\Util::ERROR
147
-						);
148
-						continue;
149
-					}
150
-					$relativeMountPath = rtrim($parts[2], '/');
151
-					// note: we cannot do this after the loop because the decrypted config
152
-					// options might be needed for the config hash
153
-					$storageOptions['options'] = \OC_Mount_Config::decryptPasswords($storageOptions['options']);
154
-					if (!isset($storageOptions['backend'])) {
155
-						$storageOptions['backend'] = $storageOptions['class']; // legacy compat
156
-					}
157
-					if (!isset($storageOptions['authMechanism'])) {
158
-						$storageOptions['authMechanism'] = null; // ensure config hash works
159
-					}
160
-					if (isset($storageOptions['id'])) {
161
-						$configId = (int)$storageOptions['id'];
162
-						if (isset($storages[$configId])) {
163
-							$currentStorage = $storages[$configId];
164
-						}
165
-						$hasId = true;
166
-					} else {
167
-						// missing id in legacy config, need to generate
168
-						// but at this point we don't know the max-id, so use
169
-						// first group it by config hash
170
-						$storageOptions['mountpoint'] = $rootMountPath;
171
-						$configId = \OC_Mount_Config::makeConfigHash($storageOptions);
172
-						if (isset($storagesWithConfigHash[$configId])) {
173
-							$currentStorage = $storagesWithConfigHash[$configId];
174
-						}
175
-					}
176
-					if (is_null($currentStorage)) {
177
-						// create new
178
-						$currentStorage = new StorageConfig($configId);
179
-						$currentStorage->setMountPoint($relativeMountPath);
180
-					}
181
-					try {
182
-						$this->populateStorageConfigWithLegacyOptions(
183
-							$currentStorage,
184
-							$mountType,
185
-							$applicable,
186
-							$storageOptions
187
-						);
188
-						if ($hasId) {
189
-							$storages[$configId] = $currentStorage;
190
-						} else {
191
-							$storagesWithConfigHash[$configId] = $currentStorage;
192
-						}
193
-					} catch (\UnexpectedValueException $e) {
194
-						// don't die if a storage backend doesn't exist
195
-						\OCP\Util::writeLog(
196
-							'files_external',
197
-							'Could not load storage: "' . $e->getMessage() . '"',
198
-							\OCP\Util::ERROR
199
-						);
200
-					}
201
-				}
202
-			}
203
-		}
96
+    /**
97
+     * Read the external storages config
98
+     *
99
+     * @return StorageConfig[] map of storage id to storage config
100
+     */
101
+    public function getAllStorages() {
102
+        $mountPoints = $this->readLegacyConfig();
103
+        /**
104
+         * Here is the how the horribly messy mount point array looks like
105
+         * from the mount.json file:
106
+         *
107
+         * $storageOptions = $mountPoints[$mountType][$applicable][$mountPath]
108
+         *
109
+         * - $mountType is either "user" or "group"
110
+         * - $applicable is the name of a user or group (or the current user for personal mounts)
111
+         * - $mountPath is the mount point path (where the storage must be mounted)
112
+         * - $storageOptions is a map of storage options:
113
+         *     - "priority": storage priority
114
+         *     - "backend": backend identifier
115
+         *     - "class": LEGACY backend class name
116
+         *     - "options": backend-specific options
117
+         *     - "authMechanism": authentication mechanism identifier
118
+         *     - "mountOptions": mount-specific options (ex: disable previews, scanner, etc)
119
+         */
120
+        // group by storage id
121
+        /** @var StorageConfig[] $storages */
122
+        $storages = [];
123
+        // for storages without id (legacy), group by config hash for
124
+        // later processing
125
+        $storagesWithConfigHash = [];
126
+        foreach ($mountPoints as $mountType => $applicables) {
127
+            foreach ($applicables as $applicable => $mountPaths) {
128
+                foreach ($mountPaths as $rootMountPath => $storageOptions) {
129
+                    $currentStorage = null;
130
+                    /**
131
+                     * Flag whether the config that was read already has an id.
132
+                     * If not, it will use a config hash instead and generate
133
+                     * a proper id later
134
+                     *
135
+                     * @var boolean
136
+                     */
137
+                    $hasId = false;
138
+                    // the root mount point is in the format "/$user/files/the/mount/point"
139
+                    // we remove the "/$user/files" prefix
140
+                    $parts = explode('/', ltrim($rootMountPath, '/'), 3);
141
+                    if (count($parts) < 3) {
142
+                        // something went wrong, skip
143
+                        \OCP\Util::writeLog(
144
+                            'files_external',
145
+                            'Could not parse mount point "' . $rootMountPath . '"',
146
+                            \OCP\Util::ERROR
147
+                        );
148
+                        continue;
149
+                    }
150
+                    $relativeMountPath = rtrim($parts[2], '/');
151
+                    // note: we cannot do this after the loop because the decrypted config
152
+                    // options might be needed for the config hash
153
+                    $storageOptions['options'] = \OC_Mount_Config::decryptPasswords($storageOptions['options']);
154
+                    if (!isset($storageOptions['backend'])) {
155
+                        $storageOptions['backend'] = $storageOptions['class']; // legacy compat
156
+                    }
157
+                    if (!isset($storageOptions['authMechanism'])) {
158
+                        $storageOptions['authMechanism'] = null; // ensure config hash works
159
+                    }
160
+                    if (isset($storageOptions['id'])) {
161
+                        $configId = (int)$storageOptions['id'];
162
+                        if (isset($storages[$configId])) {
163
+                            $currentStorage = $storages[$configId];
164
+                        }
165
+                        $hasId = true;
166
+                    } else {
167
+                        // missing id in legacy config, need to generate
168
+                        // but at this point we don't know the max-id, so use
169
+                        // first group it by config hash
170
+                        $storageOptions['mountpoint'] = $rootMountPath;
171
+                        $configId = \OC_Mount_Config::makeConfigHash($storageOptions);
172
+                        if (isset($storagesWithConfigHash[$configId])) {
173
+                            $currentStorage = $storagesWithConfigHash[$configId];
174
+                        }
175
+                    }
176
+                    if (is_null($currentStorage)) {
177
+                        // create new
178
+                        $currentStorage = new StorageConfig($configId);
179
+                        $currentStorage->setMountPoint($relativeMountPath);
180
+                    }
181
+                    try {
182
+                        $this->populateStorageConfigWithLegacyOptions(
183
+                            $currentStorage,
184
+                            $mountType,
185
+                            $applicable,
186
+                            $storageOptions
187
+                        );
188
+                        if ($hasId) {
189
+                            $storages[$configId] = $currentStorage;
190
+                        } else {
191
+                            $storagesWithConfigHash[$configId] = $currentStorage;
192
+                        }
193
+                    } catch (\UnexpectedValueException $e) {
194
+                        // don't die if a storage backend doesn't exist
195
+                        \OCP\Util::writeLog(
196
+                            'files_external',
197
+                            'Could not load storage: "' . $e->getMessage() . '"',
198
+                            \OCP\Util::ERROR
199
+                        );
200
+                    }
201
+                }
202
+            }
203
+        }
204 204
 
205
-		// convert parameter values
206
-		foreach ($storages as $storage) {
207
-			$storage->getBackend()->validateStorageDefinition($storage);
208
-			$storage->getAuthMechanism()->validateStorageDefinition($storage);
209
-		}
210
-		return $storages;
211
-	}
205
+        // convert parameter values
206
+        foreach ($storages as $storage) {
207
+            $storage->getBackend()->validateStorageDefinition($storage);
208
+            $storage->getAuthMechanism()->validateStorageDefinition($storage);
209
+        }
210
+        return $storages;
211
+    }
212 212
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
 	) {
59 59
 		$backend = $this->backendService->getBackend($storageOptions['backend']);
60 60
 		if (!$backend) {
61
-			throw new \UnexpectedValueException('Invalid backend ' . $storageOptions['backend']);
61
+			throw new \UnexpectedValueException('Invalid backend '.$storageOptions['backend']);
62 62
 		}
63 63
 		$storageConfig->setBackend($backend);
64 64
 		if (isset($storageOptions['authMechanism']) && $storageOptions['authMechanism'] !== 'builtin::builtin') {
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 			$storageOptions['authMechanism'] = 'null'; // to make error handling easier
69 69
 		}
70 70
 		if (!$authMechanism) {
71
-			throw new \UnexpectedValueException('Invalid authentication mechanism ' . $storageOptions['authMechanism']);
71
+			throw new \UnexpectedValueException('Invalid authentication mechanism '.$storageOptions['authMechanism']);
72 72
 		}
73 73
 		$storageConfig->setAuthMechanism($authMechanism);
74 74
 		$storageConfig->setBackendOptions($storageOptions['options']);
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 						// something went wrong, skip
143 143
 						\OCP\Util::writeLog(
144 144
 							'files_external',
145
-							'Could not parse mount point "' . $rootMountPath . '"',
145
+							'Could not parse mount point "'.$rootMountPath.'"',
146 146
 							\OCP\Util::ERROR
147 147
 						);
148 148
 						continue;
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
 						$storageOptions['authMechanism'] = null; // ensure config hash works
159 159
 					}
160 160
 					if (isset($storageOptions['id'])) {
161
-						$configId = (int)$storageOptions['id'];
161
+						$configId = (int) $storageOptions['id'];
162 162
 						if (isset($storages[$configId])) {
163 163
 							$currentStorage = $storages[$configId];
164 164
 						}
@@ -194,7 +194,7 @@  discard block
 block discarded – undo
194 194
 						// don't die if a storage backend doesn't exist
195 195
 						\OCP\Util::writeLog(
196 196
 							'files_external',
197
-							'Could not load storage: "' . $e->getMessage() . '"',
197
+							'Could not load storage: "'.$e->getMessage().'"',
198 198
 							\OCP\Util::ERROR
199 199
 						);
200 200
 					}
Please login to merge, or discard this patch.
apps/files_external/lib/Service/UserTrait.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -30,46 +30,46 @@
 block discarded – undo
30 30
  */
31 31
 trait UserTrait {
32 32
 
33
-	/** @var IUserSession */
34
-	protected $userSession;
33
+    /** @var IUserSession */
34
+    protected $userSession;
35 35
 
36
-	/**
37
-	 * User override
38
-	 *
39
-	 * @var IUser|null
40
-	 */
41
-	private $user = null;
36
+    /**
37
+     * User override
38
+     *
39
+     * @var IUser|null
40
+     */
41
+    private $user = null;
42 42
 
43
-	/**
44
-	 * @return IUser|null
45
-	 */
46
-	protected function getUser() {
47
-		if ($this->user) {
48
-			return $this->user;
49
-		}
50
-		return $this->userSession->getUser();
51
-	}
43
+    /**
44
+     * @return IUser|null
45
+     */
46
+    protected function getUser() {
47
+        if ($this->user) {
48
+            return $this->user;
49
+        }
50
+        return $this->userSession->getUser();
51
+    }
52 52
 
53
-	/**
54
-	 * Override the user from the session
55
-	 * Unset with ->resetUser() when finished!
56
-	 *
57
-	 * @param IUser
58
-	 * @return self
59
-	 */
60
-	public function setUser(IUser $user) {
61
-		$this->user = $user;
62
-		return $this;
63
-	}
53
+    /**
54
+     * Override the user from the session
55
+     * Unset with ->resetUser() when finished!
56
+     *
57
+     * @param IUser
58
+     * @return self
59
+     */
60
+    public function setUser(IUser $user) {
61
+        $this->user = $user;
62
+        return $this;
63
+    }
64 64
 
65
-	/**
66
-	 * Reset the user override
67
-	 *
68
-	 * @return self
69
-	 */
70
-	public function resetUser() {
71
-		$this->user = null;
72
-		return $this;
73
-	}
65
+    /**
66
+     * Reset the user override
67
+     *
68
+     * @return self
69
+     */
70
+    public function resetUser() {
71
+        $this->user = null;
72
+        return $this;
73
+    }
74 74
 }
75 75
 
Please login to merge, or discard this patch.
apps/files_external/lib/Service/UserStoragesService.php 1 patch
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -40,105 +40,105 @@
 block discarded – undo
40 40
  * (aka personal storages)
41 41
  */
42 42
 class UserStoragesService extends StoragesService {
43
-	use UserTrait;
43
+    use UserTrait;
44 44
 
45
-	/**
46
-	 * Create a user storages service
47
-	 *
48
-	 * @param BackendService $backendService
49
-	 * @param DBConfigService $dbConfig
50
-	 * @param IUserSession $userSession user session
51
-	 * @param IUserMountCache $userMountCache
52
-	 */
53
-	public function __construct(
54
-		BackendService $backendService,
55
-		DBConfigService $dbConfig,
56
-		IUserSession $userSession,
57
-		IUserMountCache $userMountCache
58
-	) {
59
-		$this->userSession = $userSession;
60
-		parent::__construct($backendService, $dbConfig, $userMountCache);
61
-	}
45
+    /**
46
+     * Create a user storages service
47
+     *
48
+     * @param BackendService $backendService
49
+     * @param DBConfigService $dbConfig
50
+     * @param IUserSession $userSession user session
51
+     * @param IUserMountCache $userMountCache
52
+     */
53
+    public function __construct(
54
+        BackendService $backendService,
55
+        DBConfigService $dbConfig,
56
+        IUserSession $userSession,
57
+        IUserMountCache $userMountCache
58
+    ) {
59
+        $this->userSession = $userSession;
60
+        parent::__construct($backendService, $dbConfig, $userMountCache);
61
+    }
62 62
 
63
-	protected function readDBConfig() {
64
-		return $this->dbConfig->getUserMountsFor(DBConfigService::APPLICABLE_TYPE_USER, $this->getUser()->getUID());
65
-	}
63
+    protected function readDBConfig() {
64
+        return $this->dbConfig->getUserMountsFor(DBConfigService::APPLICABLE_TYPE_USER, $this->getUser()->getUID());
65
+    }
66 66
 
67
-	/**
68
-	 * Triggers $signal for all applicable users of the given
69
-	 * storage
70
-	 *
71
-	 * @param StorageConfig $storage storage data
72
-	 * @param string $signal signal to trigger
73
-	 */
74
-	protected function triggerHooks(StorageConfig $storage, $signal) {
75
-		$user = $this->getUser()->getUID();
67
+    /**
68
+     * Triggers $signal for all applicable users of the given
69
+     * storage
70
+     *
71
+     * @param StorageConfig $storage storage data
72
+     * @param string $signal signal to trigger
73
+     */
74
+    protected function triggerHooks(StorageConfig $storage, $signal) {
75
+        $user = $this->getUser()->getUID();
76 76
 
77
-		// trigger hook for the current user
78
-		$this->triggerApplicableHooks(
79
-			$signal,
80
-			$storage->getMountPoint(),
81
-			\OC_Mount_Config::MOUNT_TYPE_USER,
82
-			[$user]
83
-		);
84
-	}
77
+        // trigger hook for the current user
78
+        $this->triggerApplicableHooks(
79
+            $signal,
80
+            $storage->getMountPoint(),
81
+            \OC_Mount_Config::MOUNT_TYPE_USER,
82
+            [$user]
83
+        );
84
+    }
85 85
 
86
-	/**
87
-	 * Triggers signal_create_mount or signal_delete_mount to
88
-	 * accommodate for additions/deletions in applicableUsers
89
-	 * and applicableGroups fields.
90
-	 *
91
-	 * @param StorageConfig $oldStorage old storage data
92
-	 * @param StorageConfig $newStorage new storage data
93
-	 */
94
-	protected function triggerChangeHooks(StorageConfig $oldStorage, StorageConfig $newStorage) {
95
-		// if mount point changed, it's like a deletion + creation
96
-		if ($oldStorage->getMountPoint() !== $newStorage->getMountPoint()) {
97
-			$this->triggerHooks($oldStorage, Filesystem::signal_delete_mount);
98
-			$this->triggerHooks($newStorage, Filesystem::signal_create_mount);
99
-		}
100
-	}
86
+    /**
87
+     * Triggers signal_create_mount or signal_delete_mount to
88
+     * accommodate for additions/deletions in applicableUsers
89
+     * and applicableGroups fields.
90
+     *
91
+     * @param StorageConfig $oldStorage old storage data
92
+     * @param StorageConfig $newStorage new storage data
93
+     */
94
+    protected function triggerChangeHooks(StorageConfig $oldStorage, StorageConfig $newStorage) {
95
+        // if mount point changed, it's like a deletion + creation
96
+        if ($oldStorage->getMountPoint() !== $newStorage->getMountPoint()) {
97
+            $this->triggerHooks($oldStorage, Filesystem::signal_delete_mount);
98
+            $this->triggerHooks($newStorage, Filesystem::signal_create_mount);
99
+        }
100
+    }
101 101
 
102
-	protected function getType() {
103
-		return DBConfigService::MOUNT_TYPE_PERSONAl;
104
-	}
102
+    protected function getType() {
103
+        return DBConfigService::MOUNT_TYPE_PERSONAl;
104
+    }
105 105
 
106
-	/**
107
-	 * Add new storage to the configuration
108
-	 *
109
-	 * @param StorageConfig $newStorage storage attributes
110
-	 *
111
-	 * @return StorageConfig storage config, with added id
112
-	 */
113
-	public function addStorage(StorageConfig $newStorage) {
114
-		$newStorage->setApplicableUsers([$this->getUser()->getUID()]);
115
-		$config = parent::addStorage($newStorage);
116
-		return $config;
117
-	}
106
+    /**
107
+     * Add new storage to the configuration
108
+     *
109
+     * @param StorageConfig $newStorage storage attributes
110
+     *
111
+     * @return StorageConfig storage config, with added id
112
+     */
113
+    public function addStorage(StorageConfig $newStorage) {
114
+        $newStorage->setApplicableUsers([$this->getUser()->getUID()]);
115
+        $config = parent::addStorage($newStorage);
116
+        return $config;
117
+    }
118 118
 
119
-	/**
120
-	 * Update storage to the configuration
121
-	 *
122
-	 * @param StorageConfig $updatedStorage storage attributes
123
-	 *
124
-	 * @return StorageConfig storage config
125
-	 * @throws NotFoundException if the given storage does not exist in the config
126
-	 */
127
-	public function updateStorage(StorageConfig $updatedStorage) {
128
-		$updatedStorage->setApplicableUsers([$this->getUser()->getUID()]);
129
-		return parent::updateStorage($updatedStorage);
130
-	}
119
+    /**
120
+     * Update storage to the configuration
121
+     *
122
+     * @param StorageConfig $updatedStorage storage attributes
123
+     *
124
+     * @return StorageConfig storage config
125
+     * @throws NotFoundException if the given storage does not exist in the config
126
+     */
127
+    public function updateStorage(StorageConfig $updatedStorage) {
128
+        $updatedStorage->setApplicableUsers([$this->getUser()->getUID()]);
129
+        return parent::updateStorage($updatedStorage);
130
+    }
131 131
 
132
-	/**
133
-	 * Get the visibility type for this controller, used in validation
134
-	 *
135
-	 * @return string BackendService::VISIBILITY_* constants
136
-	 */
137
-	public function getVisibilityType() {
138
-		return BackendService::VISIBILITY_PERSONAL;
139
-	}
132
+    /**
133
+     * Get the visibility type for this controller, used in validation
134
+     *
135
+     * @return string BackendService::VISIBILITY_* constants
136
+     */
137
+    public function getVisibilityType() {
138
+        return BackendService::VISIBILITY_PERSONAL;
139
+    }
140 140
 
141
-	protected function isApplicable(StorageConfig $config) {
142
-		return ($config->getApplicableUsers() === [$this->getUser()->getUID()]) && $config->getType() === StorageConfig::MOUNT_TYPE_PERSONAl;
143
-	}
141
+    protected function isApplicable(StorageConfig $config) {
142
+        return ($config->getApplicableUsers() === [$this->getUser()->getUID()]) && $config->getType() === StorageConfig::MOUNT_TYPE_PERSONAl;
143
+    }
144 144
 }
Please login to merge, or discard this patch.
apps/files_external/lib/AppInfo/Application.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -46,7 +46,7 @@
 block discarded – undo
46 46
 
47 47
 		$container = $this->getContainer();
48 48
 
49
-		$container->registerService('OCP\Files\Config\IUserMountCache', function (IAppContainer $c) {
49
+		$container->registerService('OCP\Files\Config\IUserMountCache', function(IAppContainer $c) {
50 50
 			return $c->getServer()->query('UserMountCache');
51 51
 		});
52 52
 
Please login to merge, or discard this patch.
Indentation   +82 added lines, -82 removed lines patch added patch discarded remove patch
@@ -41,87 +41,87 @@
 block discarded – undo
41 41
  */
42 42
 class Application extends App implements IBackendProvider, IAuthMechanismProvider {
43 43
 
44
-	public function __construct(array $urlParams = array()) {
45
-		parent::__construct('files_external', $urlParams);
46
-
47
-		$container = $this->getContainer();
48
-
49
-		$container->registerService('OCP\Files\Config\IUserMountCache', function (IAppContainer $c) {
50
-			return $c->getServer()->query('UserMountCache');
51
-		});
52
-
53
-		$backendService = $container->query('OCA\\Files_External\\Service\\BackendService');
54
-		$backendService->registerBackendProvider($this);
55
-		$backendService->registerAuthMechanismProvider($this);
56
-
57
-		// force-load auth mechanisms since some will register hooks
58
-		// TODO: obsolete these and use the TokenProvider to get the user's password from the session
59
-		$this->getAuthMechanisms();
60
-
61
-		// app developers: do NOT depend on this! it will disappear with oC 9.0!
62
-		\OC::$server->getEventDispatcher()->dispatch(
63
-			'OCA\\Files_External::loadAdditionalBackends'
64
-		);
65
-	}
66
-
67
-	/**
68
-	 * @{inheritdoc}
69
-	 */
70
-	public function getBackends() {
71
-		$container = $this->getContainer();
72
-
73
-		$backends = [
74
-			$container->query('OCA\Files_External\Lib\Backend\Local'),
75
-			$container->query('OCA\Files_External\Lib\Backend\FTP'),
76
-			$container->query('OCA\Files_External\Lib\Backend\DAV'),
77
-			$container->query('OCA\Files_External\Lib\Backend\OwnCloud'),
78
-			$container->query('OCA\Files_External\Lib\Backend\SFTP'),
79
-			$container->query('OCA\Files_External\Lib\Backend\AmazonS3'),
80
-			$container->query('OCA\Files_External\Lib\Backend\Swift'),
81
-			$container->query('OCA\Files_External\Lib\Backend\SFTP_Key'),
82
-			$container->query('OCA\Files_External\Lib\Backend\SMB'),
83
-			$container->query('OCA\Files_External\Lib\Backend\SMB_OC'),
84
-		];
85
-
86
-		return $backends;
87
-	}
88
-
89
-	/**
90
-	 * @{inheritdoc}
91
-	 */
92
-	public function getAuthMechanisms() {
93
-		$container = $this->getContainer();
94
-
95
-		return [
96
-			// AuthMechanism::SCHEME_NULL mechanism
97
-			$container->query('OCA\Files_External\Lib\Auth\NullMechanism'),
98
-
99
-			// AuthMechanism::SCHEME_BUILTIN mechanism
100
-			$container->query('OCA\Files_External\Lib\Auth\Builtin'),
101
-
102
-			// AuthMechanism::SCHEME_PASSWORD mechanisms
103
-			$container->query('OCA\Files_External\Lib\Auth\Password\Password'),
104
-			$container->query('OCA\Files_External\Lib\Auth\Password\SessionCredentials'),
105
-			$container->query('OCA\Files_External\Lib\Auth\Password\LoginCredentials'),
106
-			$container->query('OCA\Files_External\Lib\Auth\Password\UserProvided'),
107
-			$container->query('OCA\Files_External\Lib\Auth\Password\GlobalAuth'),
108
-
109
-			// AuthMechanism::SCHEME_OAUTH1 mechanisms
110
-			$container->query('OCA\Files_External\Lib\Auth\OAuth1\OAuth1'),
111
-
112
-			// AuthMechanism::SCHEME_OAUTH2 mechanisms
113
-			$container->query('OCA\Files_External\Lib\Auth\OAuth2\OAuth2'),
114
-
115
-			// AuthMechanism::SCHEME_PUBLICKEY mechanisms
116
-			$container->query('OCA\Files_External\Lib\Auth\PublicKey\RSA'),
117
-
118
-			// AuthMechanism::SCHEME_OPENSTACK mechanisms
119
-			$container->query('OCA\Files_External\Lib\Auth\OpenStack\OpenStack'),
120
-			$container->query('OCA\Files_External\Lib\Auth\OpenStack\Rackspace'),
121
-
122
-			// Specialized mechanisms
123
-			$container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'),
124
-		];
125
-	}
44
+    public function __construct(array $urlParams = array()) {
45
+        parent::__construct('files_external', $urlParams);
46
+
47
+        $container = $this->getContainer();
48
+
49
+        $container->registerService('OCP\Files\Config\IUserMountCache', function (IAppContainer $c) {
50
+            return $c->getServer()->query('UserMountCache');
51
+        });
52
+
53
+        $backendService = $container->query('OCA\\Files_External\\Service\\BackendService');
54
+        $backendService->registerBackendProvider($this);
55
+        $backendService->registerAuthMechanismProvider($this);
56
+
57
+        // force-load auth mechanisms since some will register hooks
58
+        // TODO: obsolete these and use the TokenProvider to get the user's password from the session
59
+        $this->getAuthMechanisms();
60
+
61
+        // app developers: do NOT depend on this! it will disappear with oC 9.0!
62
+        \OC::$server->getEventDispatcher()->dispatch(
63
+            'OCA\\Files_External::loadAdditionalBackends'
64
+        );
65
+    }
66
+
67
+    /**
68
+     * @{inheritdoc}
69
+     */
70
+    public function getBackends() {
71
+        $container = $this->getContainer();
72
+
73
+        $backends = [
74
+            $container->query('OCA\Files_External\Lib\Backend\Local'),
75
+            $container->query('OCA\Files_External\Lib\Backend\FTP'),
76
+            $container->query('OCA\Files_External\Lib\Backend\DAV'),
77
+            $container->query('OCA\Files_External\Lib\Backend\OwnCloud'),
78
+            $container->query('OCA\Files_External\Lib\Backend\SFTP'),
79
+            $container->query('OCA\Files_External\Lib\Backend\AmazonS3'),
80
+            $container->query('OCA\Files_External\Lib\Backend\Swift'),
81
+            $container->query('OCA\Files_External\Lib\Backend\SFTP_Key'),
82
+            $container->query('OCA\Files_External\Lib\Backend\SMB'),
83
+            $container->query('OCA\Files_External\Lib\Backend\SMB_OC'),
84
+        ];
85
+
86
+        return $backends;
87
+    }
88
+
89
+    /**
90
+     * @{inheritdoc}
91
+     */
92
+    public function getAuthMechanisms() {
93
+        $container = $this->getContainer();
94
+
95
+        return [
96
+            // AuthMechanism::SCHEME_NULL mechanism
97
+            $container->query('OCA\Files_External\Lib\Auth\NullMechanism'),
98
+
99
+            // AuthMechanism::SCHEME_BUILTIN mechanism
100
+            $container->query('OCA\Files_External\Lib\Auth\Builtin'),
101
+
102
+            // AuthMechanism::SCHEME_PASSWORD mechanisms
103
+            $container->query('OCA\Files_External\Lib\Auth\Password\Password'),
104
+            $container->query('OCA\Files_External\Lib\Auth\Password\SessionCredentials'),
105
+            $container->query('OCA\Files_External\Lib\Auth\Password\LoginCredentials'),
106
+            $container->query('OCA\Files_External\Lib\Auth\Password\UserProvided'),
107
+            $container->query('OCA\Files_External\Lib\Auth\Password\GlobalAuth'),
108
+
109
+            // AuthMechanism::SCHEME_OAUTH1 mechanisms
110
+            $container->query('OCA\Files_External\Lib\Auth\OAuth1\OAuth1'),
111
+
112
+            // AuthMechanism::SCHEME_OAUTH2 mechanisms
113
+            $container->query('OCA\Files_External\Lib\Auth\OAuth2\OAuth2'),
114
+
115
+            // AuthMechanism::SCHEME_PUBLICKEY mechanisms
116
+            $container->query('OCA\Files_External\Lib\Auth\PublicKey\RSA'),
117
+
118
+            // AuthMechanism::SCHEME_OPENSTACK mechanisms
119
+            $container->query('OCA\Files_External\Lib\Auth\OpenStack\OpenStack'),
120
+            $container->query('OCA\Files_External\Lib\Auth\OpenStack\Rackspace'),
121
+
122
+            // Specialized mechanisms
123
+            $container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'),
124
+        ];
125
+    }
126 126
 
127 127
 }
Please login to merge, or discard this patch.
apps/files_external/lib/Config/ConfigAdapter.php 2 patches
Indentation   +139 added lines, -139 removed lines patch added patch discarded remove patch
@@ -45,143 +45,143 @@
 block discarded – undo
45 45
  */
46 46
 class ConfigAdapter implements IMountProvider {
47 47
 
48
-	/** @var UserStoragesService */
49
-	private $userStoragesService;
50
-
51
-	/** @var UserGlobalStoragesService */
52
-	private $userGlobalStoragesService;
53
-	/** @var StorageMigrator  */
54
-	private $migrator;
55
-
56
-	/**
57
-	 * @param UserStoragesService $userStoragesService
58
-	 * @param UserGlobalStoragesService $userGlobalStoragesService
59
-	 * @param StorageMigrator $migrator
60
-	 */
61
-	public function __construct(
62
-		UserStoragesService $userStoragesService,
63
-		UserGlobalStoragesService $userGlobalStoragesService,
64
-		StorageMigrator $migrator
65
-	) {
66
-		$this->userStoragesService = $userStoragesService;
67
-		$this->userGlobalStoragesService = $userGlobalStoragesService;
68
-		$this->migrator = $migrator;
69
-	}
70
-
71
-	/**
72
-	 * Process storage ready for mounting
73
-	 *
74
-	 * @param StorageConfig $storage
75
-	 * @param IUser $user
76
-	 */
77
-	private function prepareStorageConfig(StorageConfig &$storage, IUser $user) {
78
-		foreach ($storage->getBackendOptions() as $option => $value) {
79
-			$storage->setBackendOption($option, \OC_Mount_Config::setUserVars(
80
-				$user->getUID(), $value
81
-			));
82
-		}
83
-
84
-		$objectStore = $storage->getBackendOption('objectstore');
85
-		if ($objectStore) {
86
-			$objectClass = $objectStore['class'];
87
-			if (!is_subclass_of($objectClass, '\OCP\Files\ObjectStore\IObjectStore')) {
88
-				throw new \InvalidArgumentException('Invalid object store');
89
-			}
90
-			$storage->setBackendOption('objectstore', new $objectClass($objectStore));
91
-		}
92
-
93
-		$storage->getAuthMechanism()->manipulateStorageConfig($storage, $user);
94
-		$storage->getBackend()->manipulateStorageConfig($storage, $user);
95
-	}
96
-
97
-	/**
98
-	 * Construct the storage implementation
99
-	 *
100
-	 * @param StorageConfig $storageConfig
101
-	 * @return Storage
102
-	 */
103
-	private function constructStorage(StorageConfig $storageConfig) {
104
-		$class = $storageConfig->getBackend()->getStorageClass();
105
-		$storage = new $class($storageConfig->getBackendOptions());
106
-
107
-		// auth mechanism should fire first
108
-		$storage = $storageConfig->getBackend()->wrapStorage($storage);
109
-		$storage = $storageConfig->getAuthMechanism()->wrapStorage($storage);
110
-
111
-		return $storage;
112
-	}
113
-
114
-	/**
115
-	 * Get all mountpoints applicable for the user
116
-	 *
117
-	 * @param \OCP\IUser $user
118
-	 * @param \OCP\Files\Storage\IStorageFactory $loader
119
-	 * @return \OCP\Files\Mount\IMountPoint[]
120
-	 */
121
-	public function getMountsForUser(IUser $user, IStorageFactory $loader) {
122
-		$this->migrator->migrateUser($user);
123
-
124
-		$this->userStoragesService->setUser($user);
125
-		$this->userGlobalStoragesService->setUser($user);
126
-
127
-		$storageConfigs = $this->userGlobalStoragesService->getAllStoragesForUser();
128
-
129
-		$storages = array_map(function(StorageConfig $storageConfig) use ($user) {
130
-			try {
131
-				$this->prepareStorageConfig($storageConfig, $user);
132
-				return $this->constructStorage($storageConfig);
133
-			} catch (\Exception $e) {
134
-				// propagate exception into filesystem
135
-				return new FailedStorage(['exception' => $e]);
136
-			}
137
-		}, $storageConfigs);
138
-
139
-
140
-		\OC\Files\Cache\Storage::getGlobalCache()->loadForStorageIds(array_map(function(Storage\IStorage $storage) {
141
-			return $storage->getId();
142
-		}, $storages));
143
-
144
-		$availableStorages = array_map(function (Storage\IStorage $storage, StorageConfig $storageConfig) {
145
-			try {
146
-				$availability = $storage->getAvailability();
147
-				if (!$availability['available'] && !Availability::shouldRecheck($availability)) {
148
-					$storage = new FailedStorage([
149
-						'exception' => new StorageNotAvailableException('Storage with mount id ' . $storageConfig->getId() . ' is not available')
150
-					]);
151
-				}
152
-			} catch (\Exception $e) {
153
-				// propagate exception into filesystem
154
-				$storage = new FailedStorage(['exception' => $e]);
155
-			}
156
-			return $storage;
157
-		}, $storages, $storageConfigs);
158
-
159
-		$mounts = array_map(function(StorageConfig $storageConfig, Storage\IStorage $storage) use ($user, $loader) {
160
-			if ($storageConfig->getType() === StorageConfig::MOUNT_TYPE_PERSONAl) {
161
-				return new PersonalMount(
162
-					$this->userStoragesService,
163
-					$storageConfig->getId(),
164
-					$storage,
165
-					'/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
166
-					null,
167
-					$loader,
168
-					$storageConfig->getMountOptions()
169
-				);
170
-			} else {
171
-				return new MountPoint(
172
-					$storage,
173
-					'/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
174
-					null,
175
-					$loader,
176
-					$storageConfig->getMountOptions(),
177
-					$storageConfig->getId()
178
-				);
179
-			}
180
-		}, $storageConfigs, $availableStorages);
181
-
182
-		$this->userStoragesService->resetUser();
183
-		$this->userGlobalStoragesService->resetUser();
184
-
185
-		return $mounts;
186
-	}
48
+    /** @var UserStoragesService */
49
+    private $userStoragesService;
50
+
51
+    /** @var UserGlobalStoragesService */
52
+    private $userGlobalStoragesService;
53
+    /** @var StorageMigrator  */
54
+    private $migrator;
55
+
56
+    /**
57
+     * @param UserStoragesService $userStoragesService
58
+     * @param UserGlobalStoragesService $userGlobalStoragesService
59
+     * @param StorageMigrator $migrator
60
+     */
61
+    public function __construct(
62
+        UserStoragesService $userStoragesService,
63
+        UserGlobalStoragesService $userGlobalStoragesService,
64
+        StorageMigrator $migrator
65
+    ) {
66
+        $this->userStoragesService = $userStoragesService;
67
+        $this->userGlobalStoragesService = $userGlobalStoragesService;
68
+        $this->migrator = $migrator;
69
+    }
70
+
71
+    /**
72
+     * Process storage ready for mounting
73
+     *
74
+     * @param StorageConfig $storage
75
+     * @param IUser $user
76
+     */
77
+    private function prepareStorageConfig(StorageConfig &$storage, IUser $user) {
78
+        foreach ($storage->getBackendOptions() as $option => $value) {
79
+            $storage->setBackendOption($option, \OC_Mount_Config::setUserVars(
80
+                $user->getUID(), $value
81
+            ));
82
+        }
83
+
84
+        $objectStore = $storage->getBackendOption('objectstore');
85
+        if ($objectStore) {
86
+            $objectClass = $objectStore['class'];
87
+            if (!is_subclass_of($objectClass, '\OCP\Files\ObjectStore\IObjectStore')) {
88
+                throw new \InvalidArgumentException('Invalid object store');
89
+            }
90
+            $storage->setBackendOption('objectstore', new $objectClass($objectStore));
91
+        }
92
+
93
+        $storage->getAuthMechanism()->manipulateStorageConfig($storage, $user);
94
+        $storage->getBackend()->manipulateStorageConfig($storage, $user);
95
+    }
96
+
97
+    /**
98
+     * Construct the storage implementation
99
+     *
100
+     * @param StorageConfig $storageConfig
101
+     * @return Storage
102
+     */
103
+    private function constructStorage(StorageConfig $storageConfig) {
104
+        $class = $storageConfig->getBackend()->getStorageClass();
105
+        $storage = new $class($storageConfig->getBackendOptions());
106
+
107
+        // auth mechanism should fire first
108
+        $storage = $storageConfig->getBackend()->wrapStorage($storage);
109
+        $storage = $storageConfig->getAuthMechanism()->wrapStorage($storage);
110
+
111
+        return $storage;
112
+    }
113
+
114
+    /**
115
+     * Get all mountpoints applicable for the user
116
+     *
117
+     * @param \OCP\IUser $user
118
+     * @param \OCP\Files\Storage\IStorageFactory $loader
119
+     * @return \OCP\Files\Mount\IMountPoint[]
120
+     */
121
+    public function getMountsForUser(IUser $user, IStorageFactory $loader) {
122
+        $this->migrator->migrateUser($user);
123
+
124
+        $this->userStoragesService->setUser($user);
125
+        $this->userGlobalStoragesService->setUser($user);
126
+
127
+        $storageConfigs = $this->userGlobalStoragesService->getAllStoragesForUser();
128
+
129
+        $storages = array_map(function(StorageConfig $storageConfig) use ($user) {
130
+            try {
131
+                $this->prepareStorageConfig($storageConfig, $user);
132
+                return $this->constructStorage($storageConfig);
133
+            } catch (\Exception $e) {
134
+                // propagate exception into filesystem
135
+                return new FailedStorage(['exception' => $e]);
136
+            }
137
+        }, $storageConfigs);
138
+
139
+
140
+        \OC\Files\Cache\Storage::getGlobalCache()->loadForStorageIds(array_map(function(Storage\IStorage $storage) {
141
+            return $storage->getId();
142
+        }, $storages));
143
+
144
+        $availableStorages = array_map(function (Storage\IStorage $storage, StorageConfig $storageConfig) {
145
+            try {
146
+                $availability = $storage->getAvailability();
147
+                if (!$availability['available'] && !Availability::shouldRecheck($availability)) {
148
+                    $storage = new FailedStorage([
149
+                        'exception' => new StorageNotAvailableException('Storage with mount id ' . $storageConfig->getId() . ' is not available')
150
+                    ]);
151
+                }
152
+            } catch (\Exception $e) {
153
+                // propagate exception into filesystem
154
+                $storage = new FailedStorage(['exception' => $e]);
155
+            }
156
+            return $storage;
157
+        }, $storages, $storageConfigs);
158
+
159
+        $mounts = array_map(function(StorageConfig $storageConfig, Storage\IStorage $storage) use ($user, $loader) {
160
+            if ($storageConfig->getType() === StorageConfig::MOUNT_TYPE_PERSONAl) {
161
+                return new PersonalMount(
162
+                    $this->userStoragesService,
163
+                    $storageConfig->getId(),
164
+                    $storage,
165
+                    '/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
166
+                    null,
167
+                    $loader,
168
+                    $storageConfig->getMountOptions()
169
+                );
170
+            } else {
171
+                return new MountPoint(
172
+                    $storage,
173
+                    '/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
174
+                    null,
175
+                    $loader,
176
+                    $storageConfig->getMountOptions(),
177
+                    $storageConfig->getId()
178
+                );
179
+            }
180
+        }, $storageConfigs, $availableStorages);
181
+
182
+        $this->userStoragesService->resetUser();
183
+        $this->userGlobalStoragesService->resetUser();
184
+
185
+        return $mounts;
186
+    }
187 187
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -141,12 +141,12 @@  discard block
 block discarded – undo
141 141
 			return $storage->getId();
142 142
 		}, $storages));
143 143
 
144
-		$availableStorages = array_map(function (Storage\IStorage $storage, StorageConfig $storageConfig) {
144
+		$availableStorages = array_map(function(Storage\IStorage $storage, StorageConfig $storageConfig) {
145 145
 			try {
146 146
 				$availability = $storage->getAvailability();
147 147
 				if (!$availability['available'] && !Availability::shouldRecheck($availability)) {
148 148
 					$storage = new FailedStorage([
149
-						'exception' => new StorageNotAvailableException('Storage with mount id ' . $storageConfig->getId() . ' is not available')
149
+						'exception' => new StorageNotAvailableException('Storage with mount id '.$storageConfig->getId().' is not available')
150 150
 					]);
151 151
 				}
152 152
 			} catch (\Exception $e) {
@@ -162,7 +162,7 @@  discard block
 block discarded – undo
162 162
 					$this->userStoragesService,
163 163
 					$storageConfig->getId(),
164 164
 					$storage,
165
-					'/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
165
+					'/'.$user->getUID().'/files'.$storageConfig->getMountPoint(),
166 166
 					null,
167 167
 					$loader,
168 168
 					$storageConfig->getMountOptions()
@@ -170,7 +170,7 @@  discard block
 block discarded – undo
170 170
 			} else {
171 171
 				return new MountPoint(
172 172
 					$storage,
173
-					'/' . $user->getUID() . '/files' . $storageConfig->getMountPoint(),
173
+					'/'.$user->getUID().'/files'.$storageConfig->getMountPoint(),
174 174
 					null,
175 175
 					$loader,
176 176
 					$storageConfig->getMountOptions(),
Please login to merge, or discard this patch.
apps/files_external/lib/Migration/DummyUserSession.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -28,26 +28,26 @@
 block discarded – undo
28 28
 
29 29
 class DummyUserSession implements IUserSession {
30 30
 
31
-	/**
32
-	 * @var IUser
33
-	 */
34
-	private $user;
31
+    /**
32
+     * @var IUser
33
+     */
34
+    private $user;
35 35
 
36
-	public function login($user, $password) {
37
-	}
36
+    public function login($user, $password) {
37
+    }
38 38
 
39
-	public function logout() {
40
-	}
39
+    public function logout() {
40
+    }
41 41
 
42
-	public function setUser($user) {
43
-		$this->user = $user;
44
-	}
42
+    public function setUser($user) {
43
+        $this->user = $user;
44
+    }
45 45
 
46
-	public function getUser() {
47
-		return $this->user;
48
-	}
46
+    public function getUser() {
47
+        return $this->user;
48
+    }
49 49
 
50
-	public function isLoggedIn() {
51
-		return !is_null($this->user);
52
-	}
50
+    public function isLoggedIn() {
51
+        return !is_null($this->user);
52
+    }
53 53
 }
Please login to merge, or discard this patch.
apps/files_external/lib/Command/Export.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -30,30 +30,30 @@
 block discarded – undo
30 30
 
31 31
 class Export extends ListCommand {
32 32
 
33
-	protected function configure() {
34
-		$this
35
-			->setName('files_external:export')
36
-			->setDescription('Export mount configurations')
37
-			->addArgument(
38
-				'user_id',
39
-				InputArgument::OPTIONAL,
40
-				'user id to export the personal mounts for, if no user is provided admin mounts will be exported'
41
-			)->addOption(
42
-				'all',
43
-				'a',
44
-				InputOption::VALUE_NONE,
45
-				'show both system wide mounts and all personal mounts'
46
-			);
47
-	}
33
+    protected function configure() {
34
+        $this
35
+            ->setName('files_external:export')
36
+            ->setDescription('Export mount configurations')
37
+            ->addArgument(
38
+                'user_id',
39
+                InputArgument::OPTIONAL,
40
+                'user id to export the personal mounts for, if no user is provided admin mounts will be exported'
41
+            )->addOption(
42
+                'all',
43
+                'a',
44
+                InputOption::VALUE_NONE,
45
+                'show both system wide mounts and all personal mounts'
46
+            );
47
+    }
48 48
 
49
-	protected function execute(InputInterface $input, OutputInterface $output) {
50
-		$listCommand = new ListCommand($this->globalService, $this->userService, $this->userSession, $this->userManager);
51
-		$listInput = new ArrayInput([], $listCommand->getDefinition());
52
-		$listInput->setArgument('user_id', $input->getArgument('user_id'));
53
-		$listInput->setOption('all', $input->getOption('all'));
54
-		$listInput->setOption('output', 'json_pretty');
55
-		$listInput->setOption('show-password', true);
56
-		$listInput->setOption('full', true);
57
-		$listCommand->execute($listInput, $output);
58
-	}
49
+    protected function execute(InputInterface $input, OutputInterface $output) {
50
+        $listCommand = new ListCommand($this->globalService, $this->userService, $this->userSession, $this->userManager);
51
+        $listInput = new ArrayInput([], $listCommand->getDefinition());
52
+        $listInput->setArgument('user_id', $input->getArgument('user_id'));
53
+        $listInput->setOption('all', $input->getOption('all'));
54
+        $listInput->setOption('output', 'json_pretty');
55
+        $listInput->setOption('show-password', true);
56
+        $listInput->setOption('full', true);
57
+        $listCommand->execute($listInput, $output);
58
+    }
59 59
 }
Please login to merge, or discard this patch.
apps/files_external/lib/Command/Applicable.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
 		try {
104 104
 			$mount = $this->globalService->getStorage($mountId);
105 105
 		} catch (NotFoundException $e) {
106
-			$output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts</error>');
106
+			$output->writeln('<error>Mount with id "'.$mountId.' not found, check "occ files_external:list" to get available mounts</error>');
107 107
 			return 404;
108 108
 		}
109 109
 
@@ -123,13 +123,13 @@  discard block
 block discarded – undo
123 123
 		if ((count($addUsers) + count($removeUsers) + count($addGroups) + count($removeGroups) > 0) || $input->getOption('remove-all')) {
124 124
 			foreach ($addUsers as $addUser) {
125 125
 				if (!$this->userManager->userExists($addUser)) {
126
-					$output->writeln('<error>User "' . $addUser . '" not found</error>');
126
+					$output->writeln('<error>User "'.$addUser.'" not found</error>');
127 127
 					return 404;
128 128
 				}
129 129
 			}
130 130
 			foreach ($addGroups as $addGroup) {
131 131
 				if (!$this->groupManager->groupExists($addGroup)) {
132
-					$output->writeln('<error>Group "' . $addGroup . '" not found</error>');
132
+					$output->writeln('<error>Group "'.$addGroup.'" not found</error>');
133 133
 					return 404;
134 134
 				}
135 135
 			}
Please login to merge, or discard this patch.
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -35,122 +35,122 @@
 block discarded – undo
35 35
 use Symfony\Component\Console\Output\OutputInterface;
36 36
 
37 37
 class Applicable extends Base {
38
-	/**
39
-	 * @var GlobalStoragesService
40
-	 */
41
-	protected $globalService;
38
+    /**
39
+     * @var GlobalStoragesService
40
+     */
41
+    protected $globalService;
42 42
 
43
-	/**
44
-	 * @var IUserManager
45
-	 */
46
-	private $userManager;
43
+    /**
44
+     * @var IUserManager
45
+     */
46
+    private $userManager;
47 47
 
48
-	/**
49
-	 * @var IGroupManager
50
-	 */
51
-	private $groupManager;
48
+    /**
49
+     * @var IGroupManager
50
+     */
51
+    private $groupManager;
52 52
 
53
-	function __construct(
54
-		GlobalStoragesService $globalService,
55
-		IUserManager $userManager,
56
-		IGroupManager $groupManager
57
-	) {
58
-		parent::__construct();
59
-		$this->globalService = $globalService;
60
-		$this->userManager = $userManager;
61
-		$this->groupManager = $groupManager;
62
-	}
53
+    function __construct(
54
+        GlobalStoragesService $globalService,
55
+        IUserManager $userManager,
56
+        IGroupManager $groupManager
57
+    ) {
58
+        parent::__construct();
59
+        $this->globalService = $globalService;
60
+        $this->userManager = $userManager;
61
+        $this->groupManager = $groupManager;
62
+    }
63 63
 
64
-	protected function configure() {
65
-		$this
66
-			->setName('files_external:applicable')
67
-			->setDescription('Manage applicable users and groups for a mount')
68
-			->addArgument(
69
-				'mount_id',
70
-				InputArgument::REQUIRED,
71
-				'The id of the mount to edit'
72
-			)->addOption(
73
-				'add-user',
74
-				'',
75
-				InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
76
-				'user to add as applicable'
77
-			)->addOption(
78
-				'remove-user',
79
-				'',
80
-				InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
81
-				'user to remove as applicable'
82
-			)->addOption(
83
-				'add-group',
84
-				'',
85
-				InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
86
-				'group to add as applicable'
87
-			)->addOption(
88
-				'remove-group',
89
-				'',
90
-				InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
91
-				'group to remove as applicable'
92
-			)->addOption(
93
-				'remove-all',
94
-				'',
95
-				InputOption::VALUE_NONE,
96
-				'Set the mount to be globally applicable'
97
-			);
98
-		parent::configure();
99
-	}
64
+    protected function configure() {
65
+        $this
66
+            ->setName('files_external:applicable')
67
+            ->setDescription('Manage applicable users and groups for a mount')
68
+            ->addArgument(
69
+                'mount_id',
70
+                InputArgument::REQUIRED,
71
+                'The id of the mount to edit'
72
+            )->addOption(
73
+                'add-user',
74
+                '',
75
+                InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
76
+                'user to add as applicable'
77
+            )->addOption(
78
+                'remove-user',
79
+                '',
80
+                InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
81
+                'user to remove as applicable'
82
+            )->addOption(
83
+                'add-group',
84
+                '',
85
+                InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
86
+                'group to add as applicable'
87
+            )->addOption(
88
+                'remove-group',
89
+                '',
90
+                InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED,
91
+                'group to remove as applicable'
92
+            )->addOption(
93
+                'remove-all',
94
+                '',
95
+                InputOption::VALUE_NONE,
96
+                'Set the mount to be globally applicable'
97
+            );
98
+        parent::configure();
99
+    }
100 100
 
101
-	protected function execute(InputInterface $input, OutputInterface $output) {
102
-		$mountId = $input->getArgument('mount_id');
103
-		try {
104
-			$mount = $this->globalService->getStorage($mountId);
105
-		} catch (NotFoundException $e) {
106
-			$output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts</error>');
107
-			return 404;
108
-		}
101
+    protected function execute(InputInterface $input, OutputInterface $output) {
102
+        $mountId = $input->getArgument('mount_id');
103
+        try {
104
+            $mount = $this->globalService->getStorage($mountId);
105
+        } catch (NotFoundException $e) {
106
+            $output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts</error>');
107
+            return 404;
108
+        }
109 109
 
110
-		if ($mount->getType() === StorageConfig::MOUNT_TYPE_PERSONAl) {
111
-			$output->writeln('<error>Can\'t change applicables on personal mounts</error>');
112
-			return 1;
113
-		}
110
+        if ($mount->getType() === StorageConfig::MOUNT_TYPE_PERSONAl) {
111
+            $output->writeln('<error>Can\'t change applicables on personal mounts</error>');
112
+            return 1;
113
+        }
114 114
 
115
-		$addUsers = $input->getOption('add-user');
116
-		$removeUsers = $input->getOption('remove-user');
117
-		$addGroups = $input->getOption('add-group');
118
-		$removeGroups = $input->getOption('remove-group');
115
+        $addUsers = $input->getOption('add-user');
116
+        $removeUsers = $input->getOption('remove-user');
117
+        $addGroups = $input->getOption('add-group');
118
+        $removeGroups = $input->getOption('remove-group');
119 119
 
120
-		$applicableUsers = $mount->getApplicableUsers();
121
-		$applicableGroups = $mount->getApplicableGroups();
120
+        $applicableUsers = $mount->getApplicableUsers();
121
+        $applicableGroups = $mount->getApplicableGroups();
122 122
 
123
-		if ((count($addUsers) + count($removeUsers) + count($addGroups) + count($removeGroups) > 0) || $input->getOption('remove-all')) {
124
-			foreach ($addUsers as $addUser) {
125
-				if (!$this->userManager->userExists($addUser)) {
126
-					$output->writeln('<error>User "' . $addUser . '" not found</error>');
127
-					return 404;
128
-				}
129
-			}
130
-			foreach ($addGroups as $addGroup) {
131
-				if (!$this->groupManager->groupExists($addGroup)) {
132
-					$output->writeln('<error>Group "' . $addGroup . '" not found</error>');
133
-					return 404;
134
-				}
135
-			}
123
+        if ((count($addUsers) + count($removeUsers) + count($addGroups) + count($removeGroups) > 0) || $input->getOption('remove-all')) {
124
+            foreach ($addUsers as $addUser) {
125
+                if (!$this->userManager->userExists($addUser)) {
126
+                    $output->writeln('<error>User "' . $addUser . '" not found</error>');
127
+                    return 404;
128
+                }
129
+            }
130
+            foreach ($addGroups as $addGroup) {
131
+                if (!$this->groupManager->groupExists($addGroup)) {
132
+                    $output->writeln('<error>Group "' . $addGroup . '" not found</error>');
133
+                    return 404;
134
+                }
135
+            }
136 136
 
137
-			if ($input->getOption('remove-all')) {
138
-				$applicableUsers = [];
139
-				$applicableGroups = [];
140
-			} else {
141
-				$applicableUsers = array_unique(array_merge($applicableUsers, $addUsers));
142
-				$applicableUsers = array_values(array_diff($applicableUsers, $removeUsers));
143
-				$applicableGroups = array_unique(array_merge($applicableGroups, $addGroups));
144
-				$applicableGroups = array_values(array_diff($applicableGroups, $removeGroups));
145
-			}
146
-			$mount->setApplicableUsers($applicableUsers);
147
-			$mount->setApplicableGroups($applicableGroups);
148
-			$this->globalService->updateStorage($mount);
149
-		}
137
+            if ($input->getOption('remove-all')) {
138
+                $applicableUsers = [];
139
+                $applicableGroups = [];
140
+            } else {
141
+                $applicableUsers = array_unique(array_merge($applicableUsers, $addUsers));
142
+                $applicableUsers = array_values(array_diff($applicableUsers, $removeUsers));
143
+                $applicableGroups = array_unique(array_merge($applicableGroups, $addGroups));
144
+                $applicableGroups = array_values(array_diff($applicableGroups, $removeGroups));
145
+            }
146
+            $mount->setApplicableUsers($applicableUsers);
147
+            $mount->setApplicableGroups($applicableGroups);
148
+            $this->globalService->updateStorage($mount);
149
+        }
150 150
 
151
-		$this->writeArrayInOutputFormat($input, $output, [
152
-			'users' => $applicableUsers,
153
-			'groups' => $applicableGroups
154
-		]);
155
-	}
151
+        $this->writeArrayInOutputFormat($input, $output, [
152
+            'users' => $applicableUsers,
153
+            'groups' => $applicableGroups
154
+        ]);
155
+    }
156 156
 }
Please login to merge, or discard this patch.
apps/files_external/lib/Command/ListCommand.php 2 patches
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -156,11 +156,11 @@  discard block
 block discarded – undo
156 156
 		}
157 157
 
158 158
 		if ($outputType === self::OUTPUT_FORMAT_JSON || $outputType === self::OUTPUT_FORMAT_JSON_PRETTY) {
159
-			$keys = array_map(function ($header) {
159
+			$keys = array_map(function($header) {
160 160
 				return strtolower(str_replace(' ', '_', $header));
161 161
 			}, $headers);
162 162
 
163
-			$pairs = array_map(function (StorageConfig $config) use ($keys, $userId) {
163
+			$pairs = array_map(function(StorageConfig $config) use ($keys, $userId) {
164 164
 				$values = [
165 165
 					$config->getId(),
166 166
 					$config->getMountPoint(),
@@ -193,23 +193,23 @@  discard block
 block discarded – undo
193 193
 				'enable_sharing' => false,
194 194
 				'encoding_compatibility' => false
195 195
 			];
196
-			$rows = array_map(function (StorageConfig $config) use ($userId, $defaultMountOptions, $full) {
196
+			$rows = array_map(function(StorageConfig $config) use ($userId, $defaultMountOptions, $full) {
197 197
 				$storageConfig = $config->getBackendOptions();
198 198
 				$keys = array_keys($storageConfig);
199 199
 				$values = array_values($storageConfig);
200 200
 
201 201
 				if (!$full) {
202
-					$values = array_map(function ($value) {
202
+					$values = array_map(function($value) {
203 203
 						if (is_string($value) && strlen($value) > 32) {
204
-							return substr($value, 0, 6) . '...' . substr($value, -6, 6);
204
+							return substr($value, 0, 6).'...'.substr($value, -6, 6);
205 205
 						} else {
206 206
 							return $value;
207 207
 						}
208 208
 					}, $values);
209 209
 				}
210 210
 
211
-				$configStrings = array_map(function ($key, $value) {
212
-					return $key . ': ' . json_encode($value);
211
+				$configStrings = array_map(function($key, $value) {
212
+					return $key.': '.json_encode($value);
213 213
 				}, $keys, $values);
214 214
 				$configString = implode(', ', $configStrings);
215 215
 
@@ -223,8 +223,8 @@  discard block
 block discarded – undo
223 223
 				$keys = array_keys($mountOptions);
224 224
 				$values = array_values($mountOptions);
225 225
 
226
-				$optionsStrings = array_map(function ($key, $value) {
227
-					return $key . ': ' . json_encode($value);
226
+				$optionsStrings = array_map(function($key, $value) {
227
+					return $key.': '.json_encode($value);
228 228
 				}, $keys, $values);
229 229
 				$optionsString = implode(', ', $optionsStrings);
230 230
 
Please login to merge, or discard this patch.
Indentation   +210 added lines, -210 removed lines patch added patch discarded remove patch
@@ -37,239 +37,239 @@
 block discarded – undo
37 37
 use Symfony\Component\Console\Output\OutputInterface;
38 38
 
39 39
 class ListCommand extends Base {
40
-	/**
41
-	 * @var GlobalStoragesService
42
-	 */
43
-	protected $globalService;
40
+    /**
41
+     * @var GlobalStoragesService
42
+     */
43
+    protected $globalService;
44 44
 
45
-	/**
46
-	 * @var UserStoragesService
47
-	 */
48
-	protected $userService;
45
+    /**
46
+     * @var UserStoragesService
47
+     */
48
+    protected $userService;
49 49
 
50
-	/**
51
-	 * @var IUserSession
52
-	 */
53
-	protected $userSession;
50
+    /**
51
+     * @var IUserSession
52
+     */
53
+    protected $userSession;
54 54
 
55
-	/**
56
-	 * @var IUserManager
57
-	 */
58
-	protected $userManager;
55
+    /**
56
+     * @var IUserManager
57
+     */
58
+    protected $userManager;
59 59
 
60
-	const ALL = -1;
60
+    const ALL = -1;
61 61
 
62
-	function __construct(GlobalStoragesService $globalService, UserStoragesService $userService, IUserSession $userSession, IUserManager $userManager) {
63
-		parent::__construct();
64
-		$this->globalService = $globalService;
65
-		$this->userService = $userService;
66
-		$this->userSession = $userSession;
67
-		$this->userManager = $userManager;
68
-	}
62
+    function __construct(GlobalStoragesService $globalService, UserStoragesService $userService, IUserSession $userSession, IUserManager $userManager) {
63
+        parent::__construct();
64
+        $this->globalService = $globalService;
65
+        $this->userService = $userService;
66
+        $this->userSession = $userSession;
67
+        $this->userManager = $userManager;
68
+    }
69 69
 
70
-	protected function configure() {
71
-		$this
72
-			->setName('files_external:list')
73
-			->setDescription('List configured admin or personal mounts')
74
-			->addArgument(
75
-				'user_id',
76
-				InputArgument::OPTIONAL,
77
-				'user id to list the personal mounts for, if no user is provided admin mounts will be listed'
78
-			)->addOption(
79
-				'show-password',
80
-				'',
81
-				InputOption::VALUE_NONE,
82
-				'show passwords and secrets'
83
-			)->addOption(
84
-				'full',
85
-				null,
86
-				InputOption::VALUE_NONE,
87
-				'don\'t truncate long values in table output'
88
-			)->addOption(
89
-				'all',
90
-				'a',
91
-				InputOption::VALUE_NONE,
92
-				'show both system wide mounts and all personal mounts'
93
-			);
94
-		parent::configure();
95
-	}
70
+    protected function configure() {
71
+        $this
72
+            ->setName('files_external:list')
73
+            ->setDescription('List configured admin or personal mounts')
74
+            ->addArgument(
75
+                'user_id',
76
+                InputArgument::OPTIONAL,
77
+                'user id to list the personal mounts for, if no user is provided admin mounts will be listed'
78
+            )->addOption(
79
+                'show-password',
80
+                '',
81
+                InputOption::VALUE_NONE,
82
+                'show passwords and secrets'
83
+            )->addOption(
84
+                'full',
85
+                null,
86
+                InputOption::VALUE_NONE,
87
+                'don\'t truncate long values in table output'
88
+            )->addOption(
89
+                'all',
90
+                'a',
91
+                InputOption::VALUE_NONE,
92
+                'show both system wide mounts and all personal mounts'
93
+            );
94
+        parent::configure();
95
+    }
96 96
 
97
-	protected function execute(InputInterface $input, OutputInterface $output) {
98
-		if ($input->getOption('all')) {
99
-			/** @var  $mounts StorageConfig[] */
100
-			$mounts = $this->globalService->getStorageForAllUsers();
101
-			$userId = self::ALL;
102
-		} else {
103
-			$userId = $input->getArgument('user_id');
104
-			$storageService = $this->getStorageService($userId);
97
+    protected function execute(InputInterface $input, OutputInterface $output) {
98
+        if ($input->getOption('all')) {
99
+            /** @var  $mounts StorageConfig[] */
100
+            $mounts = $this->globalService->getStorageForAllUsers();
101
+            $userId = self::ALL;
102
+        } else {
103
+            $userId = $input->getArgument('user_id');
104
+            $storageService = $this->getStorageService($userId);
105 105
 
106
-			/** @var  $mounts StorageConfig[] */
107
-			$mounts = $storageService->getAllStorages();
108
-		}
106
+            /** @var  $mounts StorageConfig[] */
107
+            $mounts = $storageService->getAllStorages();
108
+        }
109 109
 
110
-		$this->listMounts($userId, $mounts, $input, $output);
111
-	}
110
+        $this->listMounts($userId, $mounts, $input, $output);
111
+    }
112 112
 
113
-	/**
114
-	 * @param $userId $userId
115
-	 * @param StorageConfig[] $mounts
116
-	 * @param InputInterface $input
117
-	 * @param OutputInterface $output
118
-	 */
119
-	public function listMounts($userId, array $mounts, InputInterface $input, OutputInterface $output) {
120
-		$outputType = $input->getOption('output');
121
-		if (count($mounts) === 0) {
122
-			if ($outputType === self::OUTPUT_FORMAT_JSON || $outputType === self::OUTPUT_FORMAT_JSON_PRETTY) {
123
-				$output->writeln('[]');
124
-			} else {
125
-				if ($userId === self::ALL) {
126
-					$output->writeln("<info>No mounts configured</info>");
127
-				} else if ($userId) {
128
-					$output->writeln("<info>No mounts configured by $userId</info>");
129
-				} else {
130
-					$output->writeln("<info>No admin mounts configured</info>");
131
-				}
132
-			}
133
-			return;
134
-		}
113
+    /**
114
+     * @param $userId $userId
115
+     * @param StorageConfig[] $mounts
116
+     * @param InputInterface $input
117
+     * @param OutputInterface $output
118
+     */
119
+    public function listMounts($userId, array $mounts, InputInterface $input, OutputInterface $output) {
120
+        $outputType = $input->getOption('output');
121
+        if (count($mounts) === 0) {
122
+            if ($outputType === self::OUTPUT_FORMAT_JSON || $outputType === self::OUTPUT_FORMAT_JSON_PRETTY) {
123
+                $output->writeln('[]');
124
+            } else {
125
+                if ($userId === self::ALL) {
126
+                    $output->writeln("<info>No mounts configured</info>");
127
+                } else if ($userId) {
128
+                    $output->writeln("<info>No mounts configured by $userId</info>");
129
+                } else {
130
+                    $output->writeln("<info>No admin mounts configured</info>");
131
+                }
132
+            }
133
+            return;
134
+        }
135 135
 
136
-		$headers = ['Mount ID', 'Mount Point', 'Storage', 'Authentication Type', 'Configuration', 'Options'];
136
+        $headers = ['Mount ID', 'Mount Point', 'Storage', 'Authentication Type', 'Configuration', 'Options'];
137 137
 
138
-		if (!$userId || $userId === self::ALL) {
139
-			$headers[] = 'Applicable Users';
140
-			$headers[] = 'Applicable Groups';
141
-		}
142
-		if ($userId === self::ALL) {
143
-			$headers[] = 'Type';
144
-		}
138
+        if (!$userId || $userId === self::ALL) {
139
+            $headers[] = 'Applicable Users';
140
+            $headers[] = 'Applicable Groups';
141
+        }
142
+        if ($userId === self::ALL) {
143
+            $headers[] = 'Type';
144
+        }
145 145
 
146
-		if (!$input->getOption('show-password')) {
147
-			$hideKeys = ['password', 'refresh_token', 'token', 'client_secret', 'public_key', 'private_key'];
148
-			foreach ($mounts as $mount) {
149
-				$config = $mount->getBackendOptions();
150
-				foreach ($config as $key => $value) {
151
-					if (in_array($key, $hideKeys)) {
152
-						$mount->setBackendOption($key, '***');
153
-					}
154
-				}
155
-			}
156
-		}
146
+        if (!$input->getOption('show-password')) {
147
+            $hideKeys = ['password', 'refresh_token', 'token', 'client_secret', 'public_key', 'private_key'];
148
+            foreach ($mounts as $mount) {
149
+                $config = $mount->getBackendOptions();
150
+                foreach ($config as $key => $value) {
151
+                    if (in_array($key, $hideKeys)) {
152
+                        $mount->setBackendOption($key, '***');
153
+                    }
154
+                }
155
+            }
156
+        }
157 157
 
158
-		if ($outputType === self::OUTPUT_FORMAT_JSON || $outputType === self::OUTPUT_FORMAT_JSON_PRETTY) {
159
-			$keys = array_map(function ($header) {
160
-				return strtolower(str_replace(' ', '_', $header));
161
-			}, $headers);
158
+        if ($outputType === self::OUTPUT_FORMAT_JSON || $outputType === self::OUTPUT_FORMAT_JSON_PRETTY) {
159
+            $keys = array_map(function ($header) {
160
+                return strtolower(str_replace(' ', '_', $header));
161
+            }, $headers);
162 162
 
163
-			$pairs = array_map(function (StorageConfig $config) use ($keys, $userId) {
164
-				$values = [
165
-					$config->getId(),
166
-					$config->getMountPoint(),
167
-					$config->getBackend()->getStorageClass(),
168
-					$config->getAuthMechanism()->getIdentifier(),
169
-					$config->getBackendOptions(),
170
-					$config->getMountOptions()
171
-				];
172
-				if (!$userId || $userId === self::ALL) {
173
-					$values[] = $config->getApplicableUsers();
174
-					$values[] = $config->getApplicableGroups();
175
-				}
176
-				if ($userId === self::ALL) {
177
-					$values[] = $config->getType() === StorageConfig::MOUNT_TYPE_ADMIN ? 'admin' : 'personal';
178
-				}
163
+            $pairs = array_map(function (StorageConfig $config) use ($keys, $userId) {
164
+                $values = [
165
+                    $config->getId(),
166
+                    $config->getMountPoint(),
167
+                    $config->getBackend()->getStorageClass(),
168
+                    $config->getAuthMechanism()->getIdentifier(),
169
+                    $config->getBackendOptions(),
170
+                    $config->getMountOptions()
171
+                ];
172
+                if (!$userId || $userId === self::ALL) {
173
+                    $values[] = $config->getApplicableUsers();
174
+                    $values[] = $config->getApplicableGroups();
175
+                }
176
+                if ($userId === self::ALL) {
177
+                    $values[] = $config->getType() === StorageConfig::MOUNT_TYPE_ADMIN ? 'admin' : 'personal';
178
+                }
179 179
 
180
-				return array_combine($keys, $values);
181
-			}, $mounts);
182
-			if ($outputType === self::OUTPUT_FORMAT_JSON) {
183
-				$output->writeln(json_encode(array_values($pairs)));
184
-			} else {
185
-				$output->writeln(json_encode(array_values($pairs), JSON_PRETTY_PRINT));
186
-			}
187
-		} else {
188
-			$full = $input->getOption('full');
189
-			$defaultMountOptions = [
190
-				'encrypt' => true,
191
-				'previews' => true,
192
-				'filesystem_check_changes' => 1,
193
-				'enable_sharing' => false,
194
-				'encoding_compatibility' => false
195
-			];
196
-			$rows = array_map(function (StorageConfig $config) use ($userId, $defaultMountOptions, $full) {
197
-				$storageConfig = $config->getBackendOptions();
198
-				$keys = array_keys($storageConfig);
199
-				$values = array_values($storageConfig);
180
+                return array_combine($keys, $values);
181
+            }, $mounts);
182
+            if ($outputType === self::OUTPUT_FORMAT_JSON) {
183
+                $output->writeln(json_encode(array_values($pairs)));
184
+            } else {
185
+                $output->writeln(json_encode(array_values($pairs), JSON_PRETTY_PRINT));
186
+            }
187
+        } else {
188
+            $full = $input->getOption('full');
189
+            $defaultMountOptions = [
190
+                'encrypt' => true,
191
+                'previews' => true,
192
+                'filesystem_check_changes' => 1,
193
+                'enable_sharing' => false,
194
+                'encoding_compatibility' => false
195
+            ];
196
+            $rows = array_map(function (StorageConfig $config) use ($userId, $defaultMountOptions, $full) {
197
+                $storageConfig = $config->getBackendOptions();
198
+                $keys = array_keys($storageConfig);
199
+                $values = array_values($storageConfig);
200 200
 
201
-				if (!$full) {
202
-					$values = array_map(function ($value) {
203
-						if (is_string($value) && strlen($value) > 32) {
204
-							return substr($value, 0, 6) . '...' . substr($value, -6, 6);
205
-						} else {
206
-							return $value;
207
-						}
208
-					}, $values);
209
-				}
201
+                if (!$full) {
202
+                    $values = array_map(function ($value) {
203
+                        if (is_string($value) && strlen($value) > 32) {
204
+                            return substr($value, 0, 6) . '...' . substr($value, -6, 6);
205
+                        } else {
206
+                            return $value;
207
+                        }
208
+                    }, $values);
209
+                }
210 210
 
211
-				$configStrings = array_map(function ($key, $value) {
212
-					return $key . ': ' . json_encode($value);
213
-				}, $keys, $values);
214
-				$configString = implode(', ', $configStrings);
211
+                $configStrings = array_map(function ($key, $value) {
212
+                    return $key . ': ' . json_encode($value);
213
+                }, $keys, $values);
214
+                $configString = implode(', ', $configStrings);
215 215
 
216
-				$mountOptions = $config->getMountOptions();
217
-				// hide defaults
218
-				foreach ($mountOptions as $key => $value) {
219
-					if ($value === $defaultMountOptions[$key]) {
220
-						unset($mountOptions[$key]);
221
-					}
222
-				}
223
-				$keys = array_keys($mountOptions);
224
-				$values = array_values($mountOptions);
216
+                $mountOptions = $config->getMountOptions();
217
+                // hide defaults
218
+                foreach ($mountOptions as $key => $value) {
219
+                    if ($value === $defaultMountOptions[$key]) {
220
+                        unset($mountOptions[$key]);
221
+                    }
222
+                }
223
+                $keys = array_keys($mountOptions);
224
+                $values = array_values($mountOptions);
225 225
 
226
-				$optionsStrings = array_map(function ($key, $value) {
227
-					return $key . ': ' . json_encode($value);
228
-				}, $keys, $values);
229
-				$optionsString = implode(', ', $optionsStrings);
226
+                $optionsStrings = array_map(function ($key, $value) {
227
+                    return $key . ': ' . json_encode($value);
228
+                }, $keys, $values);
229
+                $optionsString = implode(', ', $optionsStrings);
230 230
 
231
-				$values = [
232
-					$config->getId(),
233
-					$config->getMountPoint(),
234
-					$config->getBackend()->getText(),
235
-					$config->getAuthMechanism()->getText(),
236
-					$configString,
237
-					$optionsString
238
-				];
231
+                $values = [
232
+                    $config->getId(),
233
+                    $config->getMountPoint(),
234
+                    $config->getBackend()->getText(),
235
+                    $config->getAuthMechanism()->getText(),
236
+                    $configString,
237
+                    $optionsString
238
+                ];
239 239
 
240
-				if (!$userId || $userId === self::ALL) {
241
-					$applicableUsers = implode(', ', $config->getApplicableUsers());
242
-					$applicableGroups = implode(', ', $config->getApplicableGroups());
243
-					if ($applicableUsers === '' && $applicableGroups === '') {
244
-						$applicableUsers = 'All';
245
-					}
246
-					$values[] = $applicableUsers;
247
-					$values[] = $applicableGroups;
248
-				}
249
-				if ($userId === self::ALL) {
250
-					$values[] = $config->getType() === StorageConfig::MOUNT_TYPE_ADMIN ? 'Admin' : 'Personal';
251
-				}
240
+                if (!$userId || $userId === self::ALL) {
241
+                    $applicableUsers = implode(', ', $config->getApplicableUsers());
242
+                    $applicableGroups = implode(', ', $config->getApplicableGroups());
243
+                    if ($applicableUsers === '' && $applicableGroups === '') {
244
+                        $applicableUsers = 'All';
245
+                    }
246
+                    $values[] = $applicableUsers;
247
+                    $values[] = $applicableGroups;
248
+                }
249
+                if ($userId === self::ALL) {
250
+                    $values[] = $config->getType() === StorageConfig::MOUNT_TYPE_ADMIN ? 'Admin' : 'Personal';
251
+                }
252 252
 
253
-				return $values;
254
-			}, $mounts);
253
+                return $values;
254
+            }, $mounts);
255 255
 
256
-			$table = new Table($output);
257
-			$table->setHeaders($headers);
258
-			$table->setRows($rows);
259
-			$table->render();
260
-		}
261
-	}
256
+            $table = new Table($output);
257
+            $table->setHeaders($headers);
258
+            $table->setRows($rows);
259
+            $table->render();
260
+        }
261
+    }
262 262
 
263
-	protected function getStorageService($userId) {
264
-		if (!empty($userId)) {
265
-			$user = $this->userManager->get($userId);
266
-			if (is_null($user)) {
267
-				throw new NoUserException("user $userId not found");
268
-			}
269
-			$this->userSession->setUser($user);
270
-			return $this->userService;
271
-		} else {
272
-			return $this->globalService;
273
-		}
274
-	}
263
+    protected function getStorageService($userId) {
264
+        if (!empty($userId)) {
265
+            $user = $this->userManager->get($userId);
266
+            if (is_null($user)) {
267
+                throw new NoUserException("user $userId not found");
268
+            }
269
+            $this->userSession->setUser($user);
270
+            return $this->userService;
271
+        } else {
272
+            return $this->globalService;
273
+        }
274
+    }
275 275
 }
Please login to merge, or discard this patch.