Completed
Push — master ( 8a68b2...4d731c )
by Ghazi
17s queued 13s
created

CreateMeetingParameters::getHTTPQuery()   D

Complexity

Conditions 59
Paths 0

Size

Total Lines 83
Code Lines 69

Duplication

Lines 0
Ratio 0 %

Importance

Changes 7
Bugs 0 Features 3
Metric Value
eloc 69
c 7
b 0
f 3
dl 0
loc 83
rs 4.1666
cc 59
nc 0
nop 0

How to fix   Long Method    Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

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 $breakoutRoomsGroups = [];
324
325
    /**
326
     * @var bool
327
     */
328
    private ?bool $notifyRecordingIsOn = null;
329
330
    /**
331
     * @var string
332
     */
333
    private ?string $presentationUploadExternalUrl = null;
334
335
    /**
336
     * @var string
337
     */
338
    private ?string $presentationUploadExternalDescription = null;
339
340
    /**
341
     * CreateMeetingParameters constructor.
342
     *
343
     * @param mixed $meetingId
344
     * @param mixed $meetingName
345
     */
346
    public function __construct($meetingId = null, $meetingName = null)
347
    {
348
        $this->meetingId   = $meetingId;
349
        $this->meetingName = $meetingName;
350
    }
351
352
    /**
353
     * @return string
354
     */
355
    public function getMeetingId()
356
    {
357
        return $this->meetingId;
358
    }
359
360
    /**
361
     * @param string $meetingId
362
     *
363
     * @return CreateMeetingParameters
364
     */
365
    public function setMeetingId($meetingId)
366
    {
367
        $this->meetingId = $meetingId;
368
369
        return $this;
370
    }
371
372
    /**
373
     * @return string
374
     */
375
    public function getMeetingName()
376
    {
377
        return $this->meetingName;
378
    }
379
380
    /**
381
     * @param string $meetingName
382
     *
383
     * @return CreateMeetingParameters
384
     */
385
    public function setMeetingName($meetingName)
386
    {
387
        $this->meetingName = $meetingName;
388
389
        return $this;
390
    }
391
392
    /**
393
     * @return string
394
     *
395
     * @deprecated
396
     */
397
    public function getAttendeePassword()
398
    {
399
        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

399
        return /** @scrutinizer ignore-deprecated */ $this->attendeePassword;
Loading history...
400
    }
401
402
    /**
403
     * @param string $attendeePassword
404
     *
405
     * @return CreateMeetingParameters
406
     *
407
     * @deprecated
408
     */
409
    public function setAttendeePassword($attendeePassword)
410
    {
411
        $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

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

423
        return /** @scrutinizer ignore-deprecated */ $this->moderatorPassword;
Loading history...
424
    }
425
426
    /**
427
     * @param string $moderatorPassword
428
     *
429
     * @return CreateMeetingParameters
430
     *
431
     * @deprecated
432
     */
433
    public function setModeratorPassword($moderatorPassword)
434
    {
435
        $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

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

747
        return /** @scrutinizer ignore-deprecated */ $this->learningDashboardEnabled;
Loading history...
748
    }
749
750
    /**
751
     * @param bool $learningDashboardEnabled
752
     *
753
     * @deprecated
754
     *
755
     * @return CreateMeetingParameters
756
     */
757
    public function setLearningDashboardEnabled($learningDashboardEnabled)
758
    {
759
        $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

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

769
        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...
770
    }
771
772
    /**
773
     * @deprecated
774
     *
775
     * @param mixed $virtualBackgroundsDisabled
776
     */
777
    public function setVirtualBackgroundsDisabled($virtualBackgroundsDisabled)
778
    {
779
        $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

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

1257
        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...
1258
    }
1259
1260
    /**
1261
     * @deprecated
1262
     *
1263
     * @param mixed $breakoutRoomsEnabled
1264
     *
1265
     * @return CreateMeetingParameters
1266
     */
1267
    public function setBreakoutRoomsEnabled($breakoutRoomsEnabled)
1268
    {
1269
        $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

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

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

1512
            'moderatorPW'                            => /** @scrutinizer ignore-deprecated */ $this->moderatorPassword,
Loading history...
1513
            'dialNumber'                             => $this->dialNumber,
1514
            'voiceBridge'                            => $this->voiceBridge,
1515
            'webVoice'                               => $this->webVoice,
1516
            'logoutURL'                              => $this->logoutUrl,
1517
            'record'                                 => !is_null($this->record) ? ($this->record ? 'true' : 'false') : $this->record,
1518
            'duration'                               => $this->duration,
1519
            'maxParticipants'                        => $this->maxParticipants,
1520
            'autoStartRecording'                     => !is_null($this->autoStartRecording) ? ($this->autoStartRecording ? 'true' : 'false') : $this->autoStartRecording,
1521
            'allowStartStopRecording'                => !is_null($this->allowStartStopRecording) ? ($this->allowStartStopRecording ? 'true' : 'false') : $this->allowStartStopRecording,
1522
            '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

1522
            'welcome'                                => trim(/** @scrutinizer ignore-type */ $this->welcomeMessage),
Loading history...
1523
            'moderatorOnlyMessage'                   => trim($this->moderatorOnlyMessage),
1524
            'webcamsOnlyForModerator'                => !is_null($this->webcamsOnlyForModerator) ? ($this->webcamsOnlyForModerator ? 'true' : 'false') : $this->webcamsOnlyForModerator,
1525
            'logo'                                   => $this->logo,
1526
            'copyright'                              => $this->copyright,
1527
            'muteOnStart'                            => !is_null($this->muteOnStart) ? ($this->muteOnStart ? 'true' : 'false') : $this->muteOnStart,
1528
            'guestPolicy'                            => $this->guestPolicy,
1529
            'lockSettingsDisableCam'                 => !is_null($this->lockSettingsDisableCam) ? ($this->lockSettingsDisableCam ? 'true' : 'false') : $this->lockSettingsDisableCam,
1530
            'lockSettingsDisableMic'                 => !is_null($this->lockSettingsDisableMic) ? ($this->lockSettingsDisableMic ? 'true' : 'false') : $this->lockSettingsDisableMic,
1531
            'lockSettingsDisablePrivateChat'         => !is_null($this->lockSettingsDisablePrivateChat) ? ($this->lockSettingsDisablePrivateChat ? 'true' : 'false') : $this->lockSettingsDisablePrivateChat,
1532
            'lockSettingsDisablePublicChat'          => !is_null($this->lockSettingsDisablePublicChat) ? ($this->lockSettingsDisablePublicChat ? 'true' : 'false') : $this->lockSettingsDisablePublicChat,
1533
            'lockSettingsDisableNote'                => !is_null($this->lockSettingsDisableNote) ? ($this->lockSettingsDisableNote ? 'true' : 'false') : $this->lockSettingsDisableNote,
1534
            'lockSettingsHideUserList'               => !is_null($this->lockSettingsHideUserList) ? ($this->lockSettingsHideUserList ? 'true' : 'false') : $this->lockSettingsHideUserList,
1535
            'lockSettingsLockedLayout'               => !is_null($this->lockSettingsLockedLayout) ? ($this->lockSettingsLockedLayout ? 'true' : 'false') : $this->lockSettingsLockedLayout,
1536
            'lockSettingsLockOnJoin'                 => !is_null($this->lockSettingsLockOnJoin) ? ($this->lockSettingsLockOnJoin ? 'true' : 'false') : $this->lockSettingsLockOnJoin,
1537
            'lockSettingsLockOnJoinConfigurable'     => !is_null($this->lockSettingsLockOnJoinConfigurable) ? ($this->lockSettingsLockOnJoinConfigurable ? 'true' : 'false') : $this->lockSettingsLockOnJoinConfigurable,
1538
            'lockSettingsHideViewersCursor'          => !is_null($this->lockSettingsHideViewersCursor) ? ($this->lockSettingsHideViewersCursor ? 'true' : 'false') : $this->lockSettingsHideViewersCursor,
1539
            'allowModsToUnmuteUsers'                 => !is_null($this->allowModsToUnmuteUsers) ? ($this->allowModsToUnmuteUsers ? 'true' : 'false') : $this->allowModsToUnmuteUsers,
1540
            'allowModsToEjectCameras'                => !is_null($this->allowModsToEjectCameras) ? ($this->allowModsToEjectCameras ? 'true' : 'false') : $this->allowModsToEjectCameras,
1541
            'bannerText'                             => trim($this->bannerText),
1542
            'bannerColor'                            => trim($this->bannerColor),
1543
            '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

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

1544
            'virtualBackgroundsDisabled'             => !is_null(/** @scrutinizer ignore-deprecated */ $this->virtualBackgroundsDisabled) ? ($this->virtualBackgroundsDisabled ? 'true' : 'false') : $this->virtualBackgroundsDisabled,
Loading history...
1545
            'endWhenNoModeratorDelayInMinutes'       => $this->endWhenNoModeratorDelayInMinutes,
1546
            'allowRequestsWithoutSession'            => !is_null($this->allowRequestsWithoutSession) ? ($this->allowRequestsWithoutSession ? 'true' : 'false') : $this->allowRequestsWithoutSession,
1547
            'meetingEndedURL'                        => $this->meetingEndedURL,
1548
            '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

1548
            'breakoutRoomsEnabled'                   => !is_null(/** @scrutinizer ignore-deprecated */ $this->breakoutRoomsEnabled) ? ($this->breakoutRoomsEnabled ? 'true' : 'false') : $this->breakoutRoomsEnabled,
Loading history...
1549
            'breakoutRoomsRecord'                    => !is_null($this->breakoutRoomsRecord) ? ($this->breakoutRoomsRecord ? 'true' : 'false') : $this->breakoutRoomsRecord,
1550
            'breakoutRoomsPrivateChatEnabled'        => !is_null($this->breakoutRoomsPrivateChatEnabled) ? ($this->breakoutRoomsPrivateChatEnabled ? 'true' : 'false') : $this->breakoutRoomsPrivateChatEnabled,
1551
            'endWhenNoModerator'                     => !is_null($this->endWhenNoModerator) ? ($this->endWhenNoModerator ? 'true' : 'false') : $this->endWhenNoModerator,
1552
            'meetingKeepEvents'                      => !is_null($this->meetingKeepEvents) ? ($this->meetingKeepEvents ? 'true' : 'false') : $this->meetingKeepEvents,
1553
            'meetingLayout'                          => $this->meetingLayout,
1554
            'meetingCameraCap'                       => $this->meetingCameraCap,
1555
            'userCameraCap'                          => $this->userCameraCap,
1556
            'meetingExpireIfNoUserJoinedInMinutes'   => $this->meetingExpireIfNoUserJoinedInMinutes,
1557
            'meetingExpireWhenLastUserLeftInMinutes' => $this->meetingExpireWhenLastUserLeftInMinutes,
1558
            'preUploadedPresentationOverrideDefault' => $this->preUploadedPresentationOverrideDefault,
1559
            'disabledFeatures'                       => join(',', $this->disabledFeatures),
1560
            'notifyRecordingIsOn'                    => is_null($this->notifyRecordingIsOn) ? ($this->notifyRecordingIsOn ? 'true' : 'false') : $this->notifyRecordingIsOn,
1561
            'presentationUploadExternalUrl'          => $this->presentationUploadExternalUrl,
1562
            'presentationUploadExternalDescription'  => $this->presentationUploadExternalDescription,
1563
        ];
1564
1565
        // Add breakout rooms parameters only if the meeting is a breakout room
1566
        if ($this->isBreakout()) {
1567
            $queries = array_merge($queries, [
1568
                '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...
1569
                'parentMeetingID' => $this->parentMeetingId,
1570
                'sequence'        => $this->sequence,
1571
                'freeJoin'        => !is_null($this->freeJoin) ? ($this->freeJoin ? 'true' : 'false') : $this->freeJoin,
1572
            ]);
1573
        } else {
1574
            $queries = array_merge($queries, [
1575
                'learningDashboardCleanupDelayInMinutes' => $this->learningDashboardCleanupDelayInMinutes,
1576
            ]);
1577
1578
            // Pre-defined groups to automatically assign the students to a given breakout room
1579
            if (!empty($this->breakoutRoomsGroups)) {
1580
                $queries = array_merge($queries, [
1581
                    'groups' => json_encode($this->breakoutRoomsGroups),
1582
                ]);
1583
            }
1584
        }
1585
1586
        $this->buildMeta($queries);
1587
1588
        return $this->buildHTTPQuery($queries);
1589
    }
1590
}
1591