1: <?php
2: /**
3: * This code is licensed under AGPLv3 license or Afterlogic Software License
4: * if commercial version of the product was purchased.
5: * For full statements of the licenses see LICENSE-AFTERLOGIC and LICENSE-AGPL3 files.
6: */
7:
8: namespace Aurora\Modules\RocketChatWebclient;
9:
10: use Aurora\System\SettingsProperty;
11: use Aurora\Modules\RocketChatWebclient\Enums;
12:
13: /**
14: * @property bool $Disabled
15: * @property string $ChatUrl
16: * @property string $AdminUsername
17: * @property string $AdminPassword
18: * @property bool $EnableLogging
19: * @property bool $AllowAddMeetingLinkToEvent
20: * @property string $MeetingLinkUrl
21: * @property int $ChatUsernameFormat
22: */
23:
24: class Settings extends \Aurora\System\Module\Settings
25: {
26: protected function initDefaults()
27: {
28: $this->aContainer = [
29: "Disabled" => new SettingsProperty(
30: false,
31: "bool",
32: null,
33: "Setting to true disables the module",
34: ),
35: "ChatUrl" => new SettingsProperty(
36: "",
37: "string",
38: null,
39: "RocketChat installation URL",
40: ),
41: "AdminUsername" => new SettingsProperty(
42: "",
43: "string",
44: null,
45: "Username of RocketChat admin account",
46: ),
47: "AdminPassword" => new SettingsProperty(
48: "",
49: "string",
50: null,
51: "Password of RocketChat admin account",
52: ),
53: "EnableLogging" => new SettingsProperty(
54: false,
55: "bool",
56: null,
57: "Enables logging of API calls and responses to a separate logfile for troubleshooting purposes",
58: ),
59: "AllowAddMeetingLinkToEvent" => new SettingsProperty(
60: false,
61: "bool",
62: null,
63: "Allows for adding Jitsi Meet link when editing an event in calendar",
64: ),
65: "MeetingLinkUrl" => new SettingsProperty(
66: "",
67: "string",
68: null,
69: "Jitsi Meet link base URL",
70: ),
71: "ChatUsernameFormat" => new SettingsProperty(
72: Enums\UsernameFormat::UsernameAndDomain,
73: "spec",
74: Enums\UsernameFormat::class,
75: "Defines how chat username is generated from email address: 0 - username, 1 - username.domain (without TLD), 2 - username.domain.tld",
76: ),
77: ];
78: }
79: }
80: