|
16 | 16 | * You should have received a copy of the GNU Lesser General Public License along |
17 | 17 | * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. |
18 | 18 | */ |
| 19 | + |
19 | 20 | namespace BigBlueButton\Parameters; |
20 | 21 |
|
21 | 22 | /** |
22 | 23 | * Class CreateMeetingParameters. |
23 | 24 | */ |
24 | 25 | class CreateMeetingParameters extends MetaParameters |
25 | 26 | { |
26 | | - const ALWAYS_ACCEPT = 'ALWAYS_ACCEPT'; |
27 | | - const ALWAYS_DENY = 'ALWAYS_DENY'; |
28 | | - const ASK_MODERATOR = 'ASK_MODERATOR'; |
29 | 27 |
|
30 | 28 | /** |
31 | 29 | * @var string |
@@ -172,6 +170,11 @@ class CreateMeetingParameters extends MetaParameters |
172 | 170 | */ |
173 | 171 | private $allowModsToUnmuteUsers; |
174 | 172 |
|
| 173 | + /** |
| 174 | + * @var bool |
| 175 | + */ |
| 176 | + private $allowModsToEjectCameras; |
| 177 | + |
175 | 178 | /** |
176 | 179 | * @var array |
177 | 180 | */ |
@@ -200,7 +203,7 @@ class CreateMeetingParameters extends MetaParameters |
200 | 203 | /** |
201 | 204 | * @var string |
202 | 205 | */ |
203 | | - private $guestPolicy = self::ALWAYS_ACCEPT; |
| 206 | + private $guestPolicy; |
204 | 207 |
|
205 | 208 | /** |
206 | 209 | * @var string |
@@ -237,6 +240,31 @@ class CreateMeetingParameters extends MetaParameters |
237 | 240 | */ |
238 | 241 | private $meetingKeepEvents; |
239 | 242 |
|
| 243 | + /** |
| 244 | + * @var boolean |
| 245 | + */ |
| 246 | + private $breakoutRoomsEnabled; |
| 247 | + |
| 248 | + /** |
| 249 | + * @var boolean |
| 250 | + */ |
| 251 | + private $breakoutRoomsRecord; |
| 252 | + |
| 253 | + /** |
| 254 | + * @var boolean |
| 255 | + */ |
| 256 | + private $breakoutRoomsPrivateChatEnabled; |
| 257 | + |
| 258 | + /** |
| 259 | + * @var string |
| 260 | + */ |
| 261 | + private $meetingEndedURL; |
| 262 | + |
| 263 | + /** |
| 264 | + * @var string |
| 265 | + */ |
| 266 | + private $meetingLayout; |
| 267 | + |
240 | 268 | /** |
241 | 269 | * CreateMeetingParameters constructor. |
242 | 270 | * |
@@ -948,6 +976,25 @@ public function setAllowModsToUnmuteUsers($allowModsToUnmuteUsers) |
948 | 976 | return $this; |
949 | 977 | } |
950 | 978 |
|
| 979 | + /** |
| 980 | + * @return bool |
| 981 | + */ |
| 982 | + public function isAllowModsToEjectCameras(): bool |
| 983 | + { |
| 984 | + return $this->allowModsToEjectCameras; |
| 985 | + } |
| 986 | + |
| 987 | + /** |
| 988 | + * @param bool $allowModsToEjectCameras |
| 989 | + * @return CreateMeetingParameters |
| 990 | + */ |
| 991 | + public function setAllowModsToEjectCameras(bool $allowModsToEjectCameras): self |
| 992 | + { |
| 993 | + $this->allowModsToEjectCameras = $allowModsToEjectCameras; |
| 994 | + |
| 995 | + return $this; |
| 996 | + } |
| 997 | + |
951 | 998 | /** |
952 | 999 | * @param $endCallbackUrl |
953 | 1000 | * @return CreateMeetingParameters |
@@ -1065,6 +1112,101 @@ public function setGuestPolicy($guestPolicy) |
1065 | 1112 | return $this; |
1066 | 1113 | } |
1067 | 1114 |
|
| 1115 | + /** |
| 1116 | + * @return bool |
| 1117 | + */ |
| 1118 | + public function isBreakoutRoomsEnabled(): bool |
| 1119 | + { |
| 1120 | + return $this->breakoutRoomsEnabled; |
| 1121 | + } |
| 1122 | + |
| 1123 | + /** |
| 1124 | + * @param bool $breakoutRoomsEnabled |
| 1125 | + * @return CreateMeetingParameters |
| 1126 | + */ |
| 1127 | + public function setBreakoutRoomsEnabled(bool $breakoutRoomsEnabled): self |
| 1128 | + { |
| 1129 | + $this->breakoutRoomsEnabled = $breakoutRoomsEnabled; |
| 1130 | + |
| 1131 | + return $this; |
| 1132 | + } |
| 1133 | + |
| 1134 | + /** |
| 1135 | + * @return bool |
| 1136 | + */ |
| 1137 | + public function isBreakoutRoomsRecord(): bool |
| 1138 | + { |
| 1139 | + return $this->breakoutRoomsRecord; |
| 1140 | + } |
| 1141 | + |
| 1142 | + /** |
| 1143 | + * @param bool $breakoutRoomsRecord |
| 1144 | + * @return CreateMeetingParameters |
| 1145 | + */ |
| 1146 | + public function setBreakoutRoomsRecord(bool $breakoutRoomsRecord): self |
| 1147 | + { |
| 1148 | + $this->breakoutRoomsRecord = $breakoutRoomsRecord; |
| 1149 | + |
| 1150 | + return $this; |
| 1151 | + } |
| 1152 | + |
| 1153 | + /** |
| 1154 | + * @return bool |
| 1155 | + */ |
| 1156 | + public function isBreakoutRoomsPrivateChatEnabled(): bool |
| 1157 | + { |
| 1158 | + return $this->breakoutRoomsPrivateChatEnabled; |
| 1159 | + } |
| 1160 | + |
| 1161 | + /** |
| 1162 | + * @param bool $breakoutRoomsPrivateChatEnabled |
| 1163 | + * @return CreateMeetingParameters |
| 1164 | + */ |
| 1165 | + public function setBreakoutRoomsPrivateChatEnabled(bool $breakoutRoomsPrivateChatEnabled): self |
| 1166 | + { |
| 1167 | + $this->breakoutRoomsPrivateChatEnabled = $breakoutRoomsPrivateChatEnabled; |
| 1168 | + |
| 1169 | + return $this; |
| 1170 | + } |
| 1171 | + |
| 1172 | + /** |
| 1173 | + * @return string |
| 1174 | + */ |
| 1175 | + public function getMeetingEndedURL(): string |
| 1176 | + { |
| 1177 | + return $this->meetingEndedURL; |
| 1178 | + } |
| 1179 | + |
| 1180 | + /** |
| 1181 | + * @param string $meetingEndedURL |
| 1182 | + * @return CreateMeetingParameters |
| 1183 | + */ |
| 1184 | + public function setMeetingEndedURL(string $meetingEndedURL): self |
| 1185 | + { |
| 1186 | + $this->meetingEndedURL = $meetingEndedURL; |
| 1187 | + |
| 1188 | + return $this; |
| 1189 | + } |
| 1190 | + |
| 1191 | + /** |
| 1192 | + * @return string |
| 1193 | + */ |
| 1194 | + public function getMeetingLayout(): string |
| 1195 | + { |
| 1196 | + return $this->meetingLayout; |
| 1197 | + } |
| 1198 | + |
| 1199 | + /** |
| 1200 | + * @param string $meetingLayout |
| 1201 | + * @return CreateMeetingParameters |
| 1202 | + */ |
| 1203 | + public function setMeetingLayout(string $meetingLayout): self |
| 1204 | + { |
| 1205 | + $this->meetingLayout = $meetingLayout; |
| 1206 | + |
| 1207 | + return $this; |
| 1208 | + } |
| 1209 | + |
1068 | 1210 | /** |
1069 | 1211 | * @return array |
1070 | 1212 | */ |
@@ -1158,13 +1300,19 @@ public function getHTTPQuery() |
1158 | 1300 | 'lockSettingsLockOnJoin' => $this->isLockSettingsLockOnJoin() ? 'true' : 'false', |
1159 | 1301 | 'lockSettingsLockOnJoinConfigurable' => $this->isLockSettingsLockOnJoinConfigurable() ? 'true' : 'false', |
1160 | 1302 | 'allowModsToUnmuteUsers' => $this->isAllowModsToUnmuteUsers() ? 'true' : 'false', |
| 1303 | + 'allowModsToEjectCameras' => $this->isAllowModsToEjectCameras() ? 'true' : 'false', |
1161 | 1304 | 'bannerText' => trim($this->bannerText), |
1162 | 1305 | 'bannerColor' => trim($this->bannerColor), |
1163 | 1306 | 'learningDashboardEnabled' => $this->isLearningDashboardEnabled() ? 'true' : 'false', |
1164 | 1307 | 'learningDashboardCleanupDelayInMinutes' => $this->learningDashboardCleanupDelayInMinutes, |
1165 | 1308 | 'endWhenNoModeratorDelayInMinutes' => $this->endWhenNoModeratorDelayInMinutes, |
| 1309 | + 'meetingEndedURL' => $this->meetingEndedURL, |
| 1310 | + 'breakoutRoomsEnabled' => $this->isBreakoutRoomsEnabled() ? 'true' : 'false', |
| 1311 | + 'breakoutRoomsRecord' => $this->isBreakoutRoomsRecord() ? 'true' : 'false', |
| 1312 | + 'breakoutRoomsPrivateChatEnabled(' => $this->isBreakoutRoomsPrivateChatEnabled() ? 'true' : 'false', |
1166 | 1313 | 'endWhenNoModerator' => $this->isEndWhenNoModerator() ? 'true' : 'false', |
1167 | 1314 | 'meetingKeepEvents' => $this->isMeetingKeepEvents() ? 'true' : 'false', |
| 1315 | + 'meetingLayout' => $this->getMeetingLayout() , |
1168 | 1316 | ]; |
1169 | 1317 |
|
1170 | 1318 | // Add breakout rooms parameters only if the meeting is a breakout room |
|
0 commit comments