Passed
Push — master ( 32577f...c1368b )
by Robin
11:13 queued 10s
created
apps/systemtags/lib/Activity/Provider.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -279,7 +279,7 @@
 block discarded – undo
279 279
 		if ($tagData === null) {
280 280
 			list($name, $status) = explode('|||', substr($parameter, 3, -3));
281 281
 			$tagData = [
282
-				'id' => 0,// No way to recover the ID
282
+				'id' => 0, // No way to recover the ID
283 283
 				'name' => $name,
284 284
 				'assignable' => $status === 'assignable',
285 285
 				'visible' => $status !== 'invisible',
Please login to merge, or discard this patch.
Indentation   +335 added lines, -335 removed lines patch added patch discarded remove patch
@@ -34,339 +34,339 @@
 block discarded – undo
34 34
 
35 35
 class Provider implements IProvider {
36 36
 
37
-	const CREATE_TAG = 'create_tag';
38
-	const UPDATE_TAG = 'update_tag';
39
-	const DELETE_TAG = 'delete_tag';
40
-
41
-	const ASSIGN_TAG = 'assign_tag';
42
-	const UNASSIGN_TAG = 'unassign_tag';
43
-
44
-	/** @var IFactory */
45
-	protected $languageFactory;
46
-
47
-	/** @var IL10N */
48
-	protected $l;
49
-
50
-	/** @var IURLGenerator */
51
-	protected $url;
52
-
53
-	/** @var IManager */
54
-	protected $activityManager;
55
-
56
-	/** @var IUserManager */
57
-	protected $userManager;
58
-
59
-	/** @var string[] */
60
-	protected $displayNames = [];
61
-
62
-	/**
63
-	 * @param IFactory $languageFactory
64
-	 * @param IURLGenerator $url
65
-	 * @param IManager $activityManager
66
-	 * @param IUserManager $userManager
67
-	 */
68
-	public function __construct(IFactory $languageFactory, IURLGenerator $url, IManager $activityManager, IUserManager $userManager) {
69
-		$this->languageFactory = $languageFactory;
70
-		$this->url = $url;
71
-		$this->activityManager = $activityManager;
72
-		$this->userManager = $userManager;
73
-	}
74
-
75
-	/**
76
-	 * @param string $language
77
-	 * @param IEvent $event
78
-	 * @param IEvent|null $previousEvent
79
-	 * @return IEvent
80
-	 * @throws \InvalidArgumentException
81
-	 * @since 11.0.0
82
-	 */
83
-	public function parse($language, IEvent $event, IEvent $previousEvent = null) {
84
-		if ($event->getApp() !== 'systemtags') {
85
-			throw new \InvalidArgumentException();
86
-		}
87
-
88
-		$this->l = $this->languageFactory->get('systemtags', $language);
89
-
90
-		if ($this->activityManager->isFormattingFilteredObject()) {
91
-			try {
92
-				return $this->parseShortVersion($event);
93
-			} catch (\InvalidArgumentException $e) {
94
-				// Ignore and simply use the long version...
95
-			}
96
-		}
97
-
98
-		return $this->parseLongVersion($event);
99
-	}
100
-
101
-	/**
102
-	 * @param IEvent $event
103
-	 * @return IEvent
104
-	 * @throws \InvalidArgumentException
105
-	 * @since 11.0.0
106
-	 */
107
-	public function parseShortVersion(IEvent $event) {
108
-		$parsedParameters = $this->getParameters($event);
109
-
110
-		if ($this->activityManager->getRequirePNG()) {
111
-			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.png')));
112
-		} else {
113
-			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg')));
114
-		}
115
-
116
-		if ($event->getSubject() === self::ASSIGN_TAG) {
117
-			if ($parsedParameters['actor']['id'] === '') {
118
-				$event->setParsedSubject($this->l->t('System tag %1$s added by the system', [
119
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
120
-					]))
121
-					->setRichSubject($this->l->t('Added system tag {systemtag}'), [
122
-						'systemtag' => $parsedParameters['systemtag'],
123
-					]);
124
-			} else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
125
-				$event->setParsedSubject($this->l->t('Added system tag %1$s', [
126
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
127
-					]))
128
-					->setRichSubject($this->l->t('Added system tag {systemtag}'), [
129
-						'systemtag' => $parsedParameters['systemtag'],
130
-					]);
131
-			} else {
132
-				$event->setParsedSubject($this->l->t('%1$s added system tag %2$s', [
133
-						$parsedParameters['actor']['name'],
134
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
135
-					]))
136
-					->setRichSubject($this->l->t('{actor} added system tag {systemtag}'), [
137
-						'actor' => $parsedParameters['actor'],
138
-						'systemtag' => $parsedParameters['systemtag'],
139
-					]);
140
-			}
141
-		} else if ($event->getSubject() === self::UNASSIGN_TAG) {
142
-			if ($parsedParameters['actor']['id'] === '') {
143
-				$event->setParsedSubject($this->l->t('System tag %1$s removed by the system', [
144
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
145
-					]))
146
-					->setRichSubject($this->l->t('Removed system tag {systemtag}'), [
147
-						'systemtag' => $parsedParameters['systemtag'],
148
-					]);
149
-			} else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
150
-				$event->setParsedSubject($this->l->t('Removed system tag %1$s', [
151
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
152
-					]))
153
-					->setRichSubject($this->l->t('Removed system tag {systemtag}'), [
154
-						'systemtag' => $parsedParameters['systemtag'],
155
-					]);
156
-			} else {
157
-				$event->setParsedSubject($this->l->t('%1$s removed system tag %2$s', [
158
-						$parsedParameters['actor']['name'],
159
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
160
-					]))
161
-					->setRichSubject($this->l->t('{actor} removed system tag {systemtag}'), [
162
-						'actor' => $parsedParameters['actor'],
163
-						'systemtag' => $parsedParameters['systemtag'],
164
-					]);
165
-			}
166
-		} else {
167
-			throw new \InvalidArgumentException();
168
-		}
169
-
170
-		return $event;
171
-	}
172
-
173
-	/**
174
-	 * @param IEvent $event
175
-	 * @return IEvent
176
-	 * @throws \InvalidArgumentException
177
-	 * @since 11.0.0
178
-	 */
179
-	public function parseLongVersion(IEvent $event) {
180
-		$parsedParameters = $this->getParameters($event);
181
-
182
-		if ($this->activityManager->getRequirePNG()) {
183
-			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.png')));
184
-		} else {
185
-			$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg')));
186
-		}
187
-
188
-		if ($event->getSubject() === self::CREATE_TAG) {
189
-			if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
190
-				$event->setParsedSubject($this->l->t('You created system tag %1$s', [
191
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
192
-					]))
193
-					->setRichSubject($this->l->t('You created system tag {systemtag}'), $parsedParameters);
194
-			} else {
195
-				$event->setParsedSubject($this->l->t('%1$s created system tag %2$s', [
196
-						$parsedParameters['actor']['name'],
197
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
198
-					]))
199
-					->setRichSubject($this->l->t('{actor} created system tag {systemtag}'), $parsedParameters);
200
-			}
201
-		} else if ($event->getSubject() === self::DELETE_TAG) {
202
-			if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
203
-				$event->setParsedSubject($this->l->t('You deleted system tag %1$s', [
204
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
205
-					]))
206
-					->setRichSubject($this->l->t('You deleted system tag {systemtag}'), $parsedParameters);
207
-			} else {
208
-				$event->setParsedSubject($this->l->t('%1$s deleted system tag %2$s', [
209
-						$parsedParameters['actor']['name'],
210
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
211
-					]))
212
-					->setRichSubject($this->l->t('{actor} deleted system tag {systemtag}'), $parsedParameters);
213
-			}
214
-		} else if ($event->getSubject() === self::UPDATE_TAG) {
215
-			if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
216
-				$event->setParsedSubject($this->l->t('You updated system tag %2$s to %1$s', [
217
-						$this->generatePlainSystemTag($parsedParameters['newsystemtag']),
218
-						$this->generatePlainSystemTag($parsedParameters['oldsystemtag']),
219
-					]))
220
-					->setRichSubject($this->l->t('You updated system tag {oldsystemtag} to {newsystemtag}'), $parsedParameters);
221
-			} else {
222
-				$event->setParsedSubject($this->l->t('%1$s updated system tag %3$s to %2$s', [
223
-						$parsedParameters['actor']['name'],
224
-						$this->generatePlainSystemTag($parsedParameters['newsystemtag']),
225
-						$this->generatePlainSystemTag($parsedParameters['oldsystemtag']),
226
-					]))
227
-					->setRichSubject($this->l->t('{actor} updated system tag {oldsystemtag} to {newsystemtag}'), $parsedParameters);
228
-			}
229
-		} else if ($event->getSubject() === self::ASSIGN_TAG) {
230
-			if ($parsedParameters['actor']['id'] === '') {
231
-				unset($parsedParameters['actor']);
232
-				$event->setParsedSubject($this->l->t('System tag %2$s was added to %1$s by the system', [
233
-						$parsedParameters['file']['path'],
234
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
235
-					]))
236
-					->setRichSubject($this->l->t('System tag {systemtag} was added to {file} by the system'), $parsedParameters);
237
-			} else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
238
-				$event->setParsedSubject($this->l->t('You added system tag %2$s to %1$s', [
239
-						$parsedParameters['file']['path'],
240
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
241
-					]))
242
-					->setRichSubject($this->l->t('You added system tag {systemtag} to {file}'), $parsedParameters);
243
-			} else {
244
-				$event->setParsedSubject($this->l->t('%1$s added system tag %3$s to %2$s', [
245
-						$parsedParameters['actor']['name'],
246
-						$parsedParameters['file']['path'],
247
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
248
-					]))
249
-					->setRichSubject($this->l->t('{actor} added system tag {systemtag} to {file}'), $parsedParameters);
250
-			}
251
-		} else if ($event->getSubject() === self::UNASSIGN_TAG) {
252
-			if ($parsedParameters['actor']['id'] === '') {
253
-				unset($parsedParameters['actor']);
254
-				$event->setParsedSubject($this->l->t('System tag %2$s was removed from %1$s by the system', [
255
-						$parsedParameters['file']['path'],
256
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
257
-					]))
258
-					->setRichSubject($this->l->t('System tag {systemtag} was removed from {file} by the system'), $parsedParameters);
259
-			} else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
260
-				$event->setParsedSubject($this->l->t('You removed system tag %2$s from %1$s', [
261
-						$parsedParameters['file']['path'],
262
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
263
-					]))
264
-					->setRichSubject($this->l->t('You removed system tag {systemtag} from {file}'), $parsedParameters);
265
-			} else {
266
-				$event->setParsedSubject($this->l->t('%1$s removed system tag %3$s from %2$s', [
267
-						$parsedParameters['actor']['name'],
268
-						$parsedParameters['file']['path'],
269
-						$this->generatePlainSystemTag($parsedParameters['systemtag']),
270
-					]))
271
-					->setRichSubject($this->l->t('{actor} removed system tag {systemtag} from {file}'), $parsedParameters);
272
-			}
273
-		} else {
274
-			throw new \InvalidArgumentException();
275
-		}
276
-
277
-		return $event;
278
-	}
279
-
280
-	protected function getParameters(IEvent $event) {
281
-		$subject = $event->getSubject();
282
-		$parameters = $event->getSubjectParameters();
283
-
284
-		switch ($subject) {
285
-			case self::CREATE_TAG:
286
-			case self::DELETE_TAG:
287
-				return [
288
-					'actor' => $this->getUserParameter((string) $parameters[0]),
289
-					'systemtag' => $this->getSystemTagParameter($parameters[1]),
290
-				];
291
-			case self::UPDATE_TAG:
292
-				return [
293
-					'actor' => $this->getUserParameter((string) $parameters[0]),
294
-					'newsystemtag' => $this->getSystemTagParameter($parameters[1]),
295
-					'oldsystemtag' => $this->getSystemTagParameter($parameters[2]),
296
-				];
297
-			case self::ASSIGN_TAG:
298
-			case self::UNASSIGN_TAG:
299
-				return [
300
-					'actor' => $this->getUserParameter((string) $parameters[0]),
301
-					'file' => $this->getFileParameter($event->getObjectId(), $parameters[1]),
302
-					'systemtag' => $this->getSystemTagParameter($parameters[2]),
303
-				];
304
-		}
305
-		return [];
306
-	}
307
-
308
-	protected function getFileParameter($id, $path) {
309
-		return [
310
-			'type' => 'file',
311
-			'id' => $id,
312
-			'name' => basename($path),
313
-			'path' => trim($path, '/'),
314
-		];
315
-	}
316
-
317
-	protected function getSystemTagParameter($parameter) {
318
-		$tagData = json_decode($parameter, true);
319
-		if ($tagData === null) {
320
-			list($name, $status) = explode('|||', substr($parameter, 3, -3));
321
-			$tagData = [
322
-				'id' => 0,// No way to recover the ID
323
-				'name' => $name,
324
-				'assignable' => $status === 'assignable',
325
-				'visible' => $status !== 'invisible',
326
-			];
327
-		}
328
-
329
-		return [
330
-			'type' => 'systemtag',
331
-			'id' => (int) $tagData['id'],
332
-			'name' => $tagData['name'],
333
-			'assignable' => $tagData['assignable'] ? '1' : '0',
334
-			'visibility' => $tagData['visible'] ? '1' : '0',
335
-		];
336
-	}
337
-
338
-	protected function getUserParameter($uid) {
339
-		if (!isset($this->displayNames[$uid])) {
340
-			$this->displayNames[$uid] = $this->getDisplayName($uid);
341
-		}
342
-
343
-		return [
344
-			'type' => 'user',
345
-			'id' => $uid,
346
-			'name' => $this->displayNames[$uid],
347
-		];
348
-	}
349
-
350
-	protected function generatePlainSystemTag(array $parameter) {
351
-		if ($parameter['assignable'] === '1') {
352
-			return $parameter['name'];
353
-		} else if ($parameter['visibility'] === '1') {
354
-			return $this->l->t('%s (restricted)', $parameter['name']);
355
-		} else {
356
-			return $this->l->t('%s (invisible)', $parameter['name']);
357
-		}
358
-	}
359
-
360
-	/**
361
-	 * @param string $uid
362
-	 * @return string
363
-	 */
364
-	protected function getDisplayName($uid) {
365
-		$user = $this->userManager->get($uid);
366
-		if ($user instanceof IUser) {
367
-			return $user->getDisplayName();
368
-		} else {
369
-			return $uid;
370
-		}
371
-	}
37
+    const CREATE_TAG = 'create_tag';
38
+    const UPDATE_TAG = 'update_tag';
39
+    const DELETE_TAG = 'delete_tag';
40
+
41
+    const ASSIGN_TAG = 'assign_tag';
42
+    const UNASSIGN_TAG = 'unassign_tag';
43
+
44
+    /** @var IFactory */
45
+    protected $languageFactory;
46
+
47
+    /** @var IL10N */
48
+    protected $l;
49
+
50
+    /** @var IURLGenerator */
51
+    protected $url;
52
+
53
+    /** @var IManager */
54
+    protected $activityManager;
55
+
56
+    /** @var IUserManager */
57
+    protected $userManager;
58
+
59
+    /** @var string[] */
60
+    protected $displayNames = [];
61
+
62
+    /**
63
+     * @param IFactory $languageFactory
64
+     * @param IURLGenerator $url
65
+     * @param IManager $activityManager
66
+     * @param IUserManager $userManager
67
+     */
68
+    public function __construct(IFactory $languageFactory, IURLGenerator $url, IManager $activityManager, IUserManager $userManager) {
69
+        $this->languageFactory = $languageFactory;
70
+        $this->url = $url;
71
+        $this->activityManager = $activityManager;
72
+        $this->userManager = $userManager;
73
+    }
74
+
75
+    /**
76
+     * @param string $language
77
+     * @param IEvent $event
78
+     * @param IEvent|null $previousEvent
79
+     * @return IEvent
80
+     * @throws \InvalidArgumentException
81
+     * @since 11.0.0
82
+     */
83
+    public function parse($language, IEvent $event, IEvent $previousEvent = null) {
84
+        if ($event->getApp() !== 'systemtags') {
85
+            throw new \InvalidArgumentException();
86
+        }
87
+
88
+        $this->l = $this->languageFactory->get('systemtags', $language);
89
+
90
+        if ($this->activityManager->isFormattingFilteredObject()) {
91
+            try {
92
+                return $this->parseShortVersion($event);
93
+            } catch (\InvalidArgumentException $e) {
94
+                // Ignore and simply use the long version...
95
+            }
96
+        }
97
+
98
+        return $this->parseLongVersion($event);
99
+    }
100
+
101
+    /**
102
+     * @param IEvent $event
103
+     * @return IEvent
104
+     * @throws \InvalidArgumentException
105
+     * @since 11.0.0
106
+     */
107
+    public function parseShortVersion(IEvent $event) {
108
+        $parsedParameters = $this->getParameters($event);
109
+
110
+        if ($this->activityManager->getRequirePNG()) {
111
+            $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.png')));
112
+        } else {
113
+            $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg')));
114
+        }
115
+
116
+        if ($event->getSubject() === self::ASSIGN_TAG) {
117
+            if ($parsedParameters['actor']['id'] === '') {
118
+                $event->setParsedSubject($this->l->t('System tag %1$s added by the system', [
119
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
120
+                    ]))
121
+                    ->setRichSubject($this->l->t('Added system tag {systemtag}'), [
122
+                        'systemtag' => $parsedParameters['systemtag'],
123
+                    ]);
124
+            } else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
125
+                $event->setParsedSubject($this->l->t('Added system tag %1$s', [
126
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
127
+                    ]))
128
+                    ->setRichSubject($this->l->t('Added system tag {systemtag}'), [
129
+                        'systemtag' => $parsedParameters['systemtag'],
130
+                    ]);
131
+            } else {
132
+                $event->setParsedSubject($this->l->t('%1$s added system tag %2$s', [
133
+                        $parsedParameters['actor']['name'],
134
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
135
+                    ]))
136
+                    ->setRichSubject($this->l->t('{actor} added system tag {systemtag}'), [
137
+                        'actor' => $parsedParameters['actor'],
138
+                        'systemtag' => $parsedParameters['systemtag'],
139
+                    ]);
140
+            }
141
+        } else if ($event->getSubject() === self::UNASSIGN_TAG) {
142
+            if ($parsedParameters['actor']['id'] === '') {
143
+                $event->setParsedSubject($this->l->t('System tag %1$s removed by the system', [
144
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
145
+                    ]))
146
+                    ->setRichSubject($this->l->t('Removed system tag {systemtag}'), [
147
+                        'systemtag' => $parsedParameters['systemtag'],
148
+                    ]);
149
+            } else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
150
+                $event->setParsedSubject($this->l->t('Removed system tag %1$s', [
151
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
152
+                    ]))
153
+                    ->setRichSubject($this->l->t('Removed system tag {systemtag}'), [
154
+                        'systemtag' => $parsedParameters['systemtag'],
155
+                    ]);
156
+            } else {
157
+                $event->setParsedSubject($this->l->t('%1$s removed system tag %2$s', [
158
+                        $parsedParameters['actor']['name'],
159
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
160
+                    ]))
161
+                    ->setRichSubject($this->l->t('{actor} removed system tag {systemtag}'), [
162
+                        'actor' => $parsedParameters['actor'],
163
+                        'systemtag' => $parsedParameters['systemtag'],
164
+                    ]);
165
+            }
166
+        } else {
167
+            throw new \InvalidArgumentException();
168
+        }
169
+
170
+        return $event;
171
+    }
172
+
173
+    /**
174
+     * @param IEvent $event
175
+     * @return IEvent
176
+     * @throws \InvalidArgumentException
177
+     * @since 11.0.0
178
+     */
179
+    public function parseLongVersion(IEvent $event) {
180
+        $parsedParameters = $this->getParameters($event);
181
+
182
+        if ($this->activityManager->getRequirePNG()) {
183
+            $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.png')));
184
+        } else {
185
+            $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/tag.svg')));
186
+        }
187
+
188
+        if ($event->getSubject() === self::CREATE_TAG) {
189
+            if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
190
+                $event->setParsedSubject($this->l->t('You created system tag %1$s', [
191
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
192
+                    ]))
193
+                    ->setRichSubject($this->l->t('You created system tag {systemtag}'), $parsedParameters);
194
+            } else {
195
+                $event->setParsedSubject($this->l->t('%1$s created system tag %2$s', [
196
+                        $parsedParameters['actor']['name'],
197
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
198
+                    ]))
199
+                    ->setRichSubject($this->l->t('{actor} created system tag {systemtag}'), $parsedParameters);
200
+            }
201
+        } else if ($event->getSubject() === self::DELETE_TAG) {
202
+            if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
203
+                $event->setParsedSubject($this->l->t('You deleted system tag %1$s', [
204
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
205
+                    ]))
206
+                    ->setRichSubject($this->l->t('You deleted system tag {systemtag}'), $parsedParameters);
207
+            } else {
208
+                $event->setParsedSubject($this->l->t('%1$s deleted system tag %2$s', [
209
+                        $parsedParameters['actor']['name'],
210
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
211
+                    ]))
212
+                    ->setRichSubject($this->l->t('{actor} deleted system tag {systemtag}'), $parsedParameters);
213
+            }
214
+        } else if ($event->getSubject() === self::UPDATE_TAG) {
215
+            if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
216
+                $event->setParsedSubject($this->l->t('You updated system tag %2$s to %1$s', [
217
+                        $this->generatePlainSystemTag($parsedParameters['newsystemtag']),
218
+                        $this->generatePlainSystemTag($parsedParameters['oldsystemtag']),
219
+                    ]))
220
+                    ->setRichSubject($this->l->t('You updated system tag {oldsystemtag} to {newsystemtag}'), $parsedParameters);
221
+            } else {
222
+                $event->setParsedSubject($this->l->t('%1$s updated system tag %3$s to %2$s', [
223
+                        $parsedParameters['actor']['name'],
224
+                        $this->generatePlainSystemTag($parsedParameters['newsystemtag']),
225
+                        $this->generatePlainSystemTag($parsedParameters['oldsystemtag']),
226
+                    ]))
227
+                    ->setRichSubject($this->l->t('{actor} updated system tag {oldsystemtag} to {newsystemtag}'), $parsedParameters);
228
+            }
229
+        } else if ($event->getSubject() === self::ASSIGN_TAG) {
230
+            if ($parsedParameters['actor']['id'] === '') {
231
+                unset($parsedParameters['actor']);
232
+                $event->setParsedSubject($this->l->t('System tag %2$s was added to %1$s by the system', [
233
+                        $parsedParameters['file']['path'],
234
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
235
+                    ]))
236
+                    ->setRichSubject($this->l->t('System tag {systemtag} was added to {file} by the system'), $parsedParameters);
237
+            } else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
238
+                $event->setParsedSubject($this->l->t('You added system tag %2$s to %1$s', [
239
+                        $parsedParameters['file']['path'],
240
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
241
+                    ]))
242
+                    ->setRichSubject($this->l->t('You added system tag {systemtag} to {file}'), $parsedParameters);
243
+            } else {
244
+                $event->setParsedSubject($this->l->t('%1$s added system tag %3$s to %2$s', [
245
+                        $parsedParameters['actor']['name'],
246
+                        $parsedParameters['file']['path'],
247
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
248
+                    ]))
249
+                    ->setRichSubject($this->l->t('{actor} added system tag {systemtag} to {file}'), $parsedParameters);
250
+            }
251
+        } else if ($event->getSubject() === self::UNASSIGN_TAG) {
252
+            if ($parsedParameters['actor']['id'] === '') {
253
+                unset($parsedParameters['actor']);
254
+                $event->setParsedSubject($this->l->t('System tag %2$s was removed from %1$s by the system', [
255
+                        $parsedParameters['file']['path'],
256
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
257
+                    ]))
258
+                    ->setRichSubject($this->l->t('System tag {systemtag} was removed from {file} by the system'), $parsedParameters);
259
+            } else if ($parsedParameters['actor']['id'] === $this->activityManager->getCurrentUserId()) {
260
+                $event->setParsedSubject($this->l->t('You removed system tag %2$s from %1$s', [
261
+                        $parsedParameters['file']['path'],
262
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
263
+                    ]))
264
+                    ->setRichSubject($this->l->t('You removed system tag {systemtag} from {file}'), $parsedParameters);
265
+            } else {
266
+                $event->setParsedSubject($this->l->t('%1$s removed system tag %3$s from %2$s', [
267
+                        $parsedParameters['actor']['name'],
268
+                        $parsedParameters['file']['path'],
269
+                        $this->generatePlainSystemTag($parsedParameters['systemtag']),
270
+                    ]))
271
+                    ->setRichSubject($this->l->t('{actor} removed system tag {systemtag} from {file}'), $parsedParameters);
272
+            }
273
+        } else {
274
+            throw new \InvalidArgumentException();
275
+        }
276
+
277
+        return $event;
278
+    }
279
+
280
+    protected function getParameters(IEvent $event) {
281
+        $subject = $event->getSubject();
282
+        $parameters = $event->getSubjectParameters();
283
+
284
+        switch ($subject) {
285
+            case self::CREATE_TAG:
286
+            case self::DELETE_TAG:
287
+                return [
288
+                    'actor' => $this->getUserParameter((string) $parameters[0]),
289
+                    'systemtag' => $this->getSystemTagParameter($parameters[1]),
290
+                ];
291
+            case self::UPDATE_TAG:
292
+                return [
293
+                    'actor' => $this->getUserParameter((string) $parameters[0]),
294
+                    'newsystemtag' => $this->getSystemTagParameter($parameters[1]),
295
+                    'oldsystemtag' => $this->getSystemTagParameter($parameters[2]),
296
+                ];
297
+            case self::ASSIGN_TAG:
298
+            case self::UNASSIGN_TAG:
299
+                return [
300
+                    'actor' => $this->getUserParameter((string) $parameters[0]),
301
+                    'file' => $this->getFileParameter($event->getObjectId(), $parameters[1]),
302
+                    'systemtag' => $this->getSystemTagParameter($parameters[2]),
303
+                ];
304
+        }
305
+        return [];
306
+    }
307
+
308
+    protected function getFileParameter($id, $path) {
309
+        return [
310
+            'type' => 'file',
311
+            'id' => $id,
312
+            'name' => basename($path),
313
+            'path' => trim($path, '/'),
314
+        ];
315
+    }
316
+
317
+    protected function getSystemTagParameter($parameter) {
318
+        $tagData = json_decode($parameter, true);
319
+        if ($tagData === null) {
320
+            list($name, $status) = explode('|||', substr($parameter, 3, -3));
321
+            $tagData = [
322
+                'id' => 0,// No way to recover the ID
323
+                'name' => $name,
324
+                'assignable' => $status === 'assignable',
325
+                'visible' => $status !== 'invisible',
326
+            ];
327
+        }
328
+
329
+        return [
330
+            'type' => 'systemtag',
331
+            'id' => (int) $tagData['id'],
332
+            'name' => $tagData['name'],
333
+            'assignable' => $tagData['assignable'] ? '1' : '0',
334
+            'visibility' => $tagData['visible'] ? '1' : '0',
335
+        ];
336
+    }
337
+
338
+    protected function getUserParameter($uid) {
339
+        if (!isset($this->displayNames[$uid])) {
340
+            $this->displayNames[$uid] = $this->getDisplayName($uid);
341
+        }
342
+
343
+        return [
344
+            'type' => 'user',
345
+            'id' => $uid,
346
+            'name' => $this->displayNames[$uid],
347
+        ];
348
+    }
349
+
350
+    protected function generatePlainSystemTag(array $parameter) {
351
+        if ($parameter['assignable'] === '1') {
352
+            return $parameter['name'];
353
+        } else if ($parameter['visibility'] === '1') {
354
+            return $this->l->t('%s (restricted)', $parameter['name']);
355
+        } else {
356
+            return $this->l->t('%s (invisible)', $parameter['name']);
357
+        }
358
+    }
359
+
360
+    /**
361
+     * @param string $uid
362
+     * @return string
363
+     */
364
+    protected function getDisplayName($uid) {
365
+        $user = $this->userManager->get($uid);
366
+        if ($user instanceof IUser) {
367
+            return $user->getDisplayName();
368
+        } else {
369
+            return $uid;
370
+        }
371
+    }
372 372
 }
Please login to merge, or discard this patch.
apps/systemtags/lib/Activity/Setting.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -27,72 +27,72 @@
 block discarded – undo
27 27
 
28 28
 class Setting implements ISetting {
29 29
 
30
-	/** @var IL10N */
31
-	protected $l;
30
+    /** @var IL10N */
31
+    protected $l;
32 32
 
33
-	/**
34
-	 * @param IL10N $l
35
-	 */
36
-	public function __construct(IL10N $l) {
37
-		$this->l = $l;
38
-	}
33
+    /**
34
+     * @param IL10N $l
35
+     */
36
+    public function __construct(IL10N $l) {
37
+        $this->l = $l;
38
+    }
39 39
 
40
-	/**
41
-	 * @return string Lowercase a-z and underscore only identifier
42
-	 * @since 11.0.0
43
-	 */
44
-	public function getIdentifier() {
45
-		return 'systemtags';
46
-	}
40
+    /**
41
+     * @return string Lowercase a-z and underscore only identifier
42
+     * @since 11.0.0
43
+     */
44
+    public function getIdentifier() {
45
+        return 'systemtags';
46
+    }
47 47
 
48
-	/**
49
-	 * @return string A translated string
50
-	 * @since 11.0.0
51
-	 */
52
-	public function getName() {
53
-		return $this->l->t('<strong>System tags</strong> for a file have been modified');
54
-	}
48
+    /**
49
+     * @return string A translated string
50
+     * @since 11.0.0
51
+     */
52
+    public function getName() {
53
+        return $this->l->t('<strong>System tags</strong> for a file have been modified');
54
+    }
55 55
 
56
-	/**
57
-	 * @return int whether the filter should be rather on the top or bottom of
58
-	 * the admin section. The filters are arranged in ascending order of the
59
-	 * priority values. It is required to return a value between 0 and 100.
60
-	 * @since 11.0.0
61
-	 */
62
-	public function getPriority() {
63
-		return 50;
64
-	}
56
+    /**
57
+     * @return int whether the filter should be rather on the top or bottom of
58
+     * the admin section. The filters are arranged in ascending order of the
59
+     * priority values. It is required to return a value between 0 and 100.
60
+     * @since 11.0.0
61
+     */
62
+    public function getPriority() {
63
+        return 50;
64
+    }
65 65
 
66
-	/**
67
-	 * @return bool True when the option can be changed for the stream
68
-	 * @since 11.0.0
69
-	 */
70
-	public function canChangeStream() {
71
-		return true;
72
-	}
66
+    /**
67
+     * @return bool True when the option can be changed for the stream
68
+     * @since 11.0.0
69
+     */
70
+    public function canChangeStream() {
71
+        return true;
72
+    }
73 73
 
74
-	/**
75
-	 * @return bool True when the option can be changed for the stream
76
-	 * @since 11.0.0
77
-	 */
78
-	public function isDefaultEnabledStream() {
79
-		return true;
80
-	}
74
+    /**
75
+     * @return bool True when the option can be changed for the stream
76
+     * @since 11.0.0
77
+     */
78
+    public function isDefaultEnabledStream() {
79
+        return true;
80
+    }
81 81
 
82
-	/**
83
-	 * @return bool True when the option can be changed for the mail
84
-	 * @since 11.0.0
85
-	 */
86
-	public function canChangeMail() {
87
-		return true;
88
-	}
82
+    /**
83
+     * @return bool True when the option can be changed for the mail
84
+     * @since 11.0.0
85
+     */
86
+    public function canChangeMail() {
87
+        return true;
88
+    }
89 89
 
90
-	/**
91
-	 * @return bool True when the option can be changed for the stream
92
-	 * @since 11.0.0
93
-	 */
94
-	public function isDefaultEnabledMail() {
95
-		return false;
96
-	}
90
+    /**
91
+     * @return bool True when the option can be changed for the stream
92
+     * @since 11.0.0
93
+     */
94
+    public function isDefaultEnabledMail() {
95
+        return false;
96
+    }
97 97
 }
98 98
 
Please login to merge, or discard this patch.
apps/systemtags/lib/Controller/LastUsedController.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -30,30 +30,30 @@
 block discarded – undo
30 30
 
31 31
 class LastUsedController extends Controller {
32 32
 
33
-	/** @var IConfig */
34
-	protected $config;
35
-
36
-	/** @var IUserSession */
37
-	protected $userSession;
38
-
39
-	/**
40
-	 * @param string $appName
41
-	 * @param IRequest $request
42
-	 * @param IConfig $config
43
-	 * @param IUserSession $userSession
44
-	 */
45
-	public function __construct($appName, IRequest $request, IConfig $config, IUserSession $userSession) {
46
-		parent::__construct($appName, $request);
47
-		$this->config = $config;
48
-		$this->userSession = $userSession;
49
-	}
50
-
51
-	/**
52
-	 * @NoAdminRequired
53
-	 */
54
-	public function getLastUsedTagIds() {
55
-		$lastUsed = $this->config->getUserValue($this->userSession->getUser()->getUID(), 'systemtags', 'last_used', '[]');
56
-		$tagIds = json_decode($lastUsed, true);
57
-		return new DataResponse(array_map(function($id) { return (string) $id; }, $tagIds));
58
-	}
33
+    /** @var IConfig */
34
+    protected $config;
35
+
36
+    /** @var IUserSession */
37
+    protected $userSession;
38
+
39
+    /**
40
+     * @param string $appName
41
+     * @param IRequest $request
42
+     * @param IConfig $config
43
+     * @param IUserSession $userSession
44
+     */
45
+    public function __construct($appName, IRequest $request, IConfig $config, IUserSession $userSession) {
46
+        parent::__construct($appName, $request);
47
+        $this->config = $config;
48
+        $this->userSession = $userSession;
49
+    }
50
+
51
+    /**
52
+     * @NoAdminRequired
53
+     */
54
+    public function getLastUsedTagIds() {
55
+        $lastUsed = $this->config->getUserValue($this->userSession->getUser()->getUID(), 'systemtags', 'last_used', '[]');
56
+        $tagIds = json_decode($lastUsed, true);
57
+        return new DataResponse(array_map(function($id) { return (string) $id; }, $tagIds));
58
+    }
59 59
 }
Please login to merge, or discard this patch.
apps/systemtags/appinfo/routes.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@
 block discarded – undo
22 22
  */
23 23
 
24 24
 return [
25
-	'routes' => [
26
-		['name' => 'LastUsed#getLastUsedTagIds', 'url' => '/lastused', 'verb' => 'GET'],
27
-	]
25
+    'routes' => [
26
+        ['name' => 'LastUsed#getLastUsedTagIds', 'url' => '/lastused', 'verb' => 'GET'],
27
+    ]
28 28
 ];
Please login to merge, or discard this patch.
apps/files_sharing/templates/list.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -15,14 +15,14 @@
 block discarded – undo
15 15
 		<tr>
16 16
 			<th id='headerName' class="hidden column-name">
17 17
 				<div id="headerName-container">
18
-					<a class="name sort columntitle" data-sort="name"><span><?php p($l->t( 'Name' )); ?></span><span class="sort-indicator"></span></a>
18
+					<a class="name sort columntitle" data-sort="name"><span><?php p($l->t('Name')); ?></span><span class="sort-indicator"></span></a>
19 19
 				</div>
20 20
 			</th>
21 21
 			<th id="headerDate" class="hidden column-mtime">
22
-				<a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t( 'Share time' )); ?></span><span class="sort-indicator"></span></a>
22
+				<a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t('Share time')); ?></span><span class="sort-indicator"></span></a>
23 23
 			</th>
24 24
 			<th class="hidden column-expiration">
25
-				<a class="columntitle"><span><?php p($l->t( 'Expiration date' )); ?></span></a>
25
+				<a class="columntitle"><span><?php p($l->t('Expiration date')); ?></span></a>
26 26
 			</th>
27 27
 		</tr>
28 28
 	</thead>
Please login to merge, or discard this patch.
apps/files_sharing/lib/Activity/Settings/PublicLinks.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -27,72 +27,72 @@
 block discarded – undo
27 27
 
28 28
 class PublicLinks implements ISetting {
29 29
 
30
-	/** @var IL10N */
31
-	protected $l;
30
+    /** @var IL10N */
31
+    protected $l;
32 32
 
33
-	/**
34
-	 * @param IL10N $l
35
-	 */
36
-	public function __construct(IL10N $l) {
37
-		$this->l = $l;
38
-	}
33
+    /**
34
+     * @param IL10N $l
35
+     */
36
+    public function __construct(IL10N $l) {
37
+        $this->l = $l;
38
+    }
39 39
 
40
-	/**
41
-	 * @return string Lowercase a-z and underscore only identifier
42
-	 * @since 11.0.0
43
-	 */
44
-	public function getIdentifier() {
45
-		return 'public_links';
46
-	}
40
+    /**
41
+     * @return string Lowercase a-z and underscore only identifier
42
+     * @since 11.0.0
43
+     */
44
+    public function getIdentifier() {
45
+        return 'public_links';
46
+    }
47 47
 
48
-	/**
49
-	 * @return string A translated string
50
-	 * @since 11.0.0
51
-	 */
52
-	public function getName() {
53
-		return $this->l->t('A file or folder shared by mail or by public link was <strong>downloaded</strong>');
54
-	}
48
+    /**
49
+     * @return string A translated string
50
+     * @since 11.0.0
51
+     */
52
+    public function getName() {
53
+        return $this->l->t('A file or folder shared by mail or by public link was <strong>downloaded</strong>');
54
+    }
55 55
 
56
-	/**
57
-	 * @return int whether the filter should be rather on the top or bottom of
58
-	 * the admin section. The filters are arranged in ascending order of the
59
-	 * priority values. It is required to return a value between 0 and 100.
60
-	 * @since 11.0.0
61
-	 */
62
-	public function getPriority() {
63
-		return 20;
64
-	}
56
+    /**
57
+     * @return int whether the filter should be rather on the top or bottom of
58
+     * the admin section. The filters are arranged in ascending order of the
59
+     * priority values. It is required to return a value between 0 and 100.
60
+     * @since 11.0.0
61
+     */
62
+    public function getPriority() {
63
+        return 20;
64
+    }
65 65
 
66
-	/**
67
-	 * @return bool True when the option can be changed for the stream
68
-	 * @since 11.0.0
69
-	 */
70
-	public function canChangeStream() {
71
-		return true;
72
-	}
66
+    /**
67
+     * @return bool True when the option can be changed for the stream
68
+     * @since 11.0.0
69
+     */
70
+    public function canChangeStream() {
71
+        return true;
72
+    }
73 73
 
74
-	/**
75
-	 * @return bool True when the option can be changed for the stream
76
-	 * @since 11.0.0
77
-	 */
78
-	public function isDefaultEnabledStream() {
79
-		return true;
80
-	}
74
+    /**
75
+     * @return bool True when the option can be changed for the stream
76
+     * @since 11.0.0
77
+     */
78
+    public function isDefaultEnabledStream() {
79
+        return true;
80
+    }
81 81
 
82
-	/**
83
-	 * @return bool True when the option can be changed for the mail
84
-	 * @since 11.0.0
85
-	 */
86
-	public function canChangeMail() {
87
-		return true;
88
-	}
82
+    /**
83
+     * @return bool True when the option can be changed for the mail
84
+     * @since 11.0.0
85
+     */
86
+    public function canChangeMail() {
87
+        return true;
88
+    }
89 89
 
90
-	/**
91
-	 * @return bool True when the option can be changed for the stream
92
-	 * @since 11.0.0
93
-	 */
94
-	public function isDefaultEnabledMail() {
95
-		return false;
96
-	}
90
+    /**
91
+     * @return bool True when the option can be changed for the stream
92
+     * @since 11.0.0
93
+     */
94
+    public function isDefaultEnabledMail() {
95
+        return false;
96
+    }
97 97
 }
98 98
 
Please login to merge, or discard this patch.
apps/files_sharing/lib/ISharedStorage.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -23,6 +23,6 @@
 block discarded – undo
23 23
 
24 24
 namespace OCA\Files_Sharing;
25 25
 
26
-interface ISharedStorage{
26
+interface ISharedStorage {
27 27
 
28 28
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/Exceptions/BrokenPath.php 1 patch
Indentation   -1 removed lines patch added patch discarded remove patch
@@ -27,7 +27,6 @@
 block discarded – undo
27 27
  * Expected path with a different root
28 28
  * Possible Error Codes:
29 29
  * 10 - Path not relative to data/ and point to the users file directory
30
-
31 30
  */
32 31
 class BrokenPath extends \Exception {
33 32
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/External/Scanner.php 2 patches
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -32,97 +32,97 @@
 block discarded – undo
32 32
 use OCP\Files\StorageNotAvailableException;
33 33
 
34 34
 class Scanner extends \OC\Files\Cache\Scanner {
35
-	/** @var \OCA\Files_Sharing\External\Storage */
36
-	protected $storage;
35
+    /** @var \OCA\Files_Sharing\External\Storage */
36
+    protected $storage;
37 37
 
38
-	/** {@inheritDoc} */
39
-	public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
40
-		if(!$this->storage->remoteIsOwnCloud()) {
41
-			return parent::scan($path, $recursive, $recursive, $lock);
42
-		}
38
+    /** {@inheritDoc} */
39
+    public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
40
+        if(!$this->storage->remoteIsOwnCloud()) {
41
+            return parent::scan($path, $recursive, $recursive, $lock);
42
+        }
43 43
 
44
-		$this->scanAll();
45
-	}
44
+        $this->scanAll();
45
+    }
46 46
 
47
-	/**
48
-	 * Scan a single file and store it in the cache.
49
-	 * If an exception happened while accessing the external storage,
50
-	 * the storage will be checked for availability and removed
51
-	 * if it is not available any more.
52
-	 *
53
-	 * @param string $file file to scan
54
-	 * @param int $reuseExisting
55
-	 * @param int $parentId
56
-	 * @param array | null $cacheData existing data in the cache for the file to be scanned
57
-	 * @param bool $lock set to false to disable getting an additional read lock during scanning
58
-	 * @return array an array of metadata of the scanned file
59
-	 */
60
-	public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true) {
61
-		try {
62
-			return parent::scanFile($file, $reuseExisting);
63
-		} catch (ForbiddenException $e) {
64
-			$this->storage->checkStorageAvailability();
65
-		} catch (NotFoundException $e) {
66
-			// if the storage isn't found, the call to
67
-			// checkStorageAvailable() will verify it and remove it
68
-			// if appropriate
69
-			$this->storage->checkStorageAvailability();
70
-		} catch (StorageInvalidException $e) {
71
-			$this->storage->checkStorageAvailability();
72
-		} catch (StorageNotAvailableException $e) {
73
-			$this->storage->checkStorageAvailability();
74
-		}
75
-	}
47
+    /**
48
+     * Scan a single file and store it in the cache.
49
+     * If an exception happened while accessing the external storage,
50
+     * the storage will be checked for availability and removed
51
+     * if it is not available any more.
52
+     *
53
+     * @param string $file file to scan
54
+     * @param int $reuseExisting
55
+     * @param int $parentId
56
+     * @param array | null $cacheData existing data in the cache for the file to be scanned
57
+     * @param bool $lock set to false to disable getting an additional read lock during scanning
58
+     * @return array an array of metadata of the scanned file
59
+     */
60
+    public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true) {
61
+        try {
62
+            return parent::scanFile($file, $reuseExisting);
63
+        } catch (ForbiddenException $e) {
64
+            $this->storage->checkStorageAvailability();
65
+        } catch (NotFoundException $e) {
66
+            // if the storage isn't found, the call to
67
+            // checkStorageAvailable() will verify it and remove it
68
+            // if appropriate
69
+            $this->storage->checkStorageAvailability();
70
+        } catch (StorageInvalidException $e) {
71
+            $this->storage->checkStorageAvailability();
72
+        } catch (StorageNotAvailableException $e) {
73
+            $this->storage->checkStorageAvailability();
74
+        }
75
+    }
76 76
 
77
-	/**
78
-	 * Checks the remote share for changes.
79
-	 * If changes are available, scan them and update
80
-	 * the cache.
81
-	 * @throws NotFoundException
82
-	 * @throws StorageInvalidException
83
-	 * @throws \Exception
84
-	 */
85
-	public function scanAll() {
86
-		try {
87
-			$data = $this->storage->getShareInfo();
88
-		} catch (\Exception $e) {
89
-			$this->storage->checkStorageAvailability();
90
-			throw new \Exception(
91
-				'Error while scanning remote share: "' .
92
-				$this->storage->getRemote() . '" ' .
93
-				$e->getMessage()
94
-			);
95
-		}
96
-		if ($data['status'] === 'success') {
97
-			$this->addResult($data['data'], '');
98
-		} else {
99
-			throw new \Exception(
100
-				'Error while scanning remote share: "' .
101
-				$this->storage->getRemote() . '"'
102
-			);
103
-		}
104
-	}
77
+    /**
78
+     * Checks the remote share for changes.
79
+     * If changes are available, scan them and update
80
+     * the cache.
81
+     * @throws NotFoundException
82
+     * @throws StorageInvalidException
83
+     * @throws \Exception
84
+     */
85
+    public function scanAll() {
86
+        try {
87
+            $data = $this->storage->getShareInfo();
88
+        } catch (\Exception $e) {
89
+            $this->storage->checkStorageAvailability();
90
+            throw new \Exception(
91
+                'Error while scanning remote share: "' .
92
+                $this->storage->getRemote() . '" ' .
93
+                $e->getMessage()
94
+            );
95
+        }
96
+        if ($data['status'] === 'success') {
97
+            $this->addResult($data['data'], '');
98
+        } else {
99
+            throw new \Exception(
100
+                'Error while scanning remote share: "' .
101
+                $this->storage->getRemote() . '"'
102
+            );
103
+        }
104
+    }
105 105
 
106
-	/**
107
-	 * @param array $data
108
-	 * @param string $path
109
-	 */
110
-	private function addResult($data, $path) {
111
-		$id = $this->cache->put($path, $data);
112
-		if (isset($data['children'])) {
113
-			$children = [];
114
-			foreach ($data['children'] as $child) {
115
-				$children[$child['name']] = true;
116
-				$this->addResult($child, ltrim($path . '/' . $child['name'], '/'));
117
-			}
106
+    /**
107
+     * @param array $data
108
+     * @param string $path
109
+     */
110
+    private function addResult($data, $path) {
111
+        $id = $this->cache->put($path, $data);
112
+        if (isset($data['children'])) {
113
+            $children = [];
114
+            foreach ($data['children'] as $child) {
115
+                $children[$child['name']] = true;
116
+                $this->addResult($child, ltrim($path . '/' . $child['name'], '/'));
117
+            }
118 118
 
119
-			$existingCache = $this->cache->getFolderContentsById($id);
120
-			foreach ($existingCache as $existingChild) {
121
-				// if an existing child is not in the new data, remove it
122
-				if (!isset($children[$existingChild['name']])) {
123
-					$this->cache->remove(ltrim($path . '/' . $existingChild['name'], '/'));
124
-				}
125
-			}
126
-		}
127
-	}
119
+            $existingCache = $this->cache->getFolderContentsById($id);
120
+            foreach ($existingCache as $existingChild) {
121
+                // if an existing child is not in the new data, remove it
122
+                if (!isset($children[$existingChild['name']])) {
123
+                    $this->cache->remove(ltrim($path . '/' . $existingChild['name'], '/'));
124
+                }
125
+            }
126
+        }
127
+    }
128 128
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 
38 38
 	/** {@inheritDoc} */
39 39
 	public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
40
-		if(!$this->storage->remoteIsOwnCloud()) {
40
+		if (!$this->storage->remoteIsOwnCloud()) {
41 41
 			return parent::scan($path, $recursive, $recursive, $lock);
42 42
 		}
43 43
 
@@ -88,8 +88,8 @@  discard block
 block discarded – undo
88 88
 		} catch (\Exception $e) {
89 89
 			$this->storage->checkStorageAvailability();
90 90
 			throw new \Exception(
91
-				'Error while scanning remote share: "' .
92
-				$this->storage->getRemote() . '" ' .
91
+				'Error while scanning remote share: "'.
92
+				$this->storage->getRemote().'" '.
93 93
 				$e->getMessage()
94 94
 			);
95 95
 		}
@@ -97,8 +97,8 @@  discard block
 block discarded – undo
97 97
 			$this->addResult($data['data'], '');
98 98
 		} else {
99 99
 			throw new \Exception(
100
-				'Error while scanning remote share: "' .
101
-				$this->storage->getRemote() . '"'
100
+				'Error while scanning remote share: "'.
101
+				$this->storage->getRemote().'"'
102 102
 			);
103 103
 		}
104 104
 	}
@@ -113,14 +113,14 @@  discard block
 block discarded – undo
113 113
 			$children = [];
114 114
 			foreach ($data['children'] as $child) {
115 115
 				$children[$child['name']] = true;
116
-				$this->addResult($child, ltrim($path . '/' . $child['name'], '/'));
116
+				$this->addResult($child, ltrim($path.'/'.$child['name'], '/'));
117 117
 			}
118 118
 
119 119
 			$existingCache = $this->cache->getFolderContentsById($id);
120 120
 			foreach ($existingCache as $existingChild) {
121 121
 				// if an existing child is not in the new data, remove it
122 122
 				if (!isset($children[$existingChild['name']])) {
123
-					$this->cache->remove(ltrim($path . '/' . $existingChild['name'], '/'));
123
+					$this->cache->remove(ltrim($path.'/'.$existingChild['name'], '/'));
124 124
 				}
125 125
 			}
126 126
 		}
Please login to merge, or discard this patch.