Passed
Push — master ( 952641...35c757 )
by Ghazi
02:32 queued 44s
created

setRecordFullDurationMedia()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
/*
4
 * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/.
5
 *
6
 * Copyright (c) 2016-2023 BigBlueButton Inc. and by respective authors (see below).
7
 *
8
 * This program is free software; you can redistribute it and/or modify it under the
9
 * terms of the GNU Lesser General Public License as published by the Free Software
10
 * Foundation; either version 3.0 of the License, or (at your option) any later
11
 * version.
12
 *
13
 * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
14
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15
 * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Lesser General Public License along
18
 * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
19
 */
20
21
namespace BigBlueButton\Parameters;
22
23
/**
24
 * Class CreateMeetingParameters.
25
 */
26
class CreateMeetingParameters extends MetaParameters
27
{
28
    use DocumentableTrait;
29
30
    private ?string $meetingId = null;
31
32
    private ?string $meetingName = null;
33
34
    /**
35
     * @deprecated
36
     */
37
    private ?string $attendeePassword = null;
38
39
    /**
40
     * @deprecated
41
     */
42
    private ?string $moderatorPassword = null;
43
44
    private ?string $dialNumber = null;
45
46
    private ?int $voiceBridge = null;
47
48
    private ?string $webVoice = null;
49
50
    private ?string $logoutUrl = null;
51
52
    private ?int $maxParticipants = null;
53
54
    private ?bool $record = null;
55
56
    private ?bool $autoStartRecording = null;
57
58
    private ?bool $allowStartStopRecording = null;
59
60
    private ?int $duration = null;
61
62
    private ?string $welcomeMessage = null;
63
64
    private ?string $moderatorOnlyMessage = null;
65
66
    private ?bool $webcamsOnlyForModerator = null;
67
68
    private ?string $logo = null;
69
70
    private ?string $copyright = null;
71
72
    private ?bool $muteOnStart = null;
73
74
    private ?bool $lockSettingsDisableCam = null;
75
76
    private ?bool $lockSettingsDisableMic = null;
77
78
    private ?bool $lockSettingsDisablePrivateChat = null;
79
80
    private ?bool $lockSettingsDisablePublicChat = null;
81
82
    private ?bool $lockSettingsDisableNote = null;
83
84
    private ?bool $lockSettingsHideUserList = null;
85
86
    private ?bool $lockSettingsLockedLayout = null;
87
88
    private ?bool $lockSettingsLockOnJoin = null;
89
90
    private ?bool $lockSettingsLockOnJoinConfigurable = null;
91
92
    private ?bool $lockSettingsHideViewersCursor = null;
93
94
    private ?bool $allowModsToUnmuteUsers = null;
95
96
    private ?bool $allowModsToEjectCameras = null;
97
98
    private ?bool $allowRequestsWithoutSession = null;
99
100
    private ?bool $isBreakout = null;
101
102
    private ?string $parentMeetingId = null;
103
104
    private ?int $sequence = null;
105
106
    private ?bool $freeJoin = null;
107
108
    private ?string $guestPolicy = null;
109
110
    private ?string $bannerText = null;
111
112
    private ?string $bannerColor = null;
113
114
    /**
115
     * @deprecated
116
     */
117
    private ?bool $learningDashboardEnabled = null;
118
119
    /**
120
     * @deprecated
121
     */
122
    private ?bool $virtualBackgroundsDisabled = null;
123
124
    private ?int $learningDashboardCleanupDelayInMinutes = null;
125
126
    private ?int $endWhenNoModeratorDelayInMinutes = null;
127
128
    private ?bool $endWhenNoModerator = null;
129
130
    private ?bool $meetingKeepEvents = null;
131
132
    /**
133
     * @deprecated
134
     */
135
    private ?bool $breakoutRoomsEnabled = null;
136
137
    private ?bool $breakoutRoomsRecord = null;
138
139
    private ?bool $breakoutRoomsPrivateChatEnabled = null;
140
141
    private ?string $meetingEndedURL = null;
142
143
    private ?string $meetingLayout = null;
144
145
    private ?int $userCameraCap = null;
146
147
    private ?int $meetingCameraCap = null;
148
149
    private ?int $meetingExpireIfNoUserJoinedInMinutes = null;
150
151
    private ?int $meetingExpireWhenLastUserLeftInMinutes = null;
152
153
    private ?bool $preUploadedPresentationOverrideDefault = null;
154
155
    /**
156
     * @var array
157
     */
158
    private $disabledFeatures = [];
159
160
    /**
161
     * @var array
162
     */
163
    private $disabledFeaturesExclude = [];
164
165
    /**
166
     * @var bool
167
     */
168
    private ?bool $recordFullDurationMedia = null;
169
170
    /**
171
     * @var array
172
     */
173
    private $breakoutRoomsGroups = [];
174
175
    private ?bool $notifyRecordingIsOn = null;
176
177
    private ?string $presentationUploadExternalUrl = null;
178
179
    private ?string $presentationUploadExternalDescription = null;
180
181
    /**
182
     * CreateMeetingParameters constructor.
183
     *
184
     * @param mixed $meetingId
185
     * @param mixed $meetingName
186
     */
187
    public function __construct($meetingId = null, $meetingName = null)
188
    {
189
        $this->meetingId   = $meetingId;
190
        $this->meetingName = $meetingName;
191
    }
192
193
    /**
194
     * @return string
195
     */
196
    public function getMeetingId()
197
    {
198
        return $this->meetingId;
199
    }
200
201
    /**
202
     * @param string $meetingId
203
     *
204
     * @return CreateMeetingParameters
205
     */
206
    public function setMeetingId($meetingId)
207
    {
208
        $this->meetingId = $meetingId;
209
210
        return $this;
211
    }
212
213
    /**
214
     * @return string
215
     */
216
    public function getMeetingName()
217
    {
218
        return $this->meetingName;
219
    }
220
221
    /**
222
     * @param string $meetingName
223
     *
224
     * @return CreateMeetingParameters
225
     */
226
    public function setMeetingName($meetingName)
227
    {
228
        $this->meetingName = $meetingName;
229
230
        return $this;
231
    }
232
233
    /**
234
     * @return string
235
     *
236
     * @deprecated
237
     */
238
    public function getAttendeePassword()
239
    {
240
        return $this->attendeePassword;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...ters::$attendeePassword has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

240
        return /** @scrutinizer ignore-deprecated */ $this->attendeePassword;
Loading history...
241
    }
242
243
    /**
244
     * @param string $attendeePassword
245
     *
246
     * @return CreateMeetingParameters
247
     *
248
     * @deprecated
249
     */
250
    public function setAttendeePassword($attendeePassword)
251
    {
252
        $this->attendeePassword = $attendeePassword;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...ters::$attendeePassword has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

252
        /** @scrutinizer ignore-deprecated */ $this->attendeePassword = $attendeePassword;
Loading history...
253
254
        return $this;
255
    }
256
257
    /**
258
     * @return string
259
     *
260
     * @deprecated
261
     */
262
    public function getModeratorPassword()
263
    {
264
        return $this->moderatorPassword;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...ers::$moderatorPassword has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

264
        return /** @scrutinizer ignore-deprecated */ $this->moderatorPassword;
Loading history...
265
    }
266
267
    /**
268
     * @param string $moderatorPassword
269
     *
270
     * @return CreateMeetingParameters
271
     *
272
     * @deprecated
273
     */
274
    public function setModeratorPassword($moderatorPassword)
275
    {
276
        $this->moderatorPassword = $moderatorPassword;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...ers::$moderatorPassword has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

276
        /** @scrutinizer ignore-deprecated */ $this->moderatorPassword = $moderatorPassword;
Loading history...
277
278
        return $this;
279
    }
280
281
    /**
282
     * @return string
283
     */
284
    public function getDialNumber()
285
    {
286
        return $this->dialNumber;
287
    }
288
289
    /**
290
     * @param string $dialNumber
291
     *
292
     * @return CreateMeetingParameters
293
     */
294
    public function setDialNumber($dialNumber)
295
    {
296
        $this->dialNumber = $dialNumber;
297
298
        return $this;
299
    }
300
301
    /**
302
     * @return int
303
     */
304
    public function getVoiceBridge()
305
    {
306
        return $this->voiceBridge;
307
    }
308
309
    /**
310
     * @param int $voiceBridge
311
     *
312
     * @return CreateMeetingParameters
313
     */
314
    public function setVoiceBridge($voiceBridge)
315
    {
316
        $this->voiceBridge = $voiceBridge;
317
318
        return $this;
319
    }
320
321
    /**
322
     * @return string
323
     */
324
    public function getWebVoice()
325
    {
326
        return $this->webVoice;
327
    }
328
329
    /**
330
     * @param string $webVoice
331
     *
332
     * @return CreateMeetingParameters
333
     */
334
    public function setWebVoice($webVoice)
335
    {
336
        $this->webVoice = $webVoice;
337
338
        return $this;
339
    }
340
341
    /**
342
     * @return string
343
     */
344
    public function getLogoutUrl()
345
    {
346
        return $this->logoutUrl;
347
    }
348
349
    /**
350
     * @param string $logoutUrl
351
     *
352
     * @return CreateMeetingParameters
353
     */
354
    public function setLogoutUrl($logoutUrl)
355
    {
356
        $this->logoutUrl = $logoutUrl;
357
358
        return $this;
359
    }
360
361
    /**
362
     * @return int
363
     */
364
    public function getMaxParticipants()
365
    {
366
        return $this->maxParticipants;
367
    }
368
369
    /**
370
     * @param int $maxParticipants
371
     *
372
     * @return CreateMeetingParameters
373
     */
374
    public function setMaxParticipants($maxParticipants)
375
    {
376
        $this->maxParticipants = $maxParticipants;
377
378
        return $this;
379
    }
380
381
    /**
382
     * @return null|bool
383
     */
384
    public function isRecorded()
385
    {
386
        return $this->record;
387
    }
388
389
    /**
390
     * @param bool $record
391
     *
392
     * @return CreateMeetingParameters
393
     */
394
    public function setRecord($record)
395
    {
396
        $this->record = $record;
397
398
        return $this;
399
    }
400
401
    /**
402
     * @return null|bool
403
     */
404
    public function isAutoStartRecording()
405
    {
406
        return $this->autoStartRecording;
407
    }
408
409
    /**
410
     * @param bool $autoStartRecording
411
     *
412
     * @return CreateMeetingParameters
413
     */
414
    public function setAutoStartRecording($autoStartRecording)
415
    {
416
        $this->autoStartRecording = $autoStartRecording;
417
418
        return $this;
419
    }
420
421
    /**
422
     * @return null|bool
423
     */
424
    public function isAllowStartStopRecording()
425
    {
426
        return $this->allowStartStopRecording;
427
    }
428
429
    /**
430
     * @param bool $allowStartStopRecording
431
     *
432
     * @return CreateMeetingParameters
433
     */
434
    public function setAllowStartStopRecording($allowStartStopRecording)
435
    {
436
        $this->allowStartStopRecording = $allowStartStopRecording;
437
438
        return $this;
439
    }
440
441
    /**
442
     * @return int
443
     */
444
    public function getDuration()
445
    {
446
        return $this->duration;
447
    }
448
449
    /**
450
     * @param int $duration
451
     *
452
     * @return CreateMeetingParameters
453
     */
454
    public function setDuration($duration)
455
    {
456
        $this->duration = $duration;
457
458
        return $this;
459
    }
460
461
    /**
462
     * @return string
463
     */
464
    public function getWelcomeMessage()
465
    {
466
        return $this->welcomeMessage;
467
    }
468
469
    /**
470
     * @param string $welcomeMessage
471
     *
472
     * @return CreateMeetingParameters
473
     */
474
    public function setWelcomeMessage($welcomeMessage)
475
    {
476
        $this->welcomeMessage = $welcomeMessage;
477
478
        return $this;
479
    }
480
481
    /**
482
     * @return string
483
     */
484
    public function getModeratorOnlyMessage()
485
    {
486
        return $this->moderatorOnlyMessage;
487
    }
488
489
    /**
490
     * @param string $message
491
     *
492
     * @return CreateMeetingParameters
493
     */
494
    public function setModeratorOnlyMessage($message)
495
    {
496
        $this->moderatorOnlyMessage = $message;
497
498
        return $this;
499
    }
500
501
    /**
502
     * @return null|bool
503
     */
504
    public function isWebcamsOnlyForModerator()
505
    {
506
        return $this->webcamsOnlyForModerator;
507
    }
508
509
    /**
510
     * @param bool $webcamsOnlyForModerator
511
     *
512
     * @return CreateMeetingParameters
513
     */
514
    public function setWebcamsOnlyForModerator($webcamsOnlyForModerator)
515
    {
516
        $this->webcamsOnlyForModerator = $webcamsOnlyForModerator;
517
518
        return $this;
519
    }
520
521
    /**
522
     * @return string
523
     */
524
    public function getLogo()
525
    {
526
        return $this->logo;
527
    }
528
529
    /**
530
     * @param string $logo
531
     *
532
     * @return CreateMeetingParameters
533
     */
534
    public function setLogo($logo)
535
    {
536
        $this->logo = $logo;
537
538
        return $this;
539
    }
540
541
    /**
542
     * @return string
543
     */
544
    public function getBannerText()
545
    {
546
        return $this->bannerText;
547
    }
548
549
    /**
550
     * @param string $bannerText
551
     *
552
     * @return CreateMeetingParameters
553
     */
554
    public function setBannerText($bannerText)
555
    {
556
        $this->bannerText = $bannerText;
557
558
        return $this;
559
    }
560
561
    /**
562
     * @return string
563
     */
564
    public function getBannerColor()
565
    {
566
        return $this->bannerColor;
567
    }
568
569
    /**
570
     * @param string $bannerColor
571
     *
572
     * @return CreateMeetingParameters
573
     */
574
    public function setBannerColor($bannerColor)
575
    {
576
        $this->bannerColor = $bannerColor;
577
578
        return $this;
579
    }
580
581
    /**
582
     * @deprecated
583
     *
584
     * @return bool
585
     */
586
    public function isLearningDashboardEnabled()
587
    {
588
        return $this->learningDashboardEnabled;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...earningDashboardEnabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

588
        return /** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled;
Loading history...
589
    }
590
591
    /**
592
     * @param bool $learningDashboardEnabled
593
     *
594
     * @deprecated
595
     *
596
     * @return CreateMeetingParameters
597
     */
598
    public function setLearningDashboardEnabled($learningDashboardEnabled)
599
    {
600
        $this->learningDashboardEnabled = $learningDashboardEnabled;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...earningDashboardEnabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

600
        /** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled = $learningDashboardEnabled;
Loading history...
601
602
        return $this;
603
    }
604
605
    /**
606
     * @deprecated
607
     */
608
    public function isVirtualBackgroundsDisabled(): bool
609
    {
610
        return $this->virtualBackgroundsDisabled;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...tualBackgroundsDisabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

610
        return /** @scrutinizer ignore-deprecated */ $this->virtualBackgroundsDisabled;
Loading history...
Bug Best Practice introduced by
The expression return $this->virtualBackgroundsDisabled could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
611
    }
612
613
    /**
614
     * @deprecated
615
     *
616
     * @param mixed $virtualBackgroundsDisabled
617
     */
618
    public function setVirtualBackgroundsDisabled($virtualBackgroundsDisabled)
619
    {
620
        $this->virtualBackgroundsDisabled = $virtualBackgroundsDisabled;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...tualBackgroundsDisabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

620
        /** @scrutinizer ignore-deprecated */ $this->virtualBackgroundsDisabled = $virtualBackgroundsDisabled;
Loading history...
621
622
        return $this;
623
    }
624
625
    /**
626
     * @return int
627
     */
628
    public function getLearningDashboardCleanupDelayInMinutes()
629
    {
630
        return $this->learningDashboardCleanupDelayInMinutes;
631
    }
632
633
    /**
634
     * @param int $learningDashboardCleanupDelayInMinutes
635
     *
636
     * @return CreateMeetingParameters
637
     */
638
    public function setLearningDashboardCleanupDelayInMinutes($learningDashboardCleanupDelayInMinutes)
639
    {
640
        $this->learningDashboardCleanupDelayInMinutes = $learningDashboardCleanupDelayInMinutes;
641
642
        return $this;
643
    }
644
645
    /**
646
     * @return int
647
     */
648
    public function getEndWhenNoModeratorDelayInMinutes()
649
    {
650
        return $this->endWhenNoModeratorDelayInMinutes;
651
    }
652
653
    /**
654
     * @param int $endWhenNoModeratorDelayInMinutes
655
     *
656
     * @return CreateMeetingParameters
657
     */
658
    public function setEndWhenNoModeratorDelayInMinutes($endWhenNoModeratorDelayInMinutes)
659
    {
660
        $this->endWhenNoModeratorDelayInMinutes = $endWhenNoModeratorDelayInMinutes;
661
662
        return $this;
663
    }
664
665
    /**
666
     * @return bool
667
     */
668
    public function isEndWhenNoModerator()
669
    {
670
        return $this->endWhenNoModerator;
671
    }
672
673
    /**
674
     * @param bool $endWhenNoModerator
675
     *
676
     * @return CreateMeetingParameters
677
     */
678
    public function setEndWhenNoModerator($endWhenNoModerator)
679
    {
680
        $this->endWhenNoModerator = $endWhenNoModerator;
681
682
        return $this;
683
    }
684
685
    /**
686
     * @return bool
687
     */
688
    public function isMeetingKeepEvents()
689
    {
690
        return $this->meetingKeepEvents;
691
    }
692
693
    /**
694
     * @param bool $meetingKeepEvents
695
     *
696
     * @return CreateMeetingParameters
697
     */
698
    public function setMeetingKeepEvents($meetingKeepEvents)
699
    {
700
        $this->meetingKeepEvents = $meetingKeepEvents;
701
702
        return $this;
703
    }
704
705
    /**
706
     * @return string
707
     */
708
    public function getCopyright()
709
    {
710
        return $this->copyright;
711
    }
712
713
    /**
714
     * @param string $copyright
715
     *
716
     * @return CreateMeetingParameters
717
     */
718
    public function setCopyright($copyright)
719
    {
720
        $this->copyright = $copyright;
721
722
        return $this;
723
    }
724
725
    /**
726
     * @return null|bool
727
     */
728
    public function isMuteOnStart()
729
    {
730
        return $this->muteOnStart;
731
    }
732
733
    /**
734
     * @param bool $muteOnStart
735
     *
736
     * @return CreateMeetingParameters
737
     */
738
    public function setMuteOnStart($muteOnStart)
739
    {
740
        $this->muteOnStart = $muteOnStart;
741
742
        return $this;
743
    }
744
745
    /**
746
     * @return null|bool
747
     */
748
    public function isLockSettingsDisableCam()
749
    {
750
        return $this->lockSettingsDisableCam;
751
    }
752
753
    /**
754
     * @param bool $lockSettingsDisableCam
755
     *
756
     * @return CreateMeetingParameters
757
     */
758
    public function setLockSettingsDisableCam($lockSettingsDisableCam)
759
    {
760
        $this->lockSettingsDisableCam = $lockSettingsDisableCam;
761
762
        return $this;
763
    }
764
765
    /**
766
     * @return null|bool
767
     */
768
    public function isLockSettingsDisableMic()
769
    {
770
        return $this->lockSettingsDisableMic;
771
    }
772
773
    /**
774
     * @param bool $lockSettingsDisableMic
775
     *
776
     * @return CreateMeetingParameters
777
     */
778
    public function setLockSettingsDisableMic($lockSettingsDisableMic)
779
    {
780
        $this->lockSettingsDisableMic = $lockSettingsDisableMic;
781
782
        return $this;
783
    }
784
785
    /**
786
     * @return null|bool
787
     */
788
    public function isLockSettingsDisablePrivateChat()
789
    {
790
        return $this->lockSettingsDisablePrivateChat;
791
    }
792
793
    /**
794
     * @param bool $lockSettingsDisablePrivateChat
795
     *
796
     * @return CreateMeetingParameters
797
     */
798
    public function setLockSettingsDisablePrivateChat($lockSettingsDisablePrivateChat)
799
    {
800
        $this->lockSettingsDisablePrivateChat = $lockSettingsDisablePrivateChat;
801
802
        return $this;
803
    }
804
805
    /**
806
     * @return null|bool
807
     */
808
    public function isLockSettingsDisablePublicChat()
809
    {
810
        return $this->lockSettingsDisablePublicChat;
811
    }
812
813
    /**
814
     * @param bool $lockSettingsDisablePublicChat
815
     *
816
     * @return CreateMeetingParameters
817
     */
818
    public function setLockSettingsDisablePublicChat($lockSettingsDisablePublicChat)
819
    {
820
        $this->lockSettingsDisablePublicChat = $lockSettingsDisablePublicChat;
821
822
        return $this;
823
    }
824
825
    /**
826
     * @return null|bool
827
     */
828
    public function isLockSettingsDisableNote()
829
    {
830
        return $this->lockSettingsDisableNote;
831
    }
832
833
    /**
834
     * @param bool $lockSettingsDisableNote
835
     *
836
     * @return CreateMeetingParameters
837
     */
838
    public function setLockSettingsDisableNote($lockSettingsDisableNote)
839
    {
840
        $this->lockSettingsDisableNote = $lockSettingsDisableNote;
841
842
        return $this;
843
    }
844
845
    /**
846
     * @return null|bool
847
     */
848
    public function isLockSettingsHideUserList()
849
    {
850
        return $this->lockSettingsHideUserList;
851
    }
852
853
    /**
854
     * @param bool $lockSettingsHideUserList
855
     *
856
     * @return CreateMeetingParameters
857
     */
858
    public function setLockSettingsHideUserList($lockSettingsHideUserList)
859
    {
860
        $this->lockSettingsHideUserList = $lockSettingsHideUserList;
861
862
        return $this;
863
    }
864
865
    /**
866
     * @return null|bool
867
     */
868
    public function isLockSettingsLockedLayout()
869
    {
870
        return $this->lockSettingsLockedLayout;
871
    }
872
873
    /**
874
     * @param bool $lockSettingsLockedLayout
875
     *
876
     * @return CreateMeetingParameters
877
     */
878
    public function setLockSettingsLockedLayout($lockSettingsLockedLayout)
879
    {
880
        $this->lockSettingsLockedLayout = $lockSettingsLockedLayout;
881
882
        return $this;
883
    }
884
885
    /**
886
     * @return null|bool
887
     */
888
    public function isLockSettingsLockOnJoin()
889
    {
890
        return $this->lockSettingsLockOnJoin;
891
    }
892
893
    /**
894
     * @param bool $lockOnJoin
895
     *
896
     * @return CreateMeetingParameters
897
     */
898
    public function setLockSettingsLockOnJoin($lockOnJoin)
899
    {
900
        $this->lockSettingsLockOnJoin = $lockOnJoin;
901
902
        return $this;
903
    }
904
905
    /**
906
     * @return null|bool
907
     */
908
    public function isLockSettingsLockOnJoinConfigurable()
909
    {
910
        return $this->lockSettingsLockOnJoinConfigurable;
911
    }
912
913
    /**
914
     * @param bool $lockOnJoinConfigurable
915
     *
916
     * @return CreateMeetingParameters
917
     */
918
    public function setLockSettingsLockOnJoinConfigurable($lockOnJoinConfigurable)
919
    {
920
        $this->lockSettingsLockOnJoinConfigurable = $lockOnJoinConfigurable;
921
922
        return $this;
923
    }
924
925
    public function isLockSettingsHideViewersCursor(): bool
926
    {
927
        return $this->lockSettingsHideViewersCursor;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->lockSettingsHideViewersCursor could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
928
    }
929
930
    public function setLockSettingsHideViewersCursor(bool $lockSettingsHideViewersCursor)
931
    {
932
        $this->lockSettingsHideViewersCursor = $lockSettingsHideViewersCursor;
933
934
        return $this;
935
    }
936
937
    /**
938
     * @return null|bool
939
     */
940
    public function isAllowModsToUnmuteUsers()
941
    {
942
        return $this->allowModsToUnmuteUsers;
943
    }
944
945
    /**
946
     * @param bool $allowModsToUnmuteUsers
947
     *
948
     * @return CreateMeetingParameters
949
     */
950
    public function setAllowModsToUnmuteUsers($allowModsToUnmuteUsers)
951
    {
952
        $this->allowModsToUnmuteUsers = $allowModsToUnmuteUsers;
953
954
        return $this;
955
    }
956
957
    public function isAllowModsToEjectCameras(): bool
958
    {
959
        return $this->allowModsToEjectCameras;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->allowModsToEjectCameras could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
960
    }
961
962
    public function setAllowModsToEjectCameras(bool $allowModsToEjectCameras): self
963
    {
964
        $this->allowModsToEjectCameras = $allowModsToEjectCameras;
965
966
        return $this;
967
    }
968
969
    /**
970
     * @param mixed $endCallbackUrl
971
     *
972
     * @return CreateMeetingParameters
973
     */
974
    public function setEndCallbackUrl($endCallbackUrl)
975
    {
976
        $this->addMeta('endCallbackUrl', $endCallbackUrl);
977
978
        return $this;
979
    }
980
981
    /**
982
     * @param mixed $recordingReadyCallbackUrl
983
     *
984
     * @return CreateMeetingParameters
985
     */
986
    public function setRecordingReadyCallbackUrl($recordingReadyCallbackUrl)
987
    {
988
        $this->addMeta('bbb-recording-ready-url', $recordingReadyCallbackUrl);
989
990
        return $this;
991
    }
992
993
    /**
994
     * @return null|bool
995
     */
996
    public function isBreakout()
997
    {
998
        return $this->isBreakout;
999
    }
1000
1001
    /**
1002
     * @param bool $isBreakout
1003
     *
1004
     * @return CreateMeetingParameters
1005
     */
1006
    public function setBreakout($isBreakout)
1007
    {
1008
        $this->isBreakout = $isBreakout;
1009
1010
        return $this;
1011
    }
1012
1013
    /**
1014
     * @return string
1015
     */
1016
    public function getParentMeetingId()
1017
    {
1018
        return $this->parentMeetingId;
1019
    }
1020
1021
    /**
1022
     * @param string $parentMeetingId
1023
     *
1024
     * @return CreateMeetingParameters
1025
     */
1026
    public function setParentMeetingId($parentMeetingId)
1027
    {
1028
        $this->parentMeetingId = $parentMeetingId;
1029
1030
        return $this;
1031
    }
1032
1033
    /**
1034
     * @return int
1035
     */
1036
    public function getSequence()
1037
    {
1038
        return $this->sequence;
1039
    }
1040
1041
    /**
1042
     * @param int $sequence
1043
     *
1044
     * @return CreateMeetingParameters
1045
     */
1046
    public function setSequence($sequence)
1047
    {
1048
        $this->sequence = $sequence;
1049
1050
        return $this;
1051
    }
1052
1053
    /**
1054
     * @return null|bool
1055
     */
1056
    public function isFreeJoin()
1057
    {
1058
        return $this->freeJoin;
1059
    }
1060
1061
    /**
1062
     * @param bool $freeJoin
1063
     *
1064
     * @return CreateMeetingParameters
1065
     */
1066
    public function setFreeJoin($freeJoin)
1067
    {
1068
        $this->freeJoin = $freeJoin;
1069
1070
        return $this;
1071
    }
1072
1073
    /**
1074
     * @return string
1075
     */
1076
    public function getGuestPolicy()
1077
    {
1078
        return $this->guestPolicy;
1079
    }
1080
1081
    /**
1082
     * @param bool $guestPolicy
1083
     *
1084
     * @return CreateMeetingParameters
1085
     */
1086
    public function setGuestPolicy($guestPolicy)
1087
    {
1088
        $this->guestPolicy = $guestPolicy;
1089
1090
        return $this;
1091
    }
1092
1093
    /**
1094
     * @deprecated
1095
     */
1096
    public function isBreakoutRoomsEnabled(): bool
1097
    {
1098
        return $this->breakoutRoomsEnabled;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...::$breakoutRoomsEnabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1098
        return /** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled;
Loading history...
Bug Best Practice introduced by
The expression return $this->breakoutRoomsEnabled could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
1099
    }
1100
1101
    /**
1102
     * @deprecated
1103
     *
1104
     * @param mixed $breakoutRoomsEnabled
1105
     *
1106
     * @return CreateMeetingParameters
1107
     */
1108
    public function setBreakoutRoomsEnabled($breakoutRoomsEnabled)
1109
    {
1110
        $this->breakoutRoomsEnabled = $breakoutRoomsEnabled;
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...::$breakoutRoomsEnabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1110
        /** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled = $breakoutRoomsEnabled;
Loading history...
1111
1112
        return $this;
1113
    }
1114
1115
    public function isBreakoutRoomsRecord(): bool
1116
    {
1117
        return $this->breakoutRoomsRecord;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->breakoutRoomsRecord could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
1118
    }
1119
1120
    /**
1121
     * @param bool $breakoutRoomsRecord
1122
     *
1123
     * @return $this
1124
     */
1125
    public function setBreakoutRoomsRecord($breakoutRoomsRecord)
1126
    {
1127
        $this->breakoutRoomsRecord = $breakoutRoomsRecord;
1128
1129
        return $this;
1130
    }
1131
1132
    public function isBreakoutRoomsPrivateChatEnabled()
1133
    {
1134
        return $this->breakoutRoomsPrivateChatEnabled;
1135
    }
1136
1137
    /**
1138
     * @return CreateMeetingParameters
1139
     */
1140
    public function setBreakoutRoomsPrivateChatEnabled(bool $breakoutRoomsPrivateChatEnabled)
1141
    {
1142
        $this->breakoutRoomsPrivateChatEnabled = $breakoutRoomsPrivateChatEnabled;
1143
1144
        return $this;
1145
    }
1146
1147
    public function getMeetingEndedURL(): string
1148
    {
1149
        return $this->meetingEndedURL;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->meetingEndedURL could return the type null which is incompatible with the type-hinted return string. Consider adding an additional type-check to rule them out.
Loading history...
1150
    }
1151
1152
    /**
1153
     * @return CreateMeetingParameters
1154
     */
1155
    public function setMeetingEndedURL(string $meetingEndedURL)
1156
    {
1157
        $this->meetingEndedURL = $meetingEndedURL;
1158
1159
        return $this;
1160
    }
1161
1162
    /**
1163
     * @return string
1164
     */
1165
    public function getMeetingLayout()
1166
    {
1167
        return $this->meetingLayout;
1168
    }
1169
1170
    /**
1171
     * @return CreateMeetingParameters
1172
     */
1173
    public function setMeetingLayout(string $meetingLayout)
1174
    {
1175
        $this->meetingLayout = $meetingLayout;
1176
1177
        return $this;
1178
    }
1179
1180
    /**
1181
     * @return bool
1182
     */
1183
    public function isAllowRequestsWithoutSession()
1184
    {
1185
        return $this->allowRequestsWithoutSession;
1186
    }
1187
1188
    /**
1189
     * @param mixed $allowRequestsWithoutSession
1190
     *
1191
     * @return $this
1192
     */
1193
    public function setAllowRequestsWithoutSession($allowRequestsWithoutSession)
1194
    {
1195
        $this->allowRequestsWithoutSession = $allowRequestsWithoutSession;
1196
1197
        return $this;
1198
    }
1199
1200
    /**
1201
     * @return int
1202
     */
1203
    public function getUserCameraCap()
1204
    {
1205
        return $this->userCameraCap;
1206
    }
1207
1208
    /**
1209
     * @param int $userCameraCap
1210
     *
1211
     * @return CreateMeetingParameters
1212
     */
1213
    public function setUserCameraCap($userCameraCap)
1214
    {
1215
        $this->userCameraCap = $userCameraCap;
1216
1217
        return $this;
1218
    }
1219
1220
    public function getMeetingCameraCap(): int
1221
    {
1222
        return $this->meetingCameraCap;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->meetingCameraCap could return the type null which is incompatible with the type-hinted return integer. Consider adding an additional type-check to rule them out.
Loading history...
1223
    }
1224
1225
    public function setMeetingCameraCap(int $meetingCameraCap): CreateMeetingParameters
1226
    {
1227
        $this->meetingCameraCap = $meetingCameraCap;
1228
1229
        return $this;
1230
    }
1231
1232
    public function getMeetingExpireIfNoUserJoinedInMinutes(): int
1233
    {
1234
        return $this->meetingExpireIfNoUserJoinedInMinutes;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->meetingExp...IfNoUserJoinedInMinutes could return the type null which is incompatible with the type-hinted return integer. Consider adding an additional type-check to rule them out.
Loading history...
1235
    }
1236
1237
    public function setMeetingExpireIfNoUserJoinedInMinutes(int $meetingExpireIfNoUserJoinedInMinutes): CreateMeetingParameters
1238
    {
1239
        $this->meetingExpireIfNoUserJoinedInMinutes = $meetingExpireIfNoUserJoinedInMinutes;
1240
1241
        return $this;
1242
    }
1243
1244
    public function getMeetingExpireWhenLastUserLeftInMinutes(): int
1245
    {
1246
        return $this->meetingExpireWhenLastUserLeftInMinutes;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->meetingExp...enLastUserLeftInMinutes could return the type null which is incompatible with the type-hinted return integer. Consider adding an additional type-check to rule them out.
Loading history...
1247
    }
1248
1249
    public function setMeetingExpireWhenLastUserLeftInMinutes(int $meetingExpireWhenLastUserLeftInMinutes): CreateMeetingParameters
1250
    {
1251
        $this->meetingExpireWhenLastUserLeftInMinutes = $meetingExpireWhenLastUserLeftInMinutes;
1252
1253
        return $this;
1254
    }
1255
1256
    public function isPreUploadedPresentationOverrideDefault(): bool
1257
    {
1258
        return $this->preUploadedPresentationOverrideDefault;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->preUploade...entationOverrideDefault could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
1259
    }
1260
1261
    public function setPreUploadedPresentationOverrideDefault(bool $preUploadedPresentationOverrideDefault): CreateMeetingParameters
1262
    {
1263
        $this->preUploadedPresentationOverrideDefault = $preUploadedPresentationOverrideDefault;
1264
1265
        return $this;
1266
    }
1267
1268
    public function getDisabledFeatures(): array
1269
    {
1270
        return $this->disabledFeatures;
1271
    }
1272
1273
    public function setDisabledFeatures(array $disabledFeatures): CreateMeetingParameters
1274
    {
1275
        $this->disabledFeatures = $disabledFeatures;
1276
1277
        return $this;
1278
    }
1279
1280
    public function getDisabledFeaturesExclude(): array
1281
    {
1282
        return $this->disabledFeaturesExclude;
1283
    }
1284
1285
    public function setDisabledFeaturesExclude(array $disabledFeaturesExclude): CreateMeetingParameters
1286
    {
1287
        $this->disabledFeaturesExclude = $disabledFeaturesExclude;
1288
1289
        return $this;
1290
    }
1291
1292
    public function getRecordFullDurationMedia(): bool
1293
    {
1294
        return $this->recordFullDurationMedia;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->recordFullDurationMedia could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
1295
    }
1296
1297
    public function setRecordFullDurationMedia(bool $recordFullDurationMedia): CreateMeetingParameters
1298
    {
1299
        $this->recordFullDurationMedia = $recordFullDurationMedia;
1300
1301
        return $this;
1302
    }
1303
1304
    public function getBreakoutRoomsGroups(): array
1305
    {
1306
        return $this->breakoutRoomsGroups;
1307
    }
1308
1309
    /**
1310
     * @param mixed $id
1311
     * @param mixed $name
1312
     * @param mixed $roster
1313
     *
1314
     * @return $this
1315
     */
1316
    public function addBreakoutRoomsGroup($id, $name, $roster)
1317
    {
1318
        $this->breakoutRoomsGroups[] = ['id' => $id, 'name' => $name, 'roster' => $roster];
1319
1320
        return $this;
1321
    }
1322
1323
    public function getNotifyRecordingIsOn(): bool
1324
    {
1325
        return $this->notifyRecordingIsOn;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->notifyRecordingIsOn could return the type null which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
1326
    }
1327
1328
    /**
1329
     * @return $this
1330
     */
1331
    public function setNotifyRecordingIsOn(bool $notifyRecordingIsOn): CreateMeetingParameters
1332
    {
1333
        $this->notifyRecordingIsOn = $notifyRecordingIsOn;
1334
1335
        return $this;
1336
    }
1337
1338
    public function getPresentationUploadExternalUrl(): string
1339
    {
1340
        return $this->presentationUploadExternalUrl;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->presentationUploadExternalUrl could return the type null which is incompatible with the type-hinted return string. Consider adding an additional type-check to rule them out.
Loading history...
1341
    }
1342
1343
    /**
1344
     * @return $this
1345
     */
1346
    public function setPresentationUploadExternalUrl(string $presentationUploadExternalUrl): CreateMeetingParameters
1347
    {
1348
        $this->presentationUploadExternalUrl = $presentationUploadExternalUrl;
1349
1350
        return $this;
1351
    }
1352
1353
    public function getPresentationUploadExternalDescription(): string
1354
    {
1355
        return $this->presentationUploadExternalDescription;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->presentati...loadExternalDescription could return the type null which is incompatible with the type-hinted return string. Consider adding an additional type-check to rule them out.
Loading history...
1356
    }
1357
1358
    /**
1359
     * @return $this
1360
     */
1361
    public function setPresentationUploadExternalDescription(string $presentationUploadExternalDescription): CreateMeetingParameters
1362
    {
1363
        $this->presentationUploadExternalDescription = $presentationUploadExternalDescription;
1364
1365
        return $this;
1366
    }
1367
1368
    /**
1369
     * @return string
1370
     */
1371
    public function getHTTPQuery()
1372
    {
1373
        $queries = [
1374
            'name'                                   => $this->meetingName,
1375
            'meetingID'                              => $this->meetingId,
1376
            'attendeePW'                             => $this->attendeePassword,
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...ters::$attendeePassword has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1376
            'attendeePW'                             => /** @scrutinizer ignore-deprecated */ $this->attendeePassword,
Loading history...
1377
            'moderatorPW'                            => $this->moderatorPassword,
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...ers::$moderatorPassword has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1377
            'moderatorPW'                            => /** @scrutinizer ignore-deprecated */ $this->moderatorPassword,
Loading history...
1378
            'dialNumber'                             => $this->dialNumber,
1379
            'voiceBridge'                            => $this->voiceBridge,
1380
            'webVoice'                               => $this->webVoice,
1381
            'logoutURL'                              => $this->logoutUrl,
1382
            'record'                                 => !is_null($this->record) ? ($this->record ? 'true' : 'false') : $this->record,
1383
            'duration'                               => $this->duration,
1384
            'maxParticipants'                        => $this->maxParticipants,
1385
            'autoStartRecording'                     => !is_null($this->autoStartRecording) ? ($this->autoStartRecording ? 'true' : 'false') : $this->autoStartRecording,
1386
            'allowStartStopRecording'                => !is_null($this->allowStartStopRecording) ? ($this->allowStartStopRecording ? 'true' : 'false') : $this->allowStartStopRecording,
1387
            'welcome'                                => trim($this->welcomeMessage),
0 ignored issues
show
Bug introduced by
It seems like $this->welcomeMessage can also be of type null; however, parameter $string of trim() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1387
            'welcome'                                => trim(/** @scrutinizer ignore-type */ $this->welcomeMessage),
Loading history...
1388
            'moderatorOnlyMessage'                   => trim($this->moderatorOnlyMessage),
1389
            'webcamsOnlyForModerator'                => !is_null($this->webcamsOnlyForModerator) ? ($this->webcamsOnlyForModerator ? 'true' : 'false') : $this->webcamsOnlyForModerator,
1390
            'logo'                                   => $this->logo,
1391
            'copyright'                              => $this->copyright,
1392
            'muteOnStart'                            => !is_null($this->muteOnStart) ? ($this->muteOnStart ? 'true' : 'false') : $this->muteOnStart,
1393
            'guestPolicy'                            => $this->guestPolicy,
1394
            'lockSettingsDisableCam'                 => !is_null($this->lockSettingsDisableCam) ? ($this->lockSettingsDisableCam ? 'true' : 'false') : $this->lockSettingsDisableCam,
1395
            'lockSettingsDisableMic'                 => !is_null($this->lockSettingsDisableMic) ? ($this->lockSettingsDisableMic ? 'true' : 'false') : $this->lockSettingsDisableMic,
1396
            'lockSettingsDisablePrivateChat'         => !is_null($this->lockSettingsDisablePrivateChat) ? ($this->lockSettingsDisablePrivateChat ? 'true' : 'false') : $this->lockSettingsDisablePrivateChat,
1397
            'lockSettingsDisablePublicChat'          => !is_null($this->lockSettingsDisablePublicChat) ? ($this->lockSettingsDisablePublicChat ? 'true' : 'false') : $this->lockSettingsDisablePublicChat,
1398
            'lockSettingsDisableNote'                => !is_null($this->lockSettingsDisableNote) ? ($this->lockSettingsDisableNote ? 'true' : 'false') : $this->lockSettingsDisableNote,
1399
            'lockSettingsHideUserList'               => !is_null($this->lockSettingsHideUserList) ? ($this->lockSettingsHideUserList ? 'true' : 'false') : $this->lockSettingsHideUserList,
1400
            'lockSettingsLockedLayout'               => !is_null($this->lockSettingsLockedLayout) ? ($this->lockSettingsLockedLayout ? 'true' : 'false') : $this->lockSettingsLockedLayout,
1401
            'lockSettingsLockOnJoin'                 => !is_null($this->lockSettingsLockOnJoin) ? ($this->lockSettingsLockOnJoin ? 'true' : 'false') : $this->lockSettingsLockOnJoin,
1402
            'lockSettingsLockOnJoinConfigurable'     => !is_null($this->lockSettingsLockOnJoinConfigurable) ? ($this->lockSettingsLockOnJoinConfigurable ? 'true' : 'false') : $this->lockSettingsLockOnJoinConfigurable,
1403
            'lockSettingsHideViewersCursor'          => !is_null($this->lockSettingsHideViewersCursor) ? ($this->lockSettingsHideViewersCursor ? 'true' : 'false') : $this->lockSettingsHideViewersCursor,
1404
            'allowModsToUnmuteUsers'                 => !is_null($this->allowModsToUnmuteUsers) ? ($this->allowModsToUnmuteUsers ? 'true' : 'false') : $this->allowModsToUnmuteUsers,
1405
            'allowModsToEjectCameras'                => !is_null($this->allowModsToEjectCameras) ? ($this->allowModsToEjectCameras ? 'true' : 'false') : $this->allowModsToEjectCameras,
1406
            'bannerText'                             => trim($this->bannerText),
1407
            'bannerColor'                            => trim($this->bannerColor),
1408
            'learningDashboardEnabled'               => !is_null($this->learningDashboardEnabled) ? ($this->learningDashboardEnabled ? 'true' : 'false') : $this->learningDashboardEnabled,
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...earningDashboardEnabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1408
            'learningDashboardEnabled'               => !is_null(/** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled) ? ($this->learningDashboardEnabled ? 'true' : 'false') : $this->learningDashboardEnabled,
Loading history...
1409
            'virtualBackgroundsDisabled'             => !is_null($this->virtualBackgroundsDisabled) ? ($this->virtualBackgroundsDisabled ? 'true' : 'false') : $this->virtualBackgroundsDisabled,
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...tualBackgroundsDisabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1409
            'virtualBackgroundsDisabled'             => !is_null(/** @scrutinizer ignore-deprecated */ $this->virtualBackgroundsDisabled) ? ($this->virtualBackgroundsDisabled ? 'true' : 'false') : $this->virtualBackgroundsDisabled,
Loading history...
1410
            'endWhenNoModeratorDelayInMinutes'       => $this->endWhenNoModeratorDelayInMinutes,
1411
            'allowRequestsWithoutSession'            => !is_null($this->allowRequestsWithoutSession) ? ($this->allowRequestsWithoutSession ? 'true' : 'false') : $this->allowRequestsWithoutSession,
1412
            'meetingEndedURL'                        => $this->meetingEndedURL,
1413
            'breakoutRoomsEnabled'                   => !is_null($this->breakoutRoomsEnabled) ? ($this->breakoutRoomsEnabled ? 'true' : 'false') : $this->breakoutRoomsEnabled,
0 ignored issues
show
Deprecated Code introduced by
The property BigBlueButton\Parameters...::$breakoutRoomsEnabled has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

1413
            'breakoutRoomsEnabled'                   => !is_null($this->breakoutRoomsEnabled) ? ($this->breakoutRoomsEnabled ? 'true' : 'false') : /** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled,
Loading history...
1414
            'breakoutRoomsRecord'                    => !is_null($this->breakoutRoomsRecord) ? ($this->breakoutRoomsRecord ? 'true' : 'false') : $this->breakoutRoomsRecord,
1415
            'breakoutRoomsPrivateChatEnabled'        => !is_null($this->breakoutRoomsPrivateChatEnabled) ? ($this->breakoutRoomsPrivateChatEnabled ? 'true' : 'false') : $this->breakoutRoomsPrivateChatEnabled,
1416
            'endWhenNoModerator'                     => !is_null($this->endWhenNoModerator) ? ($this->endWhenNoModerator ? 'true' : 'false') : $this->endWhenNoModerator,
1417
            'meetingKeepEvents'                      => !is_null($this->meetingKeepEvents) ? ($this->meetingKeepEvents ? 'true' : 'false') : $this->meetingKeepEvents,
1418
            'meetingLayout'                          => $this->meetingLayout,
1419
            'meetingCameraCap'                       => $this->meetingCameraCap,
1420
            'userCameraCap'                          => $this->userCameraCap,
1421
            'meetingExpireIfNoUserJoinedInMinutes'   => $this->meetingExpireIfNoUserJoinedInMinutes,
1422
            'meetingExpireWhenLastUserLeftInMinutes' => $this->meetingExpireWhenLastUserLeftInMinutes,
1423
            'preUploadedPresentationOverrideDefault' => $this->preUploadedPresentationOverrideDefault,
1424
            'disabledFeatures'                       => join(',', $this->disabledFeatures),
1425
            'disabledFeaturesExclude'                => join(',', $this->disabledFeaturesExclude),
1426
            'notifyRecordingIsOn'                    => is_null($this->notifyRecordingIsOn) ? ($this->notifyRecordingIsOn ? 'true' : 'false') : $this->notifyRecordingIsOn,
1427
            'presentationUploadExternalUrl'          => $this->presentationUploadExternalUrl,
1428
            'presentationUploadExternalDescription'  => $this->presentationUploadExternalDescription,
1429
            'recordFullDurationMedia'                => !is_null($this->recordFullDurationMedia) ? ($this->recordFullDurationMedia ? 'true' : 'false') : $this->recordFullDurationMedia,
1430
        ];
1431
1432
        // Add breakout rooms parameters only if the meeting is a breakout room
1433
        if ($this->isBreakout()) {
1434
            $queries = array_merge($queries, [
1435
                'isBreakout'      => !is_null($this->isBreakout) ? ($this->isBreakout ? 'true' : 'false') : $this->isBreakout,
0 ignored issues
show
introduced by
The condition is_null($this->isBreakout) is always false.
Loading history...
1436
                'parentMeetingID' => $this->parentMeetingId,
1437
                'sequence'        => $this->sequence,
1438
                'freeJoin'        => !is_null($this->freeJoin) ? ($this->freeJoin ? 'true' : 'false') : $this->freeJoin,
1439
            ]);
1440
        } else {
1441
            $queries = array_merge($queries, [
1442
                'learningDashboardCleanupDelayInMinutes' => $this->learningDashboardCleanupDelayInMinutes,
1443
            ]);
1444
1445
            // Pre-defined groups to automatically assign the students to a given breakout room
1446
            if (!empty($this->breakoutRoomsGroups)) {
1447
                $queries = array_merge($queries, [
1448
                    'groups' => json_encode($this->breakoutRoomsGroups),
1449
                ]);
1450
            }
1451
        }
1452
1453
        $this->buildMeta($queries);
1454
1455
        return $this->buildHTTPQuery($queries);
1456
    }
1457
}
1458