diff --git a/files/lib/action/AddConversationParticipantDialogAction.class.php b/files/lib/action/AddConversationParticipantDialogAction.class.php
index 60f032a8..9de94264 100644
--- a/files/lib/action/AddConversationParticipantDialogAction.class.php
+++ b/files/lib/action/AddConversationParticipantDialogAction.class.php
@@ -15,8 +15,6 @@
use wcf\system\conversation\TConversationForm;
use wcf\system\exception\IllegalLinkException;
use wcf\system\exception\PermissionDeniedException;
-use wcf\system\form\builder\field\BooleanFormField;
-use wcf\system\form\builder\field\dependency\NonEmptyFormFieldDependency;
use wcf\system\form\builder\field\MultipleSelectionFormField;
use wcf\system\form\builder\field\RadioButtonFormField;
use wcf\system\form\builder\field\user\UserFormField;
@@ -126,18 +124,12 @@ private function getForm(Conversation $conversation): Psr15DialogForm
->maximumMultiples(WCF::getSession()->getPermission('user.conversation.maxParticipants') - $conversation->participants)
->addValidator($this->getParticipantsValidator())
->addValidator($this->getMaximumParticipantsValidator(invisibleParticipantGroupsFieldId: null)),
- BooleanFormField::create('addGroupParticipants')
- ->label('wcf.conversation.addGroupParticipants')
- ->available(\count($groupParticipants) > 0),
MultipleSelectionFormField::create('participantGroups')
->label('wcf.conversation.participantGroups')
- ->available(WCF::getSession()->getPermission('user.conversation.canAddGroupParticipants'))
- ->filterable()
- ->options($groupParticipants)
- ->addDependency(
- NonEmptyFormFieldDependency::create('addGroupParticipantsDependency')
- ->fieldId('addGroupParticipants')
- ),
+ ->available(WCF::getSession()->getPermission('user.conversation.canAddGroupParticipants')
+ && \count($groupParticipants) > 0)
+ ->filterable(\count($groupParticipants) > 20)
+ ->options($groupParticipants),
RadioButtonFormField::create('messageVisibility')
->label('wcf.conversation.visibility')
->available(!$conversation->isDraft && $conversation->canAddParticipantsUnrestricted())
diff --git a/files/lib/form/ConversationAddForm.class.php b/files/lib/form/ConversationAddForm.class.php
index bf4129a6..66d81432 100644
--- a/files/lib/form/ConversationAddForm.class.php
+++ b/files/lib/form/ConversationAddForm.class.php
@@ -16,9 +16,7 @@
use wcf\system\form\builder\container\FormContainer;
use wcf\system\form\builder\container\wysiwyg\WysiwygFormContainer;
use wcf\system\form\builder\data\processor\CustomFormDataProcessor;
-use wcf\system\form\builder\data\processor\VoidFormDataProcessor;
use wcf\system\form\builder\field\BooleanFormField;
-use wcf\system\form\builder\field\dependency\NonEmptyFormFieldDependency;
use wcf\system\form\builder\field\MultipleSelectionFormField;
use wcf\system\form\builder\field\TextFormField;
use wcf\system\form\builder\field\user\UserFormField;
@@ -125,18 +123,12 @@ static function (UserGroup $group) {
->addValidator($this->getParticipantsValidator())
->addValidator($this->getMaximumParticipantsValidator())
->value($this->user ? [$this->user->userID] : []),
- BooleanFormField::create('addGroupParticipants')
- ->label('wcf.conversation.addGroupParticipants')
- ->available(\count($groupParticipants) > 0),
MultipleSelectionFormField::create('participantGroups')
->label('wcf.conversation.participantGroups')
- ->available(WCF::getSession()->getPermission('user.conversation.canAddGroupParticipants'))
- ->filterable()
- ->options($groupParticipants)
- ->addDependency(
- NonEmptyFormFieldDependency::create('addGroupParticipantsDependency')
- ->fieldId('addGroupParticipants')
- ),
+ ->available(WCF::getSession()->getPermission('user.conversation.canAddGroupParticipants')
+ && \count($groupParticipants) > 0)
+ ->filterable(\count($groupParticipants) > 20)
+ ->options($groupParticipants),
UserFormField::create('invisibleParticipants')
->label('wcf.conversation.invisibleParticipants')
->description('wcf.conversation.invisibleParticipants.description')
@@ -174,24 +166,15 @@ static function (UserFormField $formField) {
}
)
),
- BooleanFormField::create('addInvisibleGroupParticipants')
- ->label('wcf.conversation.addInvisibleGroupParticipants')
- ->available(
- \count($groupParticipants) > 0
- && WCF::getSession()->getPermission('user.conversation.canAddInvisibleParticipants')
- ),
MultipleSelectionFormField::create('invisibleParticipantGroups')
->label('wcf.conversation.invisibleParticipantGroups')
->available(
WCF::getSession()->getPermission('user.conversation.canAddInvisibleParticipants')
&& WCF::getSession()->getPermission('user.conversation.canAddGroupParticipants')
+ && \count($groupParticipants) > 0
)
- ->filterable()
- ->options($groupParticipants)
- ->addDependency(
- NonEmptyFormFieldDependency::create('addInvisibleGroupParticipantsDependency')
- ->fieldId('addInvisibleGroupParticipants')
- ),
+ ->filterable(\count($groupParticipants) > 20)
+ ->options($groupParticipants),
BooleanFormField::create('participantCanInvite')
->label('wcf.conversation.participantCanInvite')
->available(WCF::getSession()->getPermission('user.conversation.canSetCanInvite')),
@@ -224,8 +207,6 @@ protected function finalizeForm()
parent::finalizeForm();
$this->form->getDataHandler()
- ->addProcessor(new VoidFormDataProcessor('addGroupParticipants'))
- ->addProcessor(new VoidFormDataProcessor('addInvisibleGroupParticipants'))
->addProcessor(
new CustomFormDataProcessor('messageProcessor', static function (IFormDocument $document, array $parameters) {
unset($parameters['data']['message']);
diff --git a/language/de.xml b/language/de.xml
index f43474a2..52dbcf9d 100644
--- a/language/de.xml
+++ b/language/de.xml
@@ -97,12 +97,9 @@
-
- getSession()->getPermission('user.conversation.maxParticipants')} Teilnehmern.]]>
-
-
- {$participant->username} wirklich aus dieser Konversation entfernen?]]>
@@ -131,10 +128,8 @@
- {time time=$notBefore type='plainTime'}, bevor {if LANGUAGE_USE_INFORMAL_VARIANT}du{else}Sie{/if} eine neue Konversation {if LANGUAGE_USE_INFORMAL_VARIANT}startest{else}starten{/if}.]]>
- getSession()->getPermission('user.conversation.floodControlTime') 1='Sekunde' other='# Sekunden'} versendet. {if LANGUAGE_USE_INFORMAL_VARIANT}Du kannst{else}Sie können{/if} erst in {plural value=$waitTime 1='einer Sekunde' other='# Sekunden'} eine neue Nachricht verfassen.]]>
-
-
-
-
+
+
diff --git a/language/en.xml b/language/en.xml
index 9d775a5d..988cd760 100644
--- a/language/en.xml
+++ b/language/en.xml
@@ -97,12 +97,9 @@
-
- getSession()->getPermission('user.conversation.maxParticipants')} participants.]]>
-
-
- {$participant->username} from this conversation?]]>
@@ -131,10 +128,8 @@
- {time time=$notBefore type='plainTime'} before you start a new conversation.]]>
- getSession()->getPermission('user.conversation.floodControlTime') 1='second' other='# seconds'}. You must wait at least {plural value=$waitTime 1='one second' other='# seconds'} before attempting to write a new message.]]>
-
-
-
-
+
+