Completed
Push — master ( ca0f2f...6aa6d2 )
by Björn
33:52 queued 15:38
created
lib/private/Share20/ProviderFactory.php 1 patch
Indentation   +261 added lines, -261 removed lines patch added patch discarded remove patch
@@ -48,274 +48,274 @@
 block discarded – undo
48 48
  */
49 49
 class ProviderFactory implements IProviderFactory {
50 50
 
51
-	/** @var IServerContainer */
52
-	private $serverContainer;
53
-	/** @var DefaultShareProvider */
54
-	private $defaultProvider = null;
55
-	/** @var FederatedShareProvider */
56
-	private $federatedProvider = null;
57
-	/** @var  ShareByMailProvider */
58
-	private $shareByMailProvider;
59
-	/** @var  \OCA\Circles\ShareByCircleProvider */
60
-	private $shareByCircleProvider = null;
61
-	/** @var bool */
62
-	private $circlesAreNotAvailable = false;
63
-	/** @var \OCA\Spreed\Share\RoomShareProvider */
64
-	private $roomShareProvider = null;
65
-
66
-	/**
67
-	 * IProviderFactory constructor.
68
-	 *
69
-	 * @param IServerContainer $serverContainer
70
-	 */
71
-	public function __construct(IServerContainer $serverContainer) {
72
-		$this->serverContainer = $serverContainer;
73
-	}
74
-
75
-	/**
76
-	 * Create the default share provider.
77
-	 *
78
-	 * @return DefaultShareProvider
79
-	 */
80
-	protected function defaultShareProvider() {
81
-		if ($this->defaultProvider === null) {
82
-			$this->defaultProvider = new DefaultShareProvider(
83
-				$this->serverContainer->getDatabaseConnection(),
84
-				$this->serverContainer->getUserManager(),
85
-				$this->serverContainer->getGroupManager(),
86
-				$this->serverContainer->getLazyRootFolder(),
87
-				$this->serverContainer->getMailer(),
88
-				$this->serverContainer->query(Defaults::class),
89
-				$this->serverContainer->getL10N('sharing'),
90
-				$this->serverContainer->getURLGenerator()
91
-			);
92
-		}
93
-
94
-		return $this->defaultProvider;
95
-	}
96
-
97
-	/**
98
-	 * Create the federated share provider
99
-	 *
100
-	 * @return FederatedShareProvider
101
-	 */
102
-	protected function federatedShareProvider() {
103
-		if ($this->federatedProvider === null) {
104
-			/*
51
+    /** @var IServerContainer */
52
+    private $serverContainer;
53
+    /** @var DefaultShareProvider */
54
+    private $defaultProvider = null;
55
+    /** @var FederatedShareProvider */
56
+    private $federatedProvider = null;
57
+    /** @var  ShareByMailProvider */
58
+    private $shareByMailProvider;
59
+    /** @var  \OCA\Circles\ShareByCircleProvider */
60
+    private $shareByCircleProvider = null;
61
+    /** @var bool */
62
+    private $circlesAreNotAvailable = false;
63
+    /** @var \OCA\Spreed\Share\RoomShareProvider */
64
+    private $roomShareProvider = null;
65
+
66
+    /**
67
+     * IProviderFactory constructor.
68
+     *
69
+     * @param IServerContainer $serverContainer
70
+     */
71
+    public function __construct(IServerContainer $serverContainer) {
72
+        $this->serverContainer = $serverContainer;
73
+    }
74
+
75
+    /**
76
+     * Create the default share provider.
77
+     *
78
+     * @return DefaultShareProvider
79
+     */
80
+    protected function defaultShareProvider() {
81
+        if ($this->defaultProvider === null) {
82
+            $this->defaultProvider = new DefaultShareProvider(
83
+                $this->serverContainer->getDatabaseConnection(),
84
+                $this->serverContainer->getUserManager(),
85
+                $this->serverContainer->getGroupManager(),
86
+                $this->serverContainer->getLazyRootFolder(),
87
+                $this->serverContainer->getMailer(),
88
+                $this->serverContainer->query(Defaults::class),
89
+                $this->serverContainer->getL10N('sharing'),
90
+                $this->serverContainer->getURLGenerator()
91
+            );
92
+        }
93
+
94
+        return $this->defaultProvider;
95
+    }
96
+
97
+    /**
98
+     * Create the federated share provider
99
+     *
100
+     * @return FederatedShareProvider
101
+     */
102
+    protected function federatedShareProvider() {
103
+        if ($this->federatedProvider === null) {
104
+            /*
105 105
 			 * Check if the app is enabled
106 106
 			 */
107
-			$appManager = $this->serverContainer->getAppManager();
108
-			if (!$appManager->isEnabledForUser('federatedfilesharing')) {
109
-				return null;
110
-			}
107
+            $appManager = $this->serverContainer->getAppManager();
108
+            if (!$appManager->isEnabledForUser('federatedfilesharing')) {
109
+                return null;
110
+            }
111 111
 
112
-			/*
112
+            /*
113 113
 			 * TODO: add factory to federated sharing app
114 114
 			 */
115
-			$l = $this->serverContainer->getL10N('federatedfilessharing');
116
-			$addressHandler = new AddressHandler(
117
-				$this->serverContainer->getURLGenerator(),
118
-				$l,
119
-				$this->serverContainer->getCloudIdManager()
120
-			);
121
-			$notifications = new Notifications(
122
-				$addressHandler,
123
-				$this->serverContainer->getHTTPClientService(),
124
-				$this->serverContainer->query(\OCP\OCS\IDiscoveryService::class),
125
-				$this->serverContainer->getJobList(),
126
-				\OC::$server->getCloudFederationProviderManager(),
127
-				\OC::$server->getCloudFederationFactory()
128
-			);
129
-			$tokenHandler = new TokenHandler(
130
-				$this->serverContainer->getSecureRandom()
131
-			);
132
-
133
-			$this->federatedProvider = new FederatedShareProvider(
134
-				$this->serverContainer->getDatabaseConnection(),
135
-				$addressHandler,
136
-				$notifications,
137
-				$tokenHandler,
138
-				$l,
139
-				$this->serverContainer->getLogger(),
140
-				$this->serverContainer->getLazyRootFolder(),
141
-				$this->serverContainer->getConfig(),
142
-				$this->serverContainer->getUserManager(),
143
-				$this->serverContainer->getCloudIdManager(),
144
-				$this->serverContainer->getGlobalScaleConfig(),
145
-				$this->serverContainer->getCloudFederationProviderManager()
146
-			);
147
-		}
148
-
149
-		return $this->federatedProvider;
150
-	}
151
-
152
-	/**
153
-	 * Create the federated share provider
154
-	 *
155
-	 * @return ShareByMailProvider
156
-	 */
157
-	protected function getShareByMailProvider() {
158
-		if ($this->shareByMailProvider === null) {
159
-			/*
115
+            $l = $this->serverContainer->getL10N('federatedfilessharing');
116
+            $addressHandler = new AddressHandler(
117
+                $this->serverContainer->getURLGenerator(),
118
+                $l,
119
+                $this->serverContainer->getCloudIdManager()
120
+            );
121
+            $notifications = new Notifications(
122
+                $addressHandler,
123
+                $this->serverContainer->getHTTPClientService(),
124
+                $this->serverContainer->query(\OCP\OCS\IDiscoveryService::class),
125
+                $this->serverContainer->getJobList(),
126
+                \OC::$server->getCloudFederationProviderManager(),
127
+                \OC::$server->getCloudFederationFactory()
128
+            );
129
+            $tokenHandler = new TokenHandler(
130
+                $this->serverContainer->getSecureRandom()
131
+            );
132
+
133
+            $this->federatedProvider = new FederatedShareProvider(
134
+                $this->serverContainer->getDatabaseConnection(),
135
+                $addressHandler,
136
+                $notifications,
137
+                $tokenHandler,
138
+                $l,
139
+                $this->serverContainer->getLogger(),
140
+                $this->serverContainer->getLazyRootFolder(),
141
+                $this->serverContainer->getConfig(),
142
+                $this->serverContainer->getUserManager(),
143
+                $this->serverContainer->getCloudIdManager(),
144
+                $this->serverContainer->getGlobalScaleConfig(),
145
+                $this->serverContainer->getCloudFederationProviderManager()
146
+            );
147
+        }
148
+
149
+        return $this->federatedProvider;
150
+    }
151
+
152
+    /**
153
+     * Create the federated share provider
154
+     *
155
+     * @return ShareByMailProvider
156
+     */
157
+    protected function getShareByMailProvider() {
158
+        if ($this->shareByMailProvider === null) {
159
+            /*
160 160
 			 * Check if the app is enabled
161 161
 			 */
162
-			$appManager = $this->serverContainer->getAppManager();
163
-			if (!$appManager->isEnabledForUser('sharebymail')) {
164
-				return null;
165
-			}
166
-
167
-			$settingsManager = new SettingsManager($this->serverContainer->getConfig());
168
-
169
-			$this->shareByMailProvider = new ShareByMailProvider(
170
-				$this->serverContainer->getDatabaseConnection(),
171
-				$this->serverContainer->getSecureRandom(),
172
-				$this->serverContainer->getUserManager(),
173
-				$this->serverContainer->getLazyRootFolder(),
174
-				$this->serverContainer->getL10N('sharebymail'),
175
-				$this->serverContainer->getLogger(),
176
-				$this->serverContainer->getMailer(),
177
-				$this->serverContainer->getURLGenerator(),
178
-				$this->serverContainer->getActivityManager(),
179
-				$settingsManager,
180
-				$this->serverContainer->query(Defaults::class),
181
-				$this->serverContainer->getHasher(),
182
-				$this->serverContainer->query(CapabilitiesManager::class)
183
-			);
184
-		}
185
-
186
-		return $this->shareByMailProvider;
187
-	}
188
-
189
-
190
-	/**
191
-	 * Create the circle share provider
192
-	 *
193
-	 * @return FederatedShareProvider
194
-	 *
195
-	 * @suppress PhanUndeclaredClassMethod
196
-	 */
197
-	protected function getShareByCircleProvider() {
198
-
199
-		if ($this->circlesAreNotAvailable) {
200
-			return null;
201
-		}
202
-
203
-		if (!$this->serverContainer->getAppManager()->isEnabledForUser('circles') ||
204
-			!class_exists('\OCA\Circles\ShareByCircleProvider')
205
-		) {
206
-			$this->circlesAreNotAvailable = true;
207
-			return null;
208
-		}
209
-
210
-		if ($this->shareByCircleProvider === null) {
211
-
212
-			$this->shareByCircleProvider = new \OCA\Circles\ShareByCircleProvider(
213
-				$this->serverContainer->getDatabaseConnection(),
214
-				$this->serverContainer->getSecureRandom(),
215
-				$this->serverContainer->getUserManager(),
216
-				$this->serverContainer->getLazyRootFolder(),
217
-				$this->serverContainer->getL10N('circles'),
218
-				$this->serverContainer->getLogger(),
219
-				$this->serverContainer->getURLGenerator()
220
-			);
221
-		}
222
-
223
-		return $this->shareByCircleProvider;
224
-	}
225
-
226
-	/**
227
-	 * Create the room share provider
228
-	 *
229
-	 * @return RoomShareProvider
230
-	 */
231
-	protected function getRoomShareProvider() {
232
-		if ($this->roomShareProvider === null) {
233
-			/*
162
+            $appManager = $this->serverContainer->getAppManager();
163
+            if (!$appManager->isEnabledForUser('sharebymail')) {
164
+                return null;
165
+            }
166
+
167
+            $settingsManager = new SettingsManager($this->serverContainer->getConfig());
168
+
169
+            $this->shareByMailProvider = new ShareByMailProvider(
170
+                $this->serverContainer->getDatabaseConnection(),
171
+                $this->serverContainer->getSecureRandom(),
172
+                $this->serverContainer->getUserManager(),
173
+                $this->serverContainer->getLazyRootFolder(),
174
+                $this->serverContainer->getL10N('sharebymail'),
175
+                $this->serverContainer->getLogger(),
176
+                $this->serverContainer->getMailer(),
177
+                $this->serverContainer->getURLGenerator(),
178
+                $this->serverContainer->getActivityManager(),
179
+                $settingsManager,
180
+                $this->serverContainer->query(Defaults::class),
181
+                $this->serverContainer->getHasher(),
182
+                $this->serverContainer->query(CapabilitiesManager::class)
183
+            );
184
+        }
185
+
186
+        return $this->shareByMailProvider;
187
+    }
188
+
189
+
190
+    /**
191
+     * Create the circle share provider
192
+     *
193
+     * @return FederatedShareProvider
194
+     *
195
+     * @suppress PhanUndeclaredClassMethod
196
+     */
197
+    protected function getShareByCircleProvider() {
198
+
199
+        if ($this->circlesAreNotAvailable) {
200
+            return null;
201
+        }
202
+
203
+        if (!$this->serverContainer->getAppManager()->isEnabledForUser('circles') ||
204
+            !class_exists('\OCA\Circles\ShareByCircleProvider')
205
+        ) {
206
+            $this->circlesAreNotAvailable = true;
207
+            return null;
208
+        }
209
+
210
+        if ($this->shareByCircleProvider === null) {
211
+
212
+            $this->shareByCircleProvider = new \OCA\Circles\ShareByCircleProvider(
213
+                $this->serverContainer->getDatabaseConnection(),
214
+                $this->serverContainer->getSecureRandom(),
215
+                $this->serverContainer->getUserManager(),
216
+                $this->serverContainer->getLazyRootFolder(),
217
+                $this->serverContainer->getL10N('circles'),
218
+                $this->serverContainer->getLogger(),
219
+                $this->serverContainer->getURLGenerator()
220
+            );
221
+        }
222
+
223
+        return $this->shareByCircleProvider;
224
+    }
225
+
226
+    /**
227
+     * Create the room share provider
228
+     *
229
+     * @return RoomShareProvider
230
+     */
231
+    protected function getRoomShareProvider() {
232
+        if ($this->roomShareProvider === null) {
233
+            /*
234 234
 			 * Check if the app is enabled
235 235
 			 */
236
-			$appManager = $this->serverContainer->getAppManager();
237
-			if (!$appManager->isEnabledForUser('spreed')) {
238
-				return null;
239
-			}
240
-
241
-			try {
242
-				$this->roomShareProvider = $this->serverContainer->query('\OCA\Spreed\Share\RoomShareProvider');
243
-			} catch (\OCP\AppFramework\QueryException $e) {
244
-				return null;
245
-			}
246
-		}
247
-
248
-		return $this->roomShareProvider;
249
-	}
250
-
251
-	/**
252
-	 * @inheritdoc
253
-	 */
254
-	public function getProvider($id) {
255
-		$provider = null;
256
-		if ($id === 'ocinternal') {
257
-			$provider = $this->defaultShareProvider();
258
-		} else if ($id === 'ocFederatedSharing') {
259
-			$provider = $this->federatedShareProvider();
260
-		} else if ($id === 'ocMailShare') {
261
-			$provider = $this->getShareByMailProvider();
262
-		} else if ($id === 'ocCircleShare') {
263
-			$provider = $this->getShareByCircleProvider();
264
-		} else if ($id === 'ocRoomShare') {
265
-			$provider = $this->getRoomShareProvider();
266
-		}
267
-
268
-		if ($provider === null) {
269
-			throw new ProviderException('No provider with id .' . $id . ' found.');
270
-		}
271
-
272
-		return $provider;
273
-	}
274
-
275
-	/**
276
-	 * @inheritdoc
277
-	 */
278
-	public function getProviderForType($shareType) {
279
-		$provider = null;
280
-
281
-		if ($shareType === \OCP\Share::SHARE_TYPE_USER ||
282
-			$shareType === \OCP\Share::SHARE_TYPE_GROUP ||
283
-			$shareType === \OCP\Share::SHARE_TYPE_LINK
284
-		) {
285
-			$provider = $this->defaultShareProvider();
286
-		} else if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE || $shareType === \OCP\Share::SHARE_TYPE_REMOTE_GROUP) {
287
-			$provider = $this->federatedShareProvider();
288
-		} else if ($shareType === \OCP\Share::SHARE_TYPE_EMAIL) {
289
-			$provider = $this->getShareByMailProvider();
290
-		} else if ($shareType === \OCP\Share::SHARE_TYPE_CIRCLE) {
291
-			$provider = $this->getShareByCircleProvider();
292
-		} else if ($shareType === \OCP\Share::SHARE_TYPE_ROOM) {
293
-			$provider = $this->getRoomShareProvider();
294
-		}
295
-
296
-
297
-		if ($provider === null) {
298
-			throw new ProviderException('No share provider for share type ' . $shareType);
299
-		}
300
-
301
-		return $provider;
302
-	}
303
-
304
-	public function getAllProviders() {
305
-		$shares = [$this->defaultShareProvider(), $this->federatedShareProvider()];
306
-		$shareByMail = $this->getShareByMailProvider();
307
-		if ($shareByMail !== null) {
308
-			$shares[] = $shareByMail;
309
-		}
310
-		$shareByCircle = $this->getShareByCircleProvider();
311
-		if ($shareByCircle !== null) {
312
-			$shares[] = $shareByCircle;
313
-		}
314
-		$roomShare = $this->getRoomShareProvider();
315
-		if ($roomShare !== null) {
316
-			$shares[] = $roomShare;
317
-		}
318
-
319
-		return $shares;
320
-	}
236
+            $appManager = $this->serverContainer->getAppManager();
237
+            if (!$appManager->isEnabledForUser('spreed')) {
238
+                return null;
239
+            }
240
+
241
+            try {
242
+                $this->roomShareProvider = $this->serverContainer->query('\OCA\Spreed\Share\RoomShareProvider');
243
+            } catch (\OCP\AppFramework\QueryException $e) {
244
+                return null;
245
+            }
246
+        }
247
+
248
+        return $this->roomShareProvider;
249
+    }
250
+
251
+    /**
252
+     * @inheritdoc
253
+     */
254
+    public function getProvider($id) {
255
+        $provider = null;
256
+        if ($id === 'ocinternal') {
257
+            $provider = $this->defaultShareProvider();
258
+        } else if ($id === 'ocFederatedSharing') {
259
+            $provider = $this->federatedShareProvider();
260
+        } else if ($id === 'ocMailShare') {
261
+            $provider = $this->getShareByMailProvider();
262
+        } else if ($id === 'ocCircleShare') {
263
+            $provider = $this->getShareByCircleProvider();
264
+        } else if ($id === 'ocRoomShare') {
265
+            $provider = $this->getRoomShareProvider();
266
+        }
267
+
268
+        if ($provider === null) {
269
+            throw new ProviderException('No provider with id .' . $id . ' found.');
270
+        }
271
+
272
+        return $provider;
273
+    }
274
+
275
+    /**
276
+     * @inheritdoc
277
+     */
278
+    public function getProviderForType($shareType) {
279
+        $provider = null;
280
+
281
+        if ($shareType === \OCP\Share::SHARE_TYPE_USER ||
282
+            $shareType === \OCP\Share::SHARE_TYPE_GROUP ||
283
+            $shareType === \OCP\Share::SHARE_TYPE_LINK
284
+        ) {
285
+            $provider = $this->defaultShareProvider();
286
+        } else if ($shareType === \OCP\Share::SHARE_TYPE_REMOTE || $shareType === \OCP\Share::SHARE_TYPE_REMOTE_GROUP) {
287
+            $provider = $this->federatedShareProvider();
288
+        } else if ($shareType === \OCP\Share::SHARE_TYPE_EMAIL) {
289
+            $provider = $this->getShareByMailProvider();
290
+        } else if ($shareType === \OCP\Share::SHARE_TYPE_CIRCLE) {
291
+            $provider = $this->getShareByCircleProvider();
292
+        } else if ($shareType === \OCP\Share::SHARE_TYPE_ROOM) {
293
+            $provider = $this->getRoomShareProvider();
294
+        }
295
+
296
+
297
+        if ($provider === null) {
298
+            throw new ProviderException('No share provider for share type ' . $shareType);
299
+        }
300
+
301
+        return $provider;
302
+    }
303
+
304
+    public function getAllProviders() {
305
+        $shares = [$this->defaultShareProvider(), $this->federatedShareProvider()];
306
+        $shareByMail = $this->getShareByMailProvider();
307
+        if ($shareByMail !== null) {
308
+            $shares[] = $shareByMail;
309
+        }
310
+        $shareByCircle = $this->getShareByCircleProvider();
311
+        if ($shareByCircle !== null) {
312
+            $shares[] = $shareByCircle;
313
+        }
314
+        $roomShare = $this->getRoomShareProvider();
315
+        if ($roomShare !== null) {
316
+            $shares[] = $roomShare;
317
+        }
318
+
319
+        return $shares;
320
+    }
321 321
 }
Please login to merge, or discard this patch.