From 410bf83f57dae5a76689f406936913462c519890 Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Tue, 21 Dec 2021 15:14:37 -0100 Subject: [PATCH] bypass moderator check on CFG_FRIEND Signed-off-by: Maxence Lange --- lib/FederatedItems/MassiveMemberAdd.php | 7 +++++-- lib/FederatedItems/SingleMemberAdd.php | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/FederatedItems/MassiveMemberAdd.php b/lib/FederatedItems/MassiveMemberAdd.php index 38830e45a..320872cc8 100644 --- a/lib/FederatedItems/MassiveMemberAdd.php +++ b/lib/FederatedItems/MassiveMemberAdd.php @@ -38,6 +38,7 @@ use OCA\Circles\IFederatedItemAsyncProcess; use OCA\Circles\IFederatedItemHighSeverity; use OCA\Circles\IFederatedItemMemberEmpty; +use OCA\Circles\Model\Circle; use OCA\Circles\Model\Federated\FederatedEvent; use OCA\Circles\Model\Helpers\MemberHelper; use OCA\Circles\Model\Member; @@ -64,8 +65,10 @@ public function verify(FederatedEvent $event): void { $initiator = $circle->getInitiator(); $initiatorHelper = new MemberHelper($initiator); - $initiatorHelper->mustBeModerator(); - + if (!$circle->isConfig(Circle::CFG_FRIEND)) { + $initiatorHelper->mustBeModerator(); + } + $members = $event->getMembers(); $filtered = []; diff --git a/lib/FederatedItems/SingleMemberAdd.php b/lib/FederatedItems/SingleMemberAdd.php index ccfc62cc4..c3eb41ed5 100644 --- a/lib/FederatedItems/SingleMemberAdd.php +++ b/lib/FederatedItems/SingleMemberAdd.php @@ -173,7 +173,9 @@ public function verify(FederatedEvent $event): void { $initiator = $circle->getInitiator(); $initiatorHelper = new MemberHelper($initiator); - $initiatorHelper->mustBeModerator(); + if (!$circle->isConfig(Circle::CFG_FRIEND)) { + $initiatorHelper->mustBeModerator(); + } $member = $this->generateMember($event, $circle, $member);