Code Duplication    Length = 20-20 lines in 4 locations

lib/Service/EventsService.php 4 locations

@@ 310-329 (lines=20) @@
307
	 * @param Circle $circle
308
	 * @param Member $member
309
	 */
310
	public function onMemberLevel(Circle $circle, Member $member) {
311
		if ($member->getLevel() === Member::LEVEL_OWNER) {
312
			$this->onMemberOwner($circle, $member);
313
314
			return;
315
		}
316
317
		$event = $this->generateEvent('circles_as_moderator');
318
		$event->setSubject(
319
			'member_level',
320
			['circle' => json_encode($circle), 'member' => json_encode($member)]
321
		);
322
323
		$mods = $this->membersRequest->forceGetMembers(
324
			$circle->getUniqueId(), Member::LEVEL_MODERATOR, true
325
		);
326
		$this->membersRequest->avoidDuplicateMembers($mods, [$member]);
327
328
		$this->publishEvent($event, $mods);
329
	}
330
331
332
	/**
@@ 366-385 (lines=20) @@
363
	 * @param Circle $circle
364
	 * @param Member $group
365
	 */
366
	public function onGroupLink(Circle $circle, Member $group) {
367
		if ($circle->getType() === Circle::CIRCLES_PERSONAL) {
368
			return;
369
		}
370
371
		$event = $this->generateEvent('circles_as_moderator');
372
		$event->setSubject(
373
			'group_link',
374
			['circle' => json_encode($circle), 'group' => json_encode($group)]
375
		);
376
377
		$mods = $this->membersRequest->forceGetMembers(
378
			$circle->getUniqueId(), Member::LEVEL_MODERATOR, true
379
		);
380
		$this->membersRequest->avoidDuplicateMembers(
381
			$mods, $this->membersRequest->getGroupMemberMembers($group)
382
		);
383
384
		$this->publishEvent($event, $mods);
385
	}
386
387
388
	/**
@@ 398-417 (lines=20) @@
395
	 * @param Circle $circle
396
	 * @param Member $group
397
	 */
398
	public function onGroupUnlink(Circle $circle, Member $group) {
399
		if ($circle->getType() === Circle::CIRCLES_PERSONAL) {
400
			return;
401
		}
402
403
		$event = $this->generateEvent('circles_as_moderator');
404
		$event->setSubject(
405
			'group_unlink',
406
			['circle' => json_encode($circle), 'group' => json_encode($group)]
407
		);
408
409
		$mods = $this->membersRequest->forceGetMembers(
410
			$circle->getUniqueId(), Member::LEVEL_MODERATOR, true
411
		);
412
		$this->membersRequest->avoidDuplicateMembers(
413
			$mods, $this->membersRequest->getGroupMemberMembers($group)
414
		);
415
416
		$this->publishEvent($event, $mods);
417
	}
418
419
420
	/**
@@ 430-449 (lines=20) @@
427
	 * @param Circle $circle
428
	 * @param Member $group
429
	 */
430
	public function onGroupLevel(Circle $circle, Member $group) {
431
		if ($circle->getType() === Circle::CIRCLES_PERSONAL) {
432
			return;
433
		}
434
435
		$event = $this->generateEvent('circles_as_moderator');
436
		$event->setSubject(
437
			'group_level',
438
			['circle' => json_encode($circle), 'group' => json_encode($group)]
439
		);
440
441
		$mods = $this->membersRequest->forceGetMembers(
442
			$circle->getUniqueId(), Member::LEVEL_MODERATOR, true
443
		);
444
		$this->membersRequest->avoidDuplicateMembers(
445
			$mods, $this->membersRequest->getGroupMemberMembers($group)
446
		);
447
448
		$this->publishEvent($event, $mods);
449
	}
450
451
452
	/**