Code Duplication    Length = 20-20 lines in 4 locations

lib/Service/EventsService.php 4 locations

@@ 361-380 (lines=20) @@
358
	 * @param Circle $circle
359
	 * @param Member $member
360
	 */
361
	public function onMemberLevel(Circle $circle, Member $member) {
362
		if ($member->getLevel() === Member::LEVEL_OWNER) {
363
			$this->onMemberOwner($circle, $member);
364
365
			return;
366
		}
367
368
		$event = $this->generateEvent('circles_as_moderator');
369
		$event->setSubject(
370
			'member_level',
371
			['circle' => json_encode($circle), 'member' => json_encode($member)]
372
		);
373
374
		$mods =
375
			$this->membersRequest->forceGetMembers($circle->getUniqueId(), Member::LEVEL_MODERATOR, 0, true);
376
		$this->membersRequest->avoidDuplicateMembers($mods, [$member]);
377
378
		$this->publishEvent($event, $mods);
379
		$this->dispatch('\OCA\Circles::onMemberLevel', ['circle' => $circle, 'member' => $member]);
380
	}
381
382
383
	/**
@@ 417-436 (lines=20) @@
414
	 * @param Circle $circle
415
	 * @param Member $group
416
	 */
417
	public function onGroupLink(Circle $circle, Member $group) {
418
		if ($circle->getType() === Circle::CIRCLES_PERSONAL) {
419
			return;
420
		}
421
422
		$event = $this->generateEvent('circles_as_moderator');
423
		$event->setSubject(
424
			'group_link',
425
			['circle' => json_encode($circle), 'group' => json_encode($group)]
426
		);
427
428
		$mods =
429
			$this->membersRequest->forceGetMembers($circle->getUniqueId(), Member::LEVEL_MODERATOR, 0, true);
430
		$this->membersRequest->avoidDuplicateMembers(
431
			$mods, $this->membersRequest->getGroupMemberMembers($group)
432
		);
433
434
		$this->publishEvent($event, $mods);
435
		$this->dispatch('\OCA\Circles::onGroupLink', ['circle' => $circle, 'group' => $group]);
436
	}
437
438
439
	/**
@@ 449-468 (lines=20) @@
446
	 * @param Circle $circle
447
	 * @param Member $group
448
	 */
449
	public function onGroupUnlink(Circle $circle, Member $group) {
450
		if ($circle->getType() === Circle::CIRCLES_PERSONAL) {
451
			return;
452
		}
453
454
		$event = $this->generateEvent('circles_as_moderator');
455
		$event->setSubject(
456
			'group_unlink',
457
			['circle' => json_encode($circle), 'group' => json_encode($group)]
458
		);
459
460
		$mods =
461
			$this->membersRequest->forceGetMembers($circle->getUniqueId(), Member::LEVEL_MODERATOR, 0, true);
462
		$this->membersRequest->avoidDuplicateMembers(
463
			$mods, $this->membersRequest->getGroupMemberMembers($group)
464
		);
465
466
		$this->publishEvent($event, $mods);
467
		$this->dispatch('\OCA\Circles::onGroupUnlink', ['circle' => $circle, 'group' => $group]);
468
	}
469
470
471
	/**
@@ 481-500 (lines=20) @@
478
	 * @param Circle $circle
479
	 * @param Member $group
480
	 */
481
	public function onGroupLevel(Circle $circle, Member $group) {
482
		if ($circle->getType() === Circle::CIRCLES_PERSONAL) {
483
			return;
484
		}
485
486
		$event = $this->generateEvent('circles_as_moderator');
487
		$event->setSubject(
488
			'group_level',
489
			['circle' => json_encode($circle), 'group' => json_encode($group)]
490
		);
491
492
		$mods =
493
			$this->membersRequest->forceGetMembers($circle->getUniqueId(), Member::LEVEL_MODERATOR, 0, true);
494
		$this->membersRequest->avoidDuplicateMembers(
495
			$mods, $this->membersRequest->getGroupMemberMembers($group)
496
		);
497
498
		$this->publishEvent($event, $mods);
499
		$this->dispatch('\OCA\Circles::onGroupLevel', ['circle' => $circle, 'group' => $group]);
500
	}
501
502
503
	/**