feat: send all users to lobby

closes #192
pull/195/head
Specht, David 2022-03-08 15:09:18 +01:00
parent 42f92dc977
commit b7aee468b2
4 changed files with 8 additions and 3 deletions

View File

@ -106,7 +106,9 @@ class API {
$joinMeetingParams->setCreateTime(sprintf("%.0f", $creationTime)); $joinMeetingParams->setCreateTime(sprintf("%.0f", $creationTime));
$joinMeetingParams->setJoinViaHtml5(true); $joinMeetingParams->setJoinViaHtml5(true);
$joinMeetingParams->setRedirect(true); $joinMeetingParams->setRedirect(true);
$joinMeetingParams->setGuest($uid === null);
// set the guest parameter for everyone but moderators to send all users to the waiting room if setting is selected
$joinMeetingParams->setGuest((($room->access === Room::ACCESS_WAITING_ROOM_ALL) && !$isModerator) || $uid === null);
$joinMeetingParams->addUserData('bbb_listen_only_mode', $room->getListenOnly()); $joinMeetingParams->addUserData('bbb_listen_only_mode', $room->getListenOnly());
@ -199,7 +201,7 @@ class API {
$createMeetingParams->addPresentation($presentation->getUrl(), null, $presentation->getFilename()); $createMeetingParams->addPresentation($presentation->getUrl(), null, $presentation->getFilename());
} }
if ($room->access === Room::ACCESS_WAITING_ROOM) { if ($room->access === Room::ACCESS_WAITING_ROOM || $room->access === Room::ACCESS_WAITING_ROOM_ALL) {
$createMeetingParams->setGuestPolicyAskModerator(); $createMeetingParams->setGuestPolicyAskModerator();
} }

View File

@ -47,10 +47,11 @@ class Room extends Entity implements JsonSerializable {
public const ACCESS_PUBLIC = 'public'; public const ACCESS_PUBLIC = 'public';
public const ACCESS_PASSWORD = 'password'; public const ACCESS_PASSWORD = 'password';
public const ACCESS_WAITING_ROOM = 'waiting_room'; public const ACCESS_WAITING_ROOM = 'waiting_room';
public const ACCESS_WAITING_ROOM_ALL = 'waiting_room_all';
public const ACCESS_INTERNAL = 'internal'; public const ACCESS_INTERNAL = 'internal';
public const ACCESS_INTERNAL_RESTRICTED = 'internal_restricted'; public const ACCESS_INTERNAL_RESTRICTED = 'internal_restricted';
public const ACCESS = [self::ACCESS_PUBLIC, self::ACCESS_PASSWORD, self::ACCESS_WAITING_ROOM, self::ACCESS_INTERNAL, self::ACCESS_INTERNAL_RESTRICTED]; public const ACCESS = [self::ACCESS_PUBLIC, self::ACCESS_PASSWORD, self::ACCESS_WAITING_ROOM, self::ACCESS_WAITING_ROOM_ALL, self::ACCESS_INTERNAL, self::ACCESS_INTERNAL_RESTRICTED];
public $uid; public $uid;
public $name; public $name;

View File

@ -12,6 +12,7 @@ export enum Access {
Public = 'public', Public = 'public',
Password = 'password', Password = 'password',
WaitingRoom = 'waiting_room', WaitingRoom = 'waiting_room',
WaitingRoomAll = 'waiting_room_all',
Internal = 'internal', Internal = 'internal',
InternalRestricted = 'internal_restricted', InternalRestricted = 'internal_restricted',
} }

View File

@ -4,6 +4,7 @@ export const AccessOptions = {
[Access.Public]: t('bbb', 'Public'), [Access.Public]: t('bbb', 'Public'),
[Access.Password]: t('bbb', 'Internal + Password protection for guests'), [Access.Password]: t('bbb', 'Internal + Password protection for guests'),
[Access.WaitingRoom]: t('bbb', 'Internal + Waiting room for guests'), [Access.WaitingRoom]: t('bbb', 'Internal + Waiting room for guests'),
[Access.WaitingRoomAll]: t('bbb', 'Waiting room for all users'),
[Access.Internal]: t('bbb', 'Internal'), [Access.Internal]: t('bbb', 'Internal'),
[Access.InternalRestricted]: t('bbb', 'Internal restricted'), [Access.InternalRestricted]: t('bbb', 'Internal restricted'),
}; };