@@ -852,8 +852,12 @@ public function deleteRoom(Room $room): void {
852852 }
853853 }
854854
855- public function setCanMentionEveryone (Room $ room , int $ canMentionEveryone ): void {
856- if (!in_array ($ canMentionEveryone , [Room::CAN_NOT_MENTION_EVERYONE , Room::CAN_MENTION_EVERYONE ])) {
855+ public function setCanMentionEveryone (Room $ room , int $ permission ): void {
856+ $ allowedValues = [
857+ Room::CAN_MENTION_EVERYONE_MODERATORS ,
858+ Room::CAN_MENTION_EVERYONE_ALL
859+ ];
860+ if (!in_array ($ permission , $ allowedValues )) {
857861 throw new InvalidArgumentException ('config ' );
858862 }
859863 if ($ room ->getType () !== Room::TYPE_GROUP
@@ -863,20 +867,20 @@ public function setCanMentionEveryone(Room $room, int $canMentionEveryone): void
863867 }
864868
865869 $ old = $ room ->getCanMentionEveryone ();
866- if ($ old === $ canMentionEveryone ) {
870+ if ($ old === $ permission ) {
867871 return ;
868872 }
869873
870- $ event = new ModifyRoomEvent ($ room , 'canMentionEveryone ' , $ canMentionEveryone , $ old );
874+ $ event = new ModifyRoomEvent ($ room , 'canMentionEveryone ' , $ permission , $ old );
871875 $ this ->dispatcher ->dispatch (Room::EVENT_BEFORE_SET_CAN_MENTION_EVERYONE , $ event );
872876
873877 $ update = $ this ->db ->getQueryBuilder ();
874878 $ update ->update ('talk_rooms ' )
875- ->set ('can_mention_everyone ' , $ update ->createNamedParameter ($ canMentionEveryone , IQueryBuilder::PARAM_INT ))
879+ ->set ('can_mention_everyone ' , $ update ->createNamedParameter ($ permission , IQueryBuilder::PARAM_INT ))
876880 ->where ($ update ->expr ()->eq ('id ' , $ update ->createNamedParameter ($ room ->getId (), IQueryBuilder::PARAM_INT )));
877881 $ update ->executeStatement ();
878882
879- $ room ->setCanMentionEveryone ($ canMentionEveryone );
883+ $ room ->setCanMentionEveryone ($ permission );
880884
881885 $ this ->dispatcher ->dispatch (Room::EVENT_AFTER_SET_CAN_MENTION_EVERYONE , $ event );
882886 }
0 commit comments