Passed
Pull Request — master (#210)
by Andre
10:35
created

CreateMeetingParameters::getMeetingCameraCap()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
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
    /**
31
     * @var string
32
     */
33
    private ?string $meetingId = null;
34
35
    /**
36
     * @var string
37
     */
38
    private ?string $meetingName = null;
39
40
    /**
41
     * @var string
42
     *
43
     * @deprecated
44
     */
45
    private ?string $attendeePassword = null;
46
47
    /**
48
     * @var string
49
     *
50
     * @deprecated
51
     */
52
    private ?string $moderatorPassword = null;
53
54
    /**
55
     * @var string
56
     */
57
    private ?string $dialNumber = null;
58
59
    /**
60
     * @var int
61
     */
62
    private ?int $voiceBridge = null;
63
64
    /**
65
     * @var string
66
     */
67
    private ?string $webVoice = null;
68
69
    /**
70
     * @var string
71
     */
72
    private ?string $logoutUrl = null;
73
74
    /**
75
     * @var int
76
     */
77
    private ?int $maxParticipants = null;
78
79
    /**
80
     * @var bool
81
     */
82
    private ?bool $record = null;
83
84
    /**
85
     * @var bool
86
     */
87
    private ?bool $autoStartRecording = null;
88
89
    /**
90
     * @var bool
91
     */
92
    private ?bool $allowStartStopRecording = null;
93
94
    /**
95
     * @var int
96
     */
97
    private ?int $duration = null;
98
99
    /**
100
     * @var string
101
     */
102
    private ?string $welcomeMessage = null;
103
104
    /**
105
     * @var string
106
     */
107
    private ?string $moderatorOnlyMessage = null;
108
109
    /**
110
     * @var bool
111
     */
112
    private ?bool $webcamsOnlyForModerator = null;
113
114
    /**
115
     * @var string
116
     */
117
    private ?string $logo = null;
118
119
    /**
120
     * @var string
121
     */
122
    private ?string $copyright = null;
123
124
    /**
125
     * @var bool
126
     */
127
    private ?bool $muteOnStart = null;
128
129
    /**
130
     * @var bool
131
     */
132
    private ?bool $lockSettingsDisableCam = null;
133
134
    /**
135
     * @var bool
136
     */
137
    private ?bool $lockSettingsDisableMic = null;
138
139
    /**
140
     * @var bool
141
     */
142
    private ?bool $lockSettingsDisablePrivateChat = null;
143
144
    /**
145
     * @var bool
146
     */
147
    private ?bool $lockSettingsDisablePublicChat = null;
148
149
    /**
150
     * @var bool
151
     */
152
    private ?bool $lockSettingsDisableNote = null;
153
154
    /**
155
     * @var bool
156
     */
157
    private ?bool $lockSettingsHideUserList = null;
158
159
    /**
160
     * @var bool
161
     */
162
    private ?bool $lockSettingsLockedLayout = null;
163
164
    /**
165
     * @var bool
166
     */
167
    private ?bool $lockSettingsLockOnJoin = null;
168
169
    /**
170
     * @var bool
171
     */
172
    private ?bool $lockSettingsLockOnJoinConfigurable = null;
173
174
    /**
175
     * @var bool
176
     */
177
    private ?bool $lockSettingsHideViewersCursor = null;
178
179
    /**
180
     * @var bool
181
     */
182
    private ?bool $allowModsToUnmuteUsers = null;
183
184
    /**
185
     * @var bool
186
     */
187
    private ?bool $allowModsToEjectCameras = null;
188
189
    /**
190
     * @var bool
191
     */
192
    private ?bool $allowRequestsWithoutSession = null;
193
194
    /**
195
     * @var bool
196
     */
197
    private ?bool $isBreakout = null;
198
199
    /**
200
     * @var string
201
     */
202
    private ?string $parentMeetingId = null;
203
204
    /**
205
     * @var int
206
     */
207
    private ?int $sequence = null;
208
209
    /**
210
     * @var bool
211
     */
212
    private ?bool $freeJoin = null;
213
214
    /**
215
     * @var string
216
     */
217
    private ?string $guestPolicy = null;
218
219
    /**
220
     * @var string
221
     */
222
    private ?string $bannerText = null;
223
224
    /**
225
     * @var string
226
     */
227
    private ?string $bannerColor = null;
228
229
    /**
230
     * @deprecated
231
     *
232
     * @var bool
233
     */
234
    private ?bool $learningDashboardEnabled = null;
235
236
    /**
237
     * @deprecated
238
     *
239
     * @var bool
240
     */
241
    private ?bool $virtualBackgroundsDisabled = null;
242
243
    /**
244
     * @var int
245
     */
246
    private ?int $learningDashboardCleanupDelayInMinutes = null;
247
248
    /**
249
     * @var int
250
     */
251
    private ?int $endWhenNoModeratorDelayInMinutes = null;
252
253
    /**
254
     * @var bool
255
     */
256
    private ?bool $endWhenNoModerator = null;
257
258
    /**
259
     * @var bool
260
     */
261
    private ?bool $meetingKeepEvents = null;
262
263
    /**
264
     * @deprecated
265
     *
266
     * @var bool
267
     */
268
    private ?bool $breakoutRoomsEnabled = null;
269
270
    /**
271
     * @var bool
272
     */
273
    private ?bool $breakoutRoomsRecord = null;
274
275
    /**
276
     * @var bool
277
     */
278
    private ?bool $breakoutRoomsPrivateChatEnabled = null;
279
280
    /**
281
     * @var string
282
     */
283
    private ?string $meetingEndedURL = null;
284
285
    /**
286
     * @var string
287
     */
288
    private ?string $meetingLayout = null;
289
290
    /**
291
     * @var int
292
     */
293
    private ?int $userCameraCap = null;
294
295
    /**
296
     * @var int
297
     */
298
    private ?int $meetingCameraCap = null;
299
300
    /**
301
     * @var int
302
     */
303
    private ?int $meetingExpireIfNoUserJoinedInMinutes = null;
304
305
    /**
306
     * @var int
307
     */
308
    private ?int $meetingExpireWhenLastUserLeftInMinutes = null;
309
310
    /**
311
     * @var bool
312
     */
313
    private ?bool $preUploadedPresentationOverrideDefault = null;
314
315
    /**
316
     * @var array
317
     */
318
    private $disabledFeatures = [];
319
320
    /**
321
     * @var array
322
     */
323
    private $disabledFeaturesExclude = [];
324
325
    /**
326
     * @var bool
327
     */
328
    private ?bool $recordFullDurationMedia = null;
329
330
    /**
331
     * @var array
332
     */
333
    private $breakoutRoomsGroups = [];
334
335
    /**
336
     * @var bool
337
     */
338
    private ?bool $notifyRecordingIsOn = null;
339
340
    /**
341
     * @var string
342
     */
343
    private ?string $presentationUploadExternalUrl = null;
344
345
    /**
346
     * @var string
347
     */
348
    private ?string $presentationUploadExternalDescription = null;
349
350
    /**
351
     * CreateMeetingParameters constructor.
352
     *
353
     * @param mixed $meetingId
354
     * @param mixed $meetingName
355
     */
356
    public function __construct($meetingId = null, $meetingName = null)
357
    {
358
        $this->meetingId   = $meetingId;
359
        $this->meetingName = $meetingName;
360
    }
361
362
    /**
363
     * @return string
364
     */
365
    public function getMeetingId()
366
    {
367
        return $this->meetingId;
368
    }
369
370
    /**
371
     * @param string $meetingId
372
     *
373
     * @return CreateMeetingParameters
374
     */
375
    public function setMeetingId($meetingId)
376
    {
377
        $this->meetingId = $meetingId;
378
379
        return $this;
380
    }
381
382
    /**
383
     * @return string
384
     */
385
    public function getMeetingName()
386
    {
387
        return $this->meetingName;
388
    }
389
390
    /**
391
     * @param string $meetingName
392
     *
393
     * @return CreateMeetingParameters
394
     */
395
    public function setMeetingName($meetingName)
396
    {
397
        $this->meetingName = $meetingName;
398
399
        return $this;
400
    }
401
402
    /**
403
     * @return string
404
     *
405
     * @deprecated
406
     */
407
    public function getAttendeePassword()
408
    {
409
        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

409
        return /** @scrutinizer ignore-deprecated */ $this->attendeePassword;
Loading history...
410
    }
411
412
    /**
413
     * @param string $attendeePassword
414
     *
415
     * @return CreateMeetingParameters
416
     *
417
     * @deprecated
418
     */
419
    public function setAttendeePassword($attendeePassword)
420
    {
421
        $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

421
        /** @scrutinizer ignore-deprecated */ $this->attendeePassword = $attendeePassword;
Loading history...
422
423
        return $this;
424
    }
425
426
    /**
427
     * @return string
428
     *
429
     * @deprecated
430
     */
431
    public function getModeratorPassword()
432
    {
433
        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

433
        return /** @scrutinizer ignore-deprecated */ $this->moderatorPassword;
Loading history...
434
    }
435
436
    /**
437
     * @param string $moderatorPassword
438
     *
439
     * @return CreateMeetingParameters
440
     *
441
     * @deprecated
442
     */
443
    public function setModeratorPassword($moderatorPassword)
444
    {
445
        $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

445
        /** @scrutinizer ignore-deprecated */ $this->moderatorPassword = $moderatorPassword;
Loading history...
446
447
        return $this;
448
    }
449
450
    /**
451
     * @return string
452
     */
453
    public function getDialNumber()
454
    {
455
        return $this->dialNumber;
456
    }
457
458
    /**
459
     * @param string $dialNumber
460
     *
461
     * @return CreateMeetingParameters
462
     */
463
    public function setDialNumber($dialNumber)
464
    {
465
        $this->dialNumber = $dialNumber;
466
467
        return $this;
468
    }
469
470
    /**
471
     * @return int
472
     */
473
    public function getVoiceBridge()
474
    {
475
        return $this->voiceBridge;
476
    }
477
478
    /**
479
     * @param int $voiceBridge
480
     *
481
     * @return CreateMeetingParameters
482
     */
483
    public function setVoiceBridge($voiceBridge)
484
    {
485
        $this->voiceBridge = $voiceBridge;
486
487
        return $this;
488
    }
489
490
    /**
491
     * @return string
492
     */
493
    public function getWebVoice()
494
    {
495
        return $this->webVoice;
496
    }
497
498
    /**
499
     * @param string $webVoice
500
     *
501
     * @return CreateMeetingParameters
502
     */
503
    public function setWebVoice($webVoice)
504
    {
505
        $this->webVoice = $webVoice;
506
507
        return $this;
508
    }
509
510
    /**
511
     * @return string
512
     */
513
    public function getLogoutUrl()
514
    {
515
        return $this->logoutUrl;
516
    }
517
518
    /**
519
     * @param string $logoutUrl
520
     *
521
     * @return CreateMeetingParameters
522
     */
523
    public function setLogoutUrl($logoutUrl)
524
    {
525
        $this->logoutUrl = $logoutUrl;
526
527
        return $this;
528
    }
529
530
    /**
531
     * @return int
532
     */
533
    public function getMaxParticipants()
534
    {
535
        return $this->maxParticipants;
536
    }
537
538
    /**
539
     * @param int $maxParticipants
540
     *
541
     * @return CreateMeetingParameters
542
     */
543
    public function setMaxParticipants($maxParticipants)
544
    {
545
        $this->maxParticipants = $maxParticipants;
546
547
        return $this;
548
    }
549
550
    /**
551
     * @return null|bool
552
     */
553
    public function isRecorded()
554
    {
555
        return $this->record;
556
    }
557
558
    /**
559
     * @param bool $record
560
     *
561
     * @return CreateMeetingParameters
562
     */
563
    public function setRecord($record)
564
    {
565
        $this->record = $record;
566
567
        return $this;
568
    }
569
570
    /**
571
     * @return null|bool
572
     */
573
    public function isAutoStartRecording()
574
    {
575
        return $this->autoStartRecording;
576
    }
577
578
    /**
579
     * @param bool $autoStartRecording
580
     *
581
     * @return CreateMeetingParameters
582
     */
583
    public function setAutoStartRecording($autoStartRecording)
584
    {
585
        $this->autoStartRecording = $autoStartRecording;
586
587
        return $this;
588
    }
589
590
    /**
591
     * @return null|bool
592
     */
593
    public function isAllowStartStopRecording()
594
    {
595
        return $this->allowStartStopRecording;
596
    }
597
598
    /**
599
     * @param bool $allowStartStopRecording
600
     *
601
     * @return CreateMeetingParameters
602
     */
603
    public function setAllowStartStopRecording($allowStartStopRecording)
604
    {
605
        $this->allowStartStopRecording = $allowStartStopRecording;
606
607
        return $this;
608
    }
609
610
    /**
611
     * @return int
612
     */
613
    public function getDuration()
614
    {
615
        return $this->duration;
616
    }
617
618
    /**
619
     * @param int $duration
620
     *
621
     * @return CreateMeetingParameters
622
     */
623
    public function setDuration($duration)
624
    {
625
        $this->duration = $duration;
626
627
        return $this;
628
    }
629
630
    /**
631
     * @return string
632
     */
633
    public function getWelcomeMessage()
634
    {
635
        return $this->welcomeMessage;
636
    }
637
638
    /**
639
     * @param string $welcomeMessage
640
     *
641
     * @return CreateMeetingParameters
642
     */
643
    public function setWelcomeMessage($welcomeMessage)
644
    {
645
        $this->welcomeMessage = $welcomeMessage;
646
647
        return $this;
648
    }
649
650
    /**
651
     * @return string
652
     */
653
    public function getModeratorOnlyMessage()
654
    {
655
        return $this->moderatorOnlyMessage;
656
    }
657
658
    /**
659
     * @param string $message
660
     *
661
     * @return CreateMeetingParameters
662
     */
663
    public function setModeratorOnlyMessage($message)
664
    {
665
        $this->moderatorOnlyMessage = $message;
666
667
        return $this;
668
    }
669
670
    /**
671
     * @return null|bool
672
     */
673
    public function isWebcamsOnlyForModerator()
674
    {
675
        return $this->webcamsOnlyForModerator;
676
    }
677
678
    /**
679
     * @param bool $webcamsOnlyForModerator
680
     *
681
     * @return CreateMeetingParameters
682
     */
683
    public function setWebcamsOnlyForModerator($webcamsOnlyForModerator)
684
    {
685
        $this->webcamsOnlyForModerator = $webcamsOnlyForModerator;
686
687
        return $this;
688
    }
689
690
    /**
691
     * @return string
692
     */
693
    public function getLogo()
694
    {
695
        return $this->logo;
696
    }
697
698
    /**
699
     * @param string $logo
700
     *
701
     * @return CreateMeetingParameters
702
     */
703
    public function setLogo($logo)
704
    {
705
        $this->logo = $logo;
706
707
        return $this;
708
    }
709
710
    /**
711
     * @return string
712
     */
713
    public function getBannerText()
714
    {
715
        return $this->bannerText;
716
    }
717
718
    /**
719
     * @param string $bannerText
720
     *
721
     * @return CreateMeetingParameters
722
     */
723
    public function setBannerText($bannerText)
724
    {
725
        $this->bannerText = $bannerText;
726
727
        return $this;
728
    }
729
730
    /**
731
     * @return string
732
     */
733
    public function getBannerColor()
734
    {
735
        return $this->bannerColor;
736
    }
737
738
    /**
739
     * @param string $bannerColor
740
     *
741
     * @return CreateMeetingParameters
742
     */
743
    public function setBannerColor($bannerColor)
744
    {
745
        $this->bannerColor = $bannerColor;
746
747
        return $this;
748
    }
749
750
    /**
751
     * @deprecated
752
     *
753
     * @return bool
754
     */
755
    public function isLearningDashboardEnabled()
756
    {
757
        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

757
        return /** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled;
Loading history...
758
    }
759
760
    /**
761
     * @param bool $learningDashboardEnabled
762
     *
763
     * @deprecated
764
     *
765
     * @return CreateMeetingParameters
766
     */
767
    public function setLearningDashboardEnabled($learningDashboardEnabled)
768
    {
769
        $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

769
        /** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled = $learningDashboardEnabled;
Loading history...
770
771
        return $this;
772
    }
773
774
    /**
775
     * @deprecated
776
     */
777
    public function isVirtualBackgroundsDisabled(): bool
778
    {
779
        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

779
        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...
780
    }
781
782
    /**
783
     * @deprecated
784
     *
785
     * @param mixed $virtualBackgroundsDisabled
786
     */
787
    public function setVirtualBackgroundsDisabled($virtualBackgroundsDisabled)
788
    {
789
        $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

789
        /** @scrutinizer ignore-deprecated */ $this->virtualBackgroundsDisabled = $virtualBackgroundsDisabled;
Loading history...
790
791
        return $this;
792
    }
793
794
    /**
795
     * @return int
796
     */
797
    public function getLearningDashboardCleanupDelayInMinutes()
798
    {
799
        return $this->learningDashboardCleanupDelayInMinutes;
800
    }
801
802
    /**
803
     * @param int $learningDashboardCleanupDelayInMinutes
804
     *
805
     * @return CreateMeetingParameters
806
     */
807
    public function setLearningDashboardCleanupDelayInMinutes($learningDashboardCleanupDelayInMinutes)
808
    {
809
        $this->learningDashboardCleanupDelayInMinutes = $learningDashboardCleanupDelayInMinutes;
810
811
        return $this;
812
    }
813
814
    /**
815
     * @return int
816
     */
817
    public function getEndWhenNoModeratorDelayInMinutes()
818
    {
819
        return $this->endWhenNoModeratorDelayInMinutes;
820
    }
821
822
    /**
823
     * @param int $endWhenNoModeratorDelayInMinutes
824
     *
825
     * @return CreateMeetingParameters
826
     */
827
    public function setEndWhenNoModeratorDelayInMinutes($endWhenNoModeratorDelayInMinutes)
828
    {
829
        $this->endWhenNoModeratorDelayInMinutes = $endWhenNoModeratorDelayInMinutes;
830
831
        return $this;
832
    }
833
834
    /**
835
     * @return bool
836
     */
837
    public function isEndWhenNoModerator()
838
    {
839
        return $this->endWhenNoModerator;
840
    }
841
842
    /**
843
     * @param bool $endWhenNoModerator
844
     *
845
     * @return CreateMeetingParameters
846
     */
847
    public function setEndWhenNoModerator($endWhenNoModerator)
848
    {
849
        $this->endWhenNoModerator = $endWhenNoModerator;
850
851
        return $this;
852
    }
853
854
    /**
855
     * @return bool
856
     */
857
    public function isMeetingKeepEvents()
858
    {
859
        return $this->meetingKeepEvents;
860
    }
861
862
    /**
863
     * @param bool $meetingKeepEvents
864
     *
865
     * @return CreateMeetingParameters
866
     */
867
    public function setMeetingKeepEvents($meetingKeepEvents)
868
    {
869
        $this->meetingKeepEvents = $meetingKeepEvents;
870
871
        return $this;
872
    }
873
874
    /**
875
     * @return string
876
     */
877
    public function getCopyright()
878
    {
879
        return $this->copyright;
880
    }
881
882
    /**
883
     * @param string $copyright
884
     *
885
     * @return CreateMeetingParameters
886
     */
887
    public function setCopyright($copyright)
888
    {
889
        $this->copyright = $copyright;
890
891
        return $this;
892
    }
893
894
    /**
895
     * @return null|bool
896
     */
897
    public function isMuteOnStart()
898
    {
899
        return $this->muteOnStart;
900
    }
901
902
    /**
903
     * @param bool $muteOnStart
904
     *
905
     * @return CreateMeetingParameters
906
     */
907
    public function setMuteOnStart($muteOnStart)
908
    {
909
        $this->muteOnStart = $muteOnStart;
910
911
        return $this;
912
    }
913
914
    /**
915
     * @return null|bool
916
     */
917
    public function isLockSettingsDisableCam()
918
    {
919
        return $this->lockSettingsDisableCam;
920
    }
921
922
    /**
923
     * @param bool $lockSettingsDisableCam
924
     *
925
     * @return CreateMeetingParameters
926
     */
927
    public function setLockSettingsDisableCam($lockSettingsDisableCam)
928
    {
929
        $this->lockSettingsDisableCam = $lockSettingsDisableCam;
930
931
        return $this;
932
    }
933
934
    /**
935
     * @return null|bool
936
     */
937
    public function isLockSettingsDisableMic()
938
    {
939
        return $this->lockSettingsDisableMic;
940
    }
941
942
    /**
943
     * @param bool $lockSettingsDisableMic
944
     *
945
     * @return CreateMeetingParameters
946
     */
947
    public function setLockSettingsDisableMic($lockSettingsDisableMic)
948
    {
949
        $this->lockSettingsDisableMic = $lockSettingsDisableMic;
950
951
        return $this;
952
    }
953
954
    /**
955
     * @return null|bool
956
     */
957
    public function isLockSettingsDisablePrivateChat()
958
    {
959
        return $this->lockSettingsDisablePrivateChat;
960
    }
961
962
    /**
963
     * @param bool $lockSettingsDisablePrivateChat
964
     *
965
     * @return CreateMeetingParameters
966
     */
967
    public function setLockSettingsDisablePrivateChat($lockSettingsDisablePrivateChat)
968
    {
969
        $this->lockSettingsDisablePrivateChat = $lockSettingsDisablePrivateChat;
970
971
        return $this;
972
    }
973
974
    /**
975
     * @return null|bool
976
     */
977
    public function isLockSettingsDisablePublicChat()
978
    {
979
        return $this->lockSettingsDisablePublicChat;
980
    }
981
982
    /**
983
     * @param bool $lockSettingsDisablePublicChat
984
     *
985
     * @return CreateMeetingParameters
986
     */
987
    public function setLockSettingsDisablePublicChat($lockSettingsDisablePublicChat)
988
    {
989
        $this->lockSettingsDisablePublicChat = $lockSettingsDisablePublicChat;
990
991
        return $this;
992
    }
993
994
    /**
995
     * @return null|bool
996
     */
997
    public function isLockSettingsDisableNote()
998
    {
999
        return $this->lockSettingsDisableNote;
1000
    }
1001
1002
    /**
1003
     * @param bool $lockSettingsDisableNote
1004
     *
1005
     * @return CreateMeetingParameters
1006
     */
1007
    public function setLockSettingsDisableNote($lockSettingsDisableNote)
1008
    {
1009
        $this->lockSettingsDisableNote = $lockSettingsDisableNote;
1010
1011
        return $this;
1012
    }
1013
1014
    /**
1015
     * @return null|bool
1016
     */
1017
    public function isLockSettingsHideUserList()
1018
    {
1019
        return $this->lockSettingsHideUserList;
1020
    }
1021
1022
    /**
1023
     * @param bool $lockSettingsHideUserList
1024
     *
1025
     * @return CreateMeetingParameters
1026
     */
1027
    public function setLockSettingsHideUserList($lockSettingsHideUserList)
1028
    {
1029
        $this->lockSettingsHideUserList = $lockSettingsHideUserList;
1030
1031
        return $this;
1032
    }
1033
1034
    /**
1035
     * @return null|bool
1036
     */
1037
    public function isLockSettingsLockedLayout()
1038
    {
1039
        return $this->lockSettingsLockedLayout;
1040
    }
1041
1042
    /**
1043
     * @param bool $lockSettingsLockedLayout
1044
     *
1045
     * @return CreateMeetingParameters
1046
     */
1047
    public function setLockSettingsLockedLayout($lockSettingsLockedLayout)
1048
    {
1049
        $this->lockSettingsLockedLayout = $lockSettingsLockedLayout;
1050
1051
        return $this;
1052
    }
1053
1054
    /**
1055
     * @return null|bool
1056
     */
1057
    public function isLockSettingsLockOnJoin()
1058
    {
1059
        return $this->lockSettingsLockOnJoin;
1060
    }
1061
1062
    /**
1063
     * @param bool $lockOnJoin
1064
     *
1065
     * @return CreateMeetingParameters
1066
     */
1067
    public function setLockSettingsLockOnJoin($lockOnJoin)
1068
    {
1069
        $this->lockSettingsLockOnJoin = $lockOnJoin;
1070
1071
        return $this;
1072
    }
1073
1074
    /**
1075
     * @return null|bool
1076
     */
1077
    public function isLockSettingsLockOnJoinConfigurable()
1078
    {
1079
        return $this->lockSettingsLockOnJoinConfigurable;
1080
    }
1081
1082
    /**
1083
     * @param bool $lockOnJoinConfigurable
1084
     *
1085
     * @return CreateMeetingParameters
1086
     */
1087
    public function setLockSettingsLockOnJoinConfigurable($lockOnJoinConfigurable)
1088
    {
1089
        $this->lockSettingsLockOnJoinConfigurable = $lockOnJoinConfigurable;
1090
1091
        return $this;
1092
    }
1093
1094
    public function isLockSettingsHideViewersCursor(): bool
1095
    {
1096
        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...
1097
    }
1098
1099
    public function setLockSettingsHideViewersCursor(bool $lockSettingsHideViewersCursor)
1100
    {
1101
        $this->lockSettingsHideViewersCursor = $lockSettingsHideViewersCursor;
1102
1103
        return $this;
1104
    }
1105
1106
    /**
1107
     * @return null|bool
1108
     */
1109
    public function isAllowModsToUnmuteUsers()
1110
    {
1111
        return $this->allowModsToUnmuteUsers;
1112
    }
1113
1114
    /**
1115
     * @param bool $allowModsToUnmuteUsers
1116
     *
1117
     * @return CreateMeetingParameters
1118
     */
1119
    public function setAllowModsToUnmuteUsers($allowModsToUnmuteUsers)
1120
    {
1121
        $this->allowModsToUnmuteUsers = $allowModsToUnmuteUsers;
1122
1123
        return $this;
1124
    }
1125
1126
    public function isAllowModsToEjectCameras(): bool
1127
    {
1128
        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...
1129
    }
1130
1131
    public function setAllowModsToEjectCameras(bool $allowModsToEjectCameras): self
1132
    {
1133
        $this->allowModsToEjectCameras = $allowModsToEjectCameras;
1134
1135
        return $this;
1136
    }
1137
1138
    /**
1139
     * @param mixed $endCallbackUrl
1140
     *
1141
     * @return CreateMeetingParameters
1142
     */
1143
    public function setEndCallbackUrl($endCallbackUrl)
1144
    {
1145
        $this->addMeta('endCallbackUrl', $endCallbackUrl);
1146
1147
        return $this;
1148
    }
1149
1150
    /**
1151
     * @param mixed $recordingReadyCallbackUrl
1152
     *
1153
     * @return CreateMeetingParameters
1154
     */
1155
    public function setRecordingReadyCallbackUrl($recordingReadyCallbackUrl)
1156
    {
1157
        $this->addMeta('bbb-recording-ready-url', $recordingReadyCallbackUrl);
1158
1159
        return $this;
1160
    }
1161
1162
    /**
1163
     * @return null|bool
1164
     */
1165
    public function isBreakout()
1166
    {
1167
        return $this->isBreakout;
1168
    }
1169
1170
    /**
1171
     * @param bool $isBreakout
1172
     *
1173
     * @return CreateMeetingParameters
1174
     */
1175
    public function setBreakout($isBreakout)
1176
    {
1177
        $this->isBreakout = $isBreakout;
1178
1179
        return $this;
1180
    }
1181
1182
    /**
1183
     * @return string
1184
     */
1185
    public function getParentMeetingId()
1186
    {
1187
        return $this->parentMeetingId;
1188
    }
1189
1190
    /**
1191
     * @param string $parentMeetingId
1192
     *
1193
     * @return CreateMeetingParameters
1194
     */
1195
    public function setParentMeetingId($parentMeetingId)
1196
    {
1197
        $this->parentMeetingId = $parentMeetingId;
1198
1199
        return $this;
1200
    }
1201
1202
    /**
1203
     * @return int
1204
     */
1205
    public function getSequence()
1206
    {
1207
        return $this->sequence;
1208
    }
1209
1210
    /**
1211
     * @param int $sequence
1212
     *
1213
     * @return CreateMeetingParameters
1214
     */
1215
    public function setSequence($sequence)
1216
    {
1217
        $this->sequence = $sequence;
1218
1219
        return $this;
1220
    }
1221
1222
    /**
1223
     * @return null|bool
1224
     */
1225
    public function isFreeJoin()
1226
    {
1227
        return $this->freeJoin;
1228
    }
1229
1230
    /**
1231
     * @param bool $freeJoin
1232
     *
1233
     * @return CreateMeetingParameters
1234
     */
1235
    public function setFreeJoin($freeJoin)
1236
    {
1237
        $this->freeJoin = $freeJoin;
1238
1239
        return $this;
1240
    }
1241
1242
    /**
1243
     * @return string
1244
     */
1245
    public function getGuestPolicy()
1246
    {
1247
        return $this->guestPolicy;
1248
    }
1249
1250
    /**
1251
     * @param bool $guestPolicy
1252
     *
1253
     * @return CreateMeetingParameters
1254
     */
1255
    public function setGuestPolicy($guestPolicy)
1256
    {
1257
        $this->guestPolicy = $guestPolicy;
0 ignored issues
show
Documentation Bug introduced by
The property $guestPolicy was declared of type string, but $guestPolicy is of type boolean. Maybe add a type cast?

This check looks for assignments to scalar types that may be of the wrong type.

To ensure the code behaves as expected, it may be a good idea to add an explicit type cast.

$answer = 42;

$correct = false;

$correct = (bool) $answer;
Loading history...
1258
1259
        return $this;
1260
    }
1261
1262
    /**
1263
     * @deprecated
1264
     */
1265
    public function isBreakoutRoomsEnabled(): bool
1266
    {
1267
        return $this->breakoutRoomsEnabled;
0 ignored issues
show
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...
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

1267
        return /** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled;
Loading history...
1268
    }
1269
1270
    /**
1271
     * @deprecated
1272
     *
1273
     * @param mixed $breakoutRoomsEnabled
1274
     *
1275
     * @return CreateMeetingParameters
1276
     */
1277
    public function setBreakoutRoomsEnabled($breakoutRoomsEnabled)
1278
    {
1279
        $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

1279
        /** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled = $breakoutRoomsEnabled;
Loading history...
1280
1281
        return $this;
1282
    }
1283
1284
    public function isBreakoutRoomsRecord(): bool
1285
    {
1286
        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...
1287
    }
1288
1289
    /**
1290
     * @param bool $breakoutRoomsRecord
1291
     *
1292
     * @return $this
1293
     */
1294
    public function setBreakoutRoomsRecord($breakoutRoomsRecord)
1295
    {
1296
        $this->breakoutRoomsRecord = $breakoutRoomsRecord;
1297
1298
        return $this;
1299
    }
1300
1301
    public function isBreakoutRoomsPrivateChatEnabled()
1302
    {
1303
        return $this->breakoutRoomsPrivateChatEnabled;
1304
    }
1305
1306
    /**
1307
     * @return CreateMeetingParameters
1308
     */
1309
    public function setBreakoutRoomsPrivateChatEnabled(bool $breakoutRoomsPrivateChatEnabled)
1310
    {
1311
        $this->breakoutRoomsPrivateChatEnabled = $breakoutRoomsPrivateChatEnabled;
1312
1313
        return $this;
1314
    }
1315
1316
    public function getMeetingEndedURL(): string
1317
    {
1318
        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...
1319
    }
1320
1321
    /**
1322
     * @return CreateMeetingParameters
1323
     */
1324
    public function setMeetingEndedURL(string $meetingEndedURL)
1325
    {
1326
        $this->meetingEndedURL = $meetingEndedURL;
1327
1328
        return $this;
1329
    }
1330
1331
    /**
1332
     * @return string
1333
     */
1334
    public function getMeetingLayout()
1335
    {
1336
        return $this->meetingLayout;
1337
    }
1338
1339
    /**
1340
     * @return CreateMeetingParameters
1341
     */
1342
    public function setMeetingLayout(string $meetingLayout)
1343
    {
1344
        $this->meetingLayout = $meetingLayout;
1345
1346
        return $this;
1347
    }
1348
1349
    /**
1350
     * @return bool
1351
     */
1352
    public function isAllowRequestsWithoutSession()
1353
    {
1354
        return $this->allowRequestsWithoutSession;
1355
    }
1356
1357
    /**
1358
     * @param mixed $allowRequestsWithoutSession
1359
     *
1360
     * @return $this
1361
     */
1362
    public function setAllowRequestsWithoutSession($allowRequestsWithoutSession)
1363
    {
1364
        $this->allowRequestsWithoutSession = $allowRequestsWithoutSession;
1365
1366
        return $this;
1367
    }
1368
1369
    /**
1370
     * @return int
1371
     */
1372
    public function getUserCameraCap()
1373
    {
1374
        return $this->userCameraCap;
1375
    }
1376
1377
    /**
1378
     * @param int $userCameraCap
1379
     *
1380
     * @return CreateMeetingParameters
1381
     */
1382
    public function setUserCameraCap($userCameraCap)
1383
    {
1384
        $this->userCameraCap = $userCameraCap;
1385
1386
        return $this;
1387
    }
1388
1389
    public function getMeetingCameraCap(): int
1390
    {
1391
        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...
1392
    }
1393
1394
    public function setMeetingCameraCap(int $meetingCameraCap): CreateMeetingParameters
1395
    {
1396
        $this->meetingCameraCap = $meetingCameraCap;
1397
1398
        return $this;
1399
    }
1400
1401
    public function getMeetingExpireIfNoUserJoinedInMinutes(): int
1402
    {
1403
        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...
1404
    }
1405
1406
    public function setMeetingExpireIfNoUserJoinedInMinutes(int $meetingExpireIfNoUserJoinedInMinutes): CreateMeetingParameters
1407
    {
1408
        $this->meetingExpireIfNoUserJoinedInMinutes = $meetingExpireIfNoUserJoinedInMinutes;
1409
1410
        return $this;
1411
    }
1412
1413
    public function getMeetingExpireWhenLastUserLeftInMinutes(): int
1414
    {
1415
        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...
1416
    }
1417
1418
    public function setMeetingExpireWhenLastUserLeftInMinutes(int $meetingExpireWhenLastUserLeftInMinutes): CreateMeetingParameters
1419
    {
1420
        $this->meetingExpireWhenLastUserLeftInMinutes = $meetingExpireWhenLastUserLeftInMinutes;
1421
1422
        return $this;
1423
    }
1424
1425
    public function isPreUploadedPresentationOverrideDefault(): bool
1426
    {
1427
        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...
1428
    }
1429
1430
    public function setPreUploadedPresentationOverrideDefault(bool $preUploadedPresentationOverrideDefault): CreateMeetingParameters
1431
    {
1432
        $this->preUploadedPresentationOverrideDefault = $preUploadedPresentationOverrideDefault;
1433
1434
        return $this;
1435
    }
1436
1437
    public function getDisabledFeatures(): array
1438
    {
1439
        return $this->disabledFeatures;
1440
    }
1441
1442
    public function setDisabledFeatures(array $disabledFeatures): CreateMeetingParameters
1443
    {
1444
        $this->disabledFeatures = $disabledFeatures;
1445
1446
        return $this;
1447
    }
1448
1449
    public function getDisabledFeaturesExclude(): array
1450
    {
1451
        return $this->disabledFeaturesExclude;
1452
    }
1453
1454
    public function setDisabledFeaturesExclude(array $disabledFeaturesExclude): CreateMeetingParameters
1455
    {
1456
        $this->disabledFeaturesExclude = $disabledFeaturesExclude;
1457
1458
        return $this;
1459
    }
1460
1461
    public function getRecordFullDurationMedia(): bool
1462
    {
1463
        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...
1464
    }
1465
1466
    public function setRecordFullDurationMedia(bool $recordFullDurationMedia): CreateMeetingParameters
1467
    {
1468
        $this->recordFullDurationMedia = $recordFullDurationMedia;
1469
1470
        return $this;
1471
    }
1472
1473
    public function getBreakoutRoomsGroups(): array
1474
    {
1475
        return $this->breakoutRoomsGroups;
1476
    }
1477
1478
    /**
1479
     * @param mixed $id
1480
     * @param mixed $name
1481
     * @param mixed $roster
1482
     *
1483
     * @return $this
1484
     */
1485
    public function addBreakoutRoomsGroup($id, $name, $roster)
1486
    {
1487
        $this->breakoutRoomsGroups[] = ['id' => $id, 'name' => $name, 'roster' => $roster];
1488
1489
        return $this;
1490
    }
1491
1492
    public function getNotifyRecordingIsOn(): bool
1493
    {
1494
        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...
1495
    }
1496
1497
    /**
1498
     * @return $this
1499
     */
1500
    public function setNotifyRecordingIsOn(bool $notifyRecordingIsOn): CreateMeetingParameters
1501
    {
1502
        $this->notifyRecordingIsOn = $notifyRecordingIsOn;
1503
1504
        return $this;
1505
    }
1506
1507
    public function getPresentationUploadExternalUrl(): string
1508
    {
1509
        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...
1510
    }
1511
1512
    /**
1513
     * @return $this
1514
     */
1515
    public function setPresentationUploadExternalUrl(string $presentationUploadExternalUrl): CreateMeetingParameters
1516
    {
1517
        $this->presentationUploadExternalUrl = $presentationUploadExternalUrl;
1518
1519
        return $this;
1520
    }
1521
1522
    public function getPresentationUploadExternalDescription(): string
1523
    {
1524
        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...
1525
    }
1526
1527
    /**
1528
     * @return $this
1529
     */
1530
    public function setPresentationUploadExternalDescription(string $presentationUploadExternalDescription): CreateMeetingParameters
1531
    {
1532
        $this->presentationUploadExternalDescription = $presentationUploadExternalDescription;
1533
1534
        return $this;
1535
    }
1536
1537
    /**
1538
     * @return string
1539
     */
1540
    public function getHTTPQuery()
1541
    {
1542
        $queries = [
1543
            'name'                                   => $this->meetingName,
1544
            'meetingID'                              => $this->meetingId,
1545
            '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

1545
            'attendeePW'                             => /** @scrutinizer ignore-deprecated */ $this->attendeePassword,
Loading history...
1546
            '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

1546
            'moderatorPW'                            => /** @scrutinizer ignore-deprecated */ $this->moderatorPassword,
Loading history...
1547
            'dialNumber'                             => $this->dialNumber,
1548
            'voiceBridge'                            => $this->voiceBridge,
1549
            'webVoice'                               => $this->webVoice,
1550
            'logoutURL'                              => $this->logoutUrl,
1551
            'record'                                 => !is_null($this->record) ? ($this->record ? 'true' : 'false') : $this->record,
1552
            'duration'                               => $this->duration,
1553
            'maxParticipants'                        => $this->maxParticipants,
1554
            'autoStartRecording'                     => !is_null($this->autoStartRecording) ? ($this->autoStartRecording ? 'true' : 'false') : $this->autoStartRecording,
1555
            'allowStartStopRecording'                => !is_null($this->allowStartStopRecording) ? ($this->allowStartStopRecording ? 'true' : 'false') : $this->allowStartStopRecording,
1556
            '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

1556
            'welcome'                                => trim(/** @scrutinizer ignore-type */ $this->welcomeMessage),
Loading history...
1557
            'moderatorOnlyMessage'                   => trim($this->moderatorOnlyMessage),
1558
            'webcamsOnlyForModerator'                => !is_null($this->webcamsOnlyForModerator) ? ($this->webcamsOnlyForModerator ? 'true' : 'false') : $this->webcamsOnlyForModerator,
1559
            'logo'                                   => $this->logo,
1560
            'copyright'                              => $this->copyright,
1561
            'muteOnStart'                            => !is_null($this->muteOnStart) ? ($this->muteOnStart ? 'true' : 'false') : $this->muteOnStart,
1562
            'guestPolicy'                            => $this->guestPolicy,
1563
            'lockSettingsDisableCam'                 => !is_null($this->lockSettingsDisableCam) ? ($this->lockSettingsDisableCam ? 'true' : 'false') : $this->lockSettingsDisableCam,
1564
            'lockSettingsDisableMic'                 => !is_null($this->lockSettingsDisableMic) ? ($this->lockSettingsDisableMic ? 'true' : 'false') : $this->lockSettingsDisableMic,
1565
            'lockSettingsDisablePrivateChat'         => !is_null($this->lockSettingsDisablePrivateChat) ? ($this->lockSettingsDisablePrivateChat ? 'true' : 'false') : $this->lockSettingsDisablePrivateChat,
1566
            'lockSettingsDisablePublicChat'          => !is_null($this->lockSettingsDisablePublicChat) ? ($this->lockSettingsDisablePublicChat ? 'true' : 'false') : $this->lockSettingsDisablePublicChat,
1567
            'lockSettingsDisableNote'                => !is_null($this->lockSettingsDisableNote) ? ($this->lockSettingsDisableNote ? 'true' : 'false') : $this->lockSettingsDisableNote,
1568
            'lockSettingsHideUserList'               => !is_null($this->lockSettingsHideUserList) ? ($this->lockSettingsHideUserList ? 'true' : 'false') : $this->lockSettingsHideUserList,
1569
            'lockSettingsLockedLayout'               => !is_null($this->lockSettingsLockedLayout) ? ($this->lockSettingsLockedLayout ? 'true' : 'false') : $this->lockSettingsLockedLayout,
1570
            'lockSettingsLockOnJoin'                 => !is_null($this->lockSettingsLockOnJoin) ? ($this->lockSettingsLockOnJoin ? 'true' : 'false') : $this->lockSettingsLockOnJoin,
1571
            'lockSettingsLockOnJoinConfigurable'     => !is_null($this->lockSettingsLockOnJoinConfigurable) ? ($this->lockSettingsLockOnJoinConfigurable ? 'true' : 'false') : $this->lockSettingsLockOnJoinConfigurable,
1572
            'lockSettingsHideViewersCursor'          => !is_null($this->lockSettingsHideViewersCursor) ? ($this->lockSettingsHideViewersCursor ? 'true' : 'false') : $this->lockSettingsHideViewersCursor,
1573
            'allowModsToUnmuteUsers'                 => !is_null($this->allowModsToUnmuteUsers) ? ($this->allowModsToUnmuteUsers ? 'true' : 'false') : $this->allowModsToUnmuteUsers,
1574
            'allowModsToEjectCameras'                => !is_null($this->allowModsToEjectCameras) ? ($this->allowModsToEjectCameras ? 'true' : 'false') : $this->allowModsToEjectCameras,
1575
            'bannerText'                             => trim($this->bannerText),
1576
            'bannerColor'                            => trim($this->bannerColor),
1577
            '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

1577
            'learningDashboardEnabled'               => !is_null($this->learningDashboardEnabled) ? (/** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled ? 'true' : 'false') : $this->learningDashboardEnabled,
Loading history...
1578
            '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

1578
            'virtualBackgroundsDisabled'             => !is_null(/** @scrutinizer ignore-deprecated */ $this->virtualBackgroundsDisabled) ? ($this->virtualBackgroundsDisabled ? 'true' : 'false') : $this->virtualBackgroundsDisabled,
Loading history...
1579
            'endWhenNoModeratorDelayInMinutes'       => $this->endWhenNoModeratorDelayInMinutes,
1580
            'allowRequestsWithoutSession'            => !is_null($this->allowRequestsWithoutSession) ? ($this->allowRequestsWithoutSession ? 'true' : 'false') : $this->allowRequestsWithoutSession,
1581
            'meetingEndedURL'                        => $this->meetingEndedURL,
1582
            '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

1582
            'breakoutRoomsEnabled'                   => !is_null(/** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled) ? ($this->breakoutRoomsEnabled ? 'true' : 'false') : $this->breakoutRoomsEnabled,
Loading history...
1583
            'breakoutRoomsRecord'                    => !is_null($this->breakoutRoomsRecord) ? ($this->breakoutRoomsRecord ? 'true' : 'false') : $this->breakoutRoomsRecord,
1584
            'breakoutRoomsPrivateChatEnabled'        => !is_null($this->breakoutRoomsPrivateChatEnabled) ? ($this->breakoutRoomsPrivateChatEnabled ? 'true' : 'false') : $this->breakoutRoomsPrivateChatEnabled,
1585
            'endWhenNoModerator'                     => !is_null($this->endWhenNoModerator) ? ($this->endWhenNoModerator ? 'true' : 'false') : $this->endWhenNoModerator,
1586
            'meetingKeepEvents'                      => !is_null($this->meetingKeepEvents) ? ($this->meetingKeepEvents ? 'true' : 'false') : $this->meetingKeepEvents,
1587
            'meetingLayout'                          => $this->meetingLayout,
1588
            'meetingCameraCap'                       => $this->meetingCameraCap,
1589
            'userCameraCap'                          => $this->userCameraCap,
1590
            'meetingExpireIfNoUserJoinedInMinutes'   => $this->meetingExpireIfNoUserJoinedInMinutes,
1591
            'meetingExpireWhenLastUserLeftInMinutes' => $this->meetingExpireWhenLastUserLeftInMinutes,
1592
            'preUploadedPresentationOverrideDefault' => $this->preUploadedPresentationOverrideDefault,
1593
            'disabledFeatures'                       => join(',', $this->disabledFeatures),
1594
            'disabledFeaturesExclude'                => join(',', $this->disabledFeaturesExclude),
1595
            'notifyRecordingIsOn'                    => is_null($this->notifyRecordingIsOn) ? ($this->notifyRecordingIsOn ? 'true' : 'false') : $this->notifyRecordingIsOn,
1596
            'presentationUploadExternalUrl'          => $this->presentationUploadExternalUrl,
1597
            'presentationUploadExternalDescription'  => $this->presentationUploadExternalDescription,
1598
            'recordFullDurationMedia'                => !is_null($this->recordFullDurationMedia) ? ($this->recordFullDurationMedia ? 'true' : 'false') : $this->recordFullDurationMedia,
1599
        ];
1600
1601
        // Add breakout rooms parameters only if the meeting is a breakout room
1602
        if ($this->isBreakout()) {
1603
            $queries = array_merge($queries, [
1604
                '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...
1605
                'parentMeetingID' => $this->parentMeetingId,
1606
                'sequence'        => $this->sequence,
1607
                'freeJoin'        => !is_null($this->freeJoin) ? ($this->freeJoin ? 'true' : 'false') : $this->freeJoin,
1608
            ]);
1609
        } else {
1610
            $queries = array_merge($queries, [
1611
                'learningDashboardCleanupDelayInMinutes' => $this->learningDashboardCleanupDelayInMinutes,
1612
            ]);
1613
1614
            // Pre-defined groups to automatically assign the students to a given breakout room
1615
            if (!empty($this->breakoutRoomsGroups)) {
1616
                $queries = array_merge($queries, [
1617
                    'groups' => json_encode($this->breakoutRoomsGroups),
1618
                ]);
1619
            }
1620
        }
1621
1622
        $this->buildMeta($queries);
1623
1624
        return $this->buildHTTPQuery($queries);
1625
    }
1626
}
1627