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