Code Duplication    Length = 27-27 lines in 3 locations

apps/dav/lib/CalDAV/Activity/Backend.php 3 locations

@@ 206-232 (lines=27) @@
203
					Calendar::SUBJECT_DELETE . '_self'
204
				);
205
206
				if ($owner !== $principal[2]) {
207
					$parameters = [
208
						'actor' => $event->getAuthor(),
209
						'calendar' => [
210
							'id' => (int) $calendarData['id'],
211
							'uri' => $calendarData['uri'],
212
							'name' => $calendarData['{DAV:}displayname'],
213
						],
214
						'user' => $principal[2],
215
					];
216
217
					if ($owner === $event->getAuthor()) {
218
						$subject = Calendar::SUBJECT_UNSHARE_USER . '_you';
219
					} else if ($principal[2] === $event->getAuthor()) {
220
						$subject = Calendar::SUBJECT_UNSHARE_USER . '_self';
221
					} else {
222
						$event->setAffectedUser($event->getAuthor())
223
							->setSubject(Calendar::SUBJECT_UNSHARE_USER . '_you', $parameters);
224
						$this->activityManager->publish($event);
225
226
						$subject = Calendar::SUBJECT_UNSHARE_USER . '_by';
227
					}
228
229
					$event->setAffectedUser($owner)
230
						->setSubject($subject, $parameters);
231
					$this->activityManager->publish($event);
232
				}
233
			} else if ($principal[1] === 'groups') {
234
				$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_UNSHARE_USER);
235
@@ 233-259 (lines=27) @@
230
						->setSubject($subject, $parameters);
231
					$this->activityManager->publish($event);
232
				}
233
			} else if ($principal[1] === 'groups') {
234
				$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_UNSHARE_USER);
235
236
				$parameters = [
237
					'actor' => $event->getAuthor(),
238
					'calendar' => [
239
						'id' => (int) $calendarData['id'],
240
						'uri' => $calendarData['uri'],
241
						'name' => $calendarData['{DAV:}displayname'],
242
					],
243
					'group' => $principal[2],
244
				];
245
246
				if ($owner === $event->getAuthor()) {
247
					$subject = Calendar::SUBJECT_UNSHARE_GROUP . '_you';
248
				} else {
249
					$event->setAffectedUser($event->getAuthor())
250
						->setSubject(Calendar::SUBJECT_UNSHARE_GROUP . '_you', $parameters);
251
					$this->activityManager->publish($event);
252
253
					$subject = Calendar::SUBJECT_UNSHARE_GROUP . '_by';
254
				}
255
256
				$event->setAffectedUser($owner)
257
					->setSubject($subject, $parameters);
258
				$this->activityManager->publish($event);
259
			}
260
		}
261
262
		foreach ($add as $share) {
@@ 302-328 (lines=27) @@
299
						->setSubject($subject, $parameters);
300
					$this->activityManager->publish($event);
301
				}
302
			} else if ($principal[1] === 'groups') {
303
				$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_SHARE_USER);
304
305
				$parameters = [
306
					'actor' => $event->getAuthor(),
307
					'calendar' => [
308
						'id' => (int) $calendarData['id'],
309
						'uri' => $calendarData['uri'],
310
						'name' => $calendarData['{DAV:}displayname'],
311
					],
312
					'group' => $principal[2],
313
				];
314
315
				if ($owner === $event->getAuthor()) {
316
					$subject = Calendar::SUBJECT_SHARE_GROUP . '_you';
317
				} else {
318
					$event->setAffectedUser($event->getAuthor())
319
						->setSubject(Calendar::SUBJECT_SHARE_GROUP . '_you', $parameters);
320
					$this->activityManager->publish($event);
321
322
					$subject = Calendar::SUBJECT_SHARE_GROUP . '_by';
323
				}
324
325
				$event->setAffectedUser($owner)
326
					->setSubject($subject, $parameters);
327
				$this->activityManager->publish($event);
328
			}
329
		}
330
	}
331