Completed
Push — master ( 5d5473...3f41e3 )
by Luca
02:37
created

ChatRoomPayload::getModificationDate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * OpenFireRestAPI is based entirely on official documentation of the REST API
4
 * Plugin and you can extend it by following the directives of the documentation
5
 *
6
 * For the full copyright and license information, please read the LICENSE
7
 * file that was distributed with this source code. For the full list of
8
 * contributors, visit https://github.com/gnello/PHPOpenFireRestAPI/contributors
9
 *
10
 * @author Luca Agnello <[email protected]>
11
 * @link https://www.igniterealtime.org/projects/openfire/plugins/restapi/readme.html
12
 */
13
14
namespace Gnello\OpenFireRestAPI\Payloads;
15
16
/**
17
 * Payload of Group related REST Endpoint
18
 * Class ChatRoomPayload
19
 * @package Gnello\OpenFireRestAPI\Payloads
20
 * @link http://www.igniterealtime.org/projects/openfire/plugins/restapi/readme.html#chat-room-related-rest-endpoints
21
 */
22
class ChatRoomPayload extends AbstractPayload
23
{
24
    /**
25
     * The name/id of the room. Can only contains lowercase and alphanumeric characters.
26
     * Optional No
27
     * @var string
28
     */
29
    private $roomName;
30
31
    /**
32
     * Also the name of the room, but can contains non alphanumeric characters. It’s mainly
33
     * used for users while discovering rooms hosted by the Multi-User Chat service.
34
     * Optional No
35
     * @var string
36
     */
37
    private $naturalName;
38
39
    /**
40
     * Description text of the room.
41
     * Optional No
42
     * @var string
43
     */
44
    private $description;
45
46
    /**
47
     * Subject of the room.
48
     * Optional Yes
49
     * @var string
50
     */
51
    private $subject;
52
53
    /**
54
     * The password that the user must provide to enter the room
55
     * Optional Yes
56
     * @var string
57
     */
58
    private $password;
59
60
    /**
61
     * The date when the room was created. Will be automatically set by creation.
62
     * Example: 2014-07-10T09:49:12.411+02:00
63
     * Optional Yes
64
     *
65
     * @var string
66
     */
67
    private $creationDate;
68
69
    /**
70
     * The last date when the room’s configuration was modified. If the room’s configuration
71
     * was never modified then the initial value will be the same as the creation date.
72
     * Will be automatically set by update. Example: 2014-07-10T09:49:12.411+02:00
73
     * Optional Yes
74
     * @var string
75
     */
76
    private $modificationDate;
77
78
    /**
79
     * The maximum number of occupants that can be simultaneously in the room.
80
     * 0 means unlimited number of occupants.
81
     * Optional Yes
82
     * @var integer
83
     */
84
    private $maxUsers;
85
86
    /**
87
     * Can be “true” or “false”. Persistent rooms are saved to the database to make
88
     * their configurations persistent together with the affiliation of the users.
89
     * Otherwise the room will be destroyed if the last occupant leave the room.
90
     * Optional Yes
91
     * @var bool
92
     */
93
    private $persistent;
94
95
    /**
96
     * Can be “true” or “false”. True if the room is searchable and visible through
97
     * service discovery.
98
     * Optional Yes
99
     * @var bool
100
     */
101
    private $publicRoom;
102
103
    /**
104
     * Can be “true” or “false”. True if users are allowed to register with the room.
105
     * By default, room registration is enabled.
106
     * Optional Yes
107
     * @var bool
108
     */
109
    private $registrationEnabled;
110
111
    /**
112
     * Can be “true” or “false”. True if every presence packet will include the JID
113
     * of every occupant.
114
     * Optional Yes
115
     * @var bool
116
     */
117
    private $canAnyoneDiscoverJID;
118
119
    /**
120
     * Can be “true” or “false”. True if participants are allowed to change the room’s subject.
121
     * Optional Yes
122
     * @var bool
123
     */
124
    private $canOccupantsChangeSubject;
125
126
    /**
127
     * Can be “true” or “false”. True if occupants can invite other users to the room.
128
     * If the room does not require an invitation to enter (i.e. is not members-only)
129
     * then any occupant can send invitations. On the other hand, if the room is members-only
130
     * and occupants cannot send invitation then only the room owners and admins are allowed
131
     * to send invitations.
132
     * Optional Yes
133
     * @var bool
134
     */
135
    private $canOccupantsInvite;
136
137
    /**
138
     * Can be “true” or “false”. True if room occupants are allowed to change their nicknames
139
     * in the room. By default, occupants are allowed to change their nicknames.
140
     * Optional Yes
141
     * @var bool
142
     */
143
    private $canChangeNickname;
144
145
    /**
146
     * Can be “true” or “false”. True if the room’s conversation is being logged. If logging
147
     * is activated the room conversation will be saved to the database every couple of minutes.
148
     * The saving frequency is the same for all the rooms and can be configured by changing
149
     * the property “xmpp.muc.tasks.log.timeout”.
150
     * Optional Yes
151
     * @var bool
152
     */
153
    private $logEnabled;
154
155
    /**
156
     * Can be “true” or “false”. True if registered users can only join the room using their
157
     * registered nickname. By default, registered users can join the room using any nickname.
158
     * Optional Yes
159
     * @var bool
160
     */
161
    private $loginRestrictedToNickname;
162
163
    /**
164
     * Can be “true” or “false”. True if the room requires an invitation to enter.
165
     * That is if the room is members-only.
166
     * Optional Yes
167
     * @var bool
168
     */
169
    private $membersOnly;
170
171
    /**
172
     * Can be “true” or “false”. True if the room in which only those with “voice”
173
     * may send messages to all occupants.
174
     * Optional Yes
175
     * @var bool
176
     */
177
    private $moderated;
178
179
    /**
180
     * The list of roles of which presence will be broadcasted to the rest of the occupants.
181
     * Optional Yes
182
     * @var array
183
     */
184
    private $broadcastPresenceRoles;
185
186
    /**
187
     * A collection with the current list of owners. The collection contains the bareJID
188
     * of the users with owner affiliation.
189
     * Optional Yes
190
     * @var array
191
     */
192
    private $owners;
193
194
    /**
195
     * A collection with the current list of admins. The collection contains
196
     * the bareJID of the users with admin affiliation.
197
     * Optional Yes
198
     * @var array
199
     */
200
    private $admins;
201
202
    /**
203
     * A collection with the current list of room members. The collection
204
     * contains the bareJID of the users with member affiliation. If the
205
     * room is not members-only then the list will contain the users that
206
     * registered with the room and therefore they may have reserved a nickname.
207
     * Optional Yes
208
     * @var array
209
     */
210
    private $members;
211
212
    /**
213
     * A collection with the current list of outcast users. An outcast user
214
     * is not allowed to join the room again. The collection contains the
215
     * bareJID of the users with outcast affiliation.
216
     * Optional Yes
217
     * @var array
218
     */
219
    private $outcasts;
220
221
    /**
222
     * A collection with the current list of groups with owner affiliation.
223
     * The collection contains the name only.
224
     * Optional Yes
225
     * @var array
226
     */
227
    private $ownerGroups;
228
229
    /**
230
     * A collection with the current list of groups with admin affiliation.
231
     * The collection contains the name only.
232
     * Optional Yes
233
     * @var array
234
     */
235
    private $adminGroups;
236
237
    /**
238
     * 	A collection with the current list of groups with member affiliation.
239
     * The collection contains the name only.
240
     * Optional Yes
241
     * @var array
242
     */
243
    private $memberGroups;
244
245
    /**
246
     * A collection with the current list of groups with outcast affiliation.
247
     * The collection contains the name only.
248
     * Optional Yes
249
     * @var array
250
     */
251
    private $outcastGroups;
252
    
253
    /**
254
     * @param $roomName
255
     */
256
    public function setRoomName($roomName)
257
    {
258
        $this->roomName = $roomName;
259
    }
260
261
    /**
262
     * @param $naturalName
263
     */
264
    public function setNaturalName($naturalName)
265
    {
266
        $this->naturalName = $naturalName;
267
    }
268
269
    /**
270
     * @param $description
271
     */
272
    public function setDescription($description)
273
    {
274
        $this->description = $description;
275
    }
276
277
    /**
278
     * @param $subject
279
     */
280
    public function setSubject($subject)
281
    {
282
        $this->subject = $subject;
283
    }
284
285
    /**
286
     * @param $password
287
     */
288
    public function setPassword($password)
289
    {
290
        $this->password = $password;
291
    }
292
293
    /**
294
     * @param $creationDate
295
     */
296
    public function setCreationDate($creationDate)
297
    {
298
        $this->creationDate = $creationDate;
299
    }
300
301
    /**
302
     * @param $modificationDate
303
     */
304
    public function setModificationDate($modificationDate)
305
    {
306
        $this->modificationDate = $modificationDate;
307
    }
308
309
    /**
310
     * @param $maxUsers
311
     */
312
    public function setMaxUsers($maxUsers)
313
    {
314
        $this->maxUsers = $maxUsers;
315
    }
316
317
    /**
318
     * @param $persistent
319
     */
320
    public function setPersistent($persistent)
321
    {
322
        $this->persistent = $persistent;
323
    }
324
325
    /**
326
     * @param $publicRoom
327
     */
328
    public function setPublicRoom($publicRoom)
329
    {
330
        $this->publicRoom = $publicRoom;
331
    }
332
333
    /**
334
     * @param $registrationEnabled
335
     */
336
    public function setRegistrationEnabled($registrationEnabled)
337
    {
338
        $this->registrationEnabled = $registrationEnabled;
339
    }
340
341
    /**
342
     * @param $canAnyoneDiscoverJID
343
     */
344
    public function setCanAnyoneDiscoverJID($canAnyoneDiscoverJID)
345
    {
346
        $this->canAnyoneDiscoverJID = $canAnyoneDiscoverJID;
347
    }
348
349
    /**
350
     * @param $canOccupantsChangeSubject
351
     */
352
    public function setCanOccupantsChangeSubject($canOccupantsChangeSubject)
353
    {
354
        $this->canOccupantsChangeSubject = $canOccupantsChangeSubject;
355
    }
356
357
    /**
358
     * @param $canOccupantsInvite
359
     */
360
    public function setCanOccupantsInvite($canOccupantsInvite)
361
    {
362
        $this->canOccupantsInvite = $canOccupantsInvite;
363
    }
364
365
    /**
366
     * @param $canChangeNickname
367
     */
368
    public function setCanChangeNickname($canChangeNickname)
369
    {
370
        $this->canChangeNickname = $canChangeNickname;
371
    }
372
373
    /**
374
     * @param $logEnabled
375
     */
376
    public function setLogEnabled($logEnabled)
377
    {
378
        $this->logEnabled = $logEnabled;
379
    }
380
381
    /**
382
     * @param $loginRestrictedToNickname
383
     */
384
    public function setLoginRestrictedToNickname($loginRestrictedToNickname)
385
    {
386
        $this->loginRestrictedToNickname = $loginRestrictedToNickname;
387
    }
388
389
    /**
390
     * @param $membersOnly
391
     */
392
    public function setMembersOnly($membersOnly)
393
    {
394
        $this->membersOnly = $membersOnly;
395
    }
396
397
    /**
398
     * @param $moderated
399
     */
400
    public function setModerated($moderated)
401
    {
402
        $this->moderated = $moderated;
403
    }
404
405
    /**
406
     * @param array $broadcastPresenceRoles
407
     */
408
    public function setBroadcastPresenceRoles(array $broadcastPresenceRoles)
409
    {
410
        $this->broadcastPresenceRoles['broadcastPresenceRole'] = $broadcastPresenceRoles;
411
    }
412
413
    /**
414
     * @param array $owners
415
     */
416
    public function setOwners(array $owners)
417
    {
418
        $this->owners['owner'] = $owners;
419
    }
420
421
    /**
422
     * @param array $admins
423
     */
424
    public function setAdmins(array $admins)
425
    {
426
        $this->admins['admin'] = $admins;
427
    }
428
429
    /**
430
     * @param array $members
431
     */
432
    public function setMembers(array $members)
433
    {
434
        $this->members['member'] = $members;
435
    }
436
437
    /**
438
     * @param array $outcasts
439
     */
440
    public function setOutcasts(array $outcasts)
441
    {
442
        $this->outcasts['outcast'] = $outcasts;
443
    }
444
445
    /**
446
     * @param array $ownerGroups
447
     */
448
    public function setOwnerGroups(array $ownerGroups)
449
    {
450
        $this->ownerGroups['ownerGroup'] = $ownerGroups;
451
    }
452
453
    /**
454
     * @param array $adminGroups
455
     */
456
    public function setAdminGroups(array $adminGroups)
457
    {
458
        $this->adminGroups['adminGroup'] = $adminGroups;
459
    }
460
461
    /**
462
     * @param array $memberGroups
463
     */
464
    public function setMemberGroups(array $memberGroups)
465
    {
466
        $this->memberGroups['memberGroup'] = $memberGroups;
467
    }
468
469
    /**
470
     * @param array $outcastGroups
471
     */
472
    public function setOutcastGroups(array $outcastGroups)
473
    {
474
        $this->outcastGroups['outcastGroup'] = $outcastGroups;
475
    }
476
477
    /**
478
     * @return string
479
     */
480
    public function getRoomName()
481
    {
482
        return $this->roomName;
483
    }
484
485
    /**
486
     * @return string
487
     */
488
    public function getNaturalName()
489
    {
490
        return $this->naturalName;
491
    }
492
493
    /**
494
     * @return string
495
     */
496
    public function getDescription()
497
    {
498
        return $this->description;
499
    }
500
501
    /**
502
     * @return string
503
     */
504
    public function getSubject()
505
    {
506
        return $this->subject;
507
    }
508
509
    /**
510
     * @return string
511
     */
512
    public function getPassword()
513
    {
514
        return $this->password;
515
    }
516
517
    /**
518
     * @return string
519
     */
520
    public function getCreationDate()
521
    {
522
        return $this->creationDate;
523
    }
524
525
    /**
526
     * @return string
527
     */
528
    public function getModificationDate()
529
    {
530
        return $this->modificationDate;
531
    }
532
533
    /**
534
     * @return integer
535
     */
536
    public function getMaxUsers()
537
    {
538
        return $this->maxUsers;
539
    }
540
541
    /**
542
     * @return bool
543
     */
544
    public function getPersistent()
545
    {
546
        return $this->persistent;
547
    }
548
549
    /**
550
     * @return bool
551
     */
552
    public function getPublicRoom()
553
    {
554
        return $this->publicRoom;
555
    }
556
557
    /**
558
     * @return bool
559
     */
560
    public function getRegistrationEnabled()
561
    {
562
        return $this->registrationEnabled;
563
    }
564
565
    /**
566
     * @return bool
567
     */
568
    public function getCanAnyoneDiscoverJID()
569
    {
570
        return $this->canAnyoneDiscoverJID;
571
    }
572
573
    /**
574
     * @return bool
575
     */
576
    public function getCanOccupantsChangeSubject()
577
    {
578
        return $this->canOccupantsChangeSubject;
579
    }
580
581
    /**
582
     * @return bool
583
     */
584
    public function getCanOccupantsInvite()
585
    {
586
        return $this->canOccupantsInvite;
587
    }
588
589
    /**
590
     * @return bool
591
     */
592
    public function getCanChangeNickname()
593
    {
594
        return $this->canChangeNickname;
595
    }
596
597
    /**
598
     * @return bool
599
     */
600
    public function getLogEnabled()
601
    {
602
        return $this->logEnabled;
603
    }
604
605
    /**
606
     * @return bool
607
     */
608
    public function getLoginRestrictedToNickname()
609
    {
610
        return $this->loginRestrictedToNickname;
611
    }
612
613
    /**
614
     * @return bool
615
     */
616
    public function getMembersOnly()
617
    {
618
        return $this->membersOnly;
619
    }
620
621
    /**
622
     * @return bool
623
     */
624
    public function getModerated()
625
    {
626
        return $this->moderated;
627
    }
628
629
    /**
630
     * @return array
631
     */
632
    public function getBroadcastPresenceRoles()
633
    {
634
        return $this->broadcastPresenceRoles;
635
    }
636
637
    /**
638
     * @return array
639
     */
640
    public function getOwners()
641
    {
642
        return $this->owners;
643
    }
644
645
    /**
646
     * @return array
647
     */
648
    public function getAdmins()
649
    {
650
        return $this->admins;
651
    }
652
653
    /**
654
     * @return array
655
     */
656
    public function getMembers()
657
    {
658
        return $this->members;
659
    }
660
661
    /**
662
     * @return array
663
     */
664
    public function getOutcasts()
665
    {
666
        return $this->outcasts;
667
    }
668
669
    /**
670
     * @return array
671
     */
672
    public function getOwnerGroups()
673
    {
674
        return $this->ownerGroups;
675
    }
676
677
    /**
678
     * @return array
679
     */
680
    public function getAdminGroups()
681
    {
682
        return $this->adminGroups;
683
    }
684
685
    /**
686
     * @return array
687
     */
688
    public function getMemberGroups()
689
    {
690
        return $this->memberGroups;
691
    }
692
693
    /**
694
     * @return array
695
     */
696
    public function getOutcastGroups()
697
    {
698
        return $this->outcastGroups;
699
    }
700
}