1: | <?php |
2: | |
3: | |
4: | |
5: | |
6: | |
7: | |
8: | namespace Aurora\Modules\CoreWebclient; |
9: | |
10: | use Aurora\System\SettingsProperty; |
11: | |
12: | |
13: | |
14: | |
15: | |
16: | |
17: | |
18: | |
19: | |
20: | |
21: | |
22: | |
23: | |
24: | |
25: | |
26: | |
27: | |
28: | |
29: | |
30: | |
31: | |
32: | |
33: | |
34: | |
35: | |
36: | |
37: | |
38: | |
39: | |
40: | |
41: | class Settings extends \Aurora\System\Module\Settings |
42: | { |
43: | protected function initDefaults() |
44: | { |
45: | $this->aContainer = [ |
46: | "Disabled" => new SettingsProperty( |
47: | false, |
48: | "bool", |
49: | null, |
50: | "Setting to true disables the module", |
51: | ), |
52: | "AllowChangeSettings" => new SettingsProperty( |
53: | true, |
54: | "bool", |
55: | null, |
56: | "If true, users are allowed to select theme, language etc. in common settings screen", |
57: | ), |
58: | "AllowClientDebug" => new SettingsProperty( |
59: | false, |
60: | "bool", |
61: | null, |
62: | "Enables clientside debug logs, viewed by entering window.auroraLogs in browser console", |
63: | ), |
64: | "AllowDesktopNotifications" => new SettingsProperty( |
65: | false, |
66: | "bool", |
67: | null, |
68: | "Enables desktop notifications, the value is applied to new user accounts", |
69: | ), |
70: | "AllowIosProfile" => new SettingsProperty( |
71: | true, |
72: | "bool", |
73: | null, |
74: | "Enables retrieving account profile download when logging into web interface from iOS device", |
75: | ), |
76: | "AllowMobile" => new SettingsProperty( |
77: | false, |
78: | "bool", |
79: | null, |
80: | "Enables mobile version of web interface and automatically switches to it on Android or iOS smartphone", |
81: | ), |
82: | "AllowPrefetch" => new SettingsProperty( |
83: | true, |
84: | "bool", |
85: | null, |
86: | "Enables downloading message bodies in background, to display messages instantly upon selecting those", |
87: | ), |
88: | "AttachmentSizeLimit" => new SettingsProperty( |
89: | 0, |
90: | "int", |
91: | null, |
92: | "Attachment file size limit for upload, in bytes", |
93: | ), |
94: | "AutoRefreshIntervalMinutes" => new SettingsProperty( |
95: | 1, |
96: | "int", |
97: | null, |
98: | "Default value for auto refresh interval in minutes", |
99: | ), |
100: | "ContentSecurityPolicy" => new SettingsProperty( |
101: | "", |
102: | "string", |
103: | null, |
104: | "Specifies CSP header used for protection from cross-site scripting, clickjacking, code injection attacks", |
105: | ), |
106: | "CustomLogoutUrl" => new SettingsProperty( |
107: | "", |
108: | "string", |
109: | null, |
110: | "Specifies URL user will be redirected to upon logging out of their account", |
111: | ), |
112: | "DefaultAnonymScreenHash" => new SettingsProperty( |
113: | "login", |
114: | "string", |
115: | null, |
116: | "Hash ID of the screen available to non-logged in user by default", |
117: | ), |
118: | "DefaultUserScreenHash" => new SettingsProperty( |
119: | "", |
120: | "string", |
121: | null, |
122: | "Hash ID of the screen available to logged in user by default", |
123: | ), |
124: | "GoogleAnalyticsAccount" => new SettingsProperty( |
125: | "", |
126: | "string", |
127: | null, |
128: | "If specified, Google Analytics code will be loaded with this account ID used", |
129: | ), |
130: | "HeaderModulesOrder" => new SettingsProperty( |
131: | [], |
132: | "array", |
133: | null, |
134: | "Denotes the list of top menu items in the order how they're displayed", |
135: | ), |
136: | "IsDemo" => new SettingsProperty( |
137: | false, |
138: | "bool", |
139: | null, |
140: | "Enables warnings of demo limitations, used by various modules", |
141: | ), |
142: | "LanguageNames" => new SettingsProperty( |
143: | [ |
144: | |
145: | "Arabic" => "\u0627\u0644\u0639\u0631\u0628\u064a\u0629", |
146: | "Bulgarian" => "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438", |
147: | "Chinese-Simplified" => "\u4e2d\u6587(\u7b80\u4f53)", |
148: | "Chinese-Traditional" => "\u4e2d\u6587(\u9999\u6e2f)", |
149: | "Czech" => "\u010ce\u0161tina", |
150: | "Danish" => "Dansk", |
151: | "Dutch" => "Nederlands", |
152: | "English" => "English", |
153: | "Estonian" => "eesti", |
154: | "Finnish" => "Suomi", |
155: | "French" => "Fran\u00e7ais", |
156: | "German" => "Deutsch", |
157: | "Greek" => "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac", |
158: | "Hebrew" => "\u05e2\u05d1\u05e8\u05d9\u05ea", |
159: | "Hungarian" => "Magyar", |
160: | "Italian" => "Italiano", |
161: | "Japanese" => "\u65e5\u672c\u8a9e", |
162: | "Korean" => "\ud55c\uad6d\uc5b4", |
163: | "Latvian" => "Latvie\u0161u", |
164: | "Lithuanian" => "Lietuvi\u0173", |
165: | "Norwegian" => "Norsk", |
166: | "Persian" => "\u0641\u0627\u0631\u0633\u06cc", |
167: | "Polish" => "Polski", |
168: | "Portuguese-Portuguese" => "Portugu\u00eas", |
169: | "Portuguese-Brazil" => "Portugu\u00eas Brasileiro", |
170: | "Romanian" => "Rom\u00e2n\u0103", |
171: | "Russian" => "\u0420\u0443\u0441\u0441\u043a\u0438\u0439", |
172: | "Serbian" => "Srpski", |
173: | "Slovenian" => "Sloven\u0161\u010dina", |
174: | "Spanish" => "Espa\u00f1ol", |
175: | "Swedish" => "Svenska", |
176: | "Thai" => "\u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22", |
177: | "Turkish" => "T\u00fcrk\u00e7e", |
178: | "Ukrainian" => "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430", |
179: | "Vietnamese" => "ti\u1ebfng Vi\u1ec7t" |
180: | ], |
181: | "array", |
182: | null, |
183: | "Mapping of language names and their local translations", |
184: | ), |
185: | "MultipleFilesUploadLimit" => new SettingsProperty( |
186: | 50, |
187: | "int", |
188: | null, |
189: | "Defines a limit for number of files uploaded during a single user request", |
190: | ), |
191: | "ShowQuotaBar" => new SettingsProperty( |
192: | true, |
193: | "bool", |
194: | null, |
195: | "If true, indicator of disk space usage by email or files will be displayed in the interface", |
196: | ), |
197: | "ShowQuotaBarTextAsTooltip" => new SettingsProperty( |
198: | true, |
199: | "bool", |
200: | null, |
201: | "If true, quota information will only be shown as the tooltip of the indicator; if false, it's shown directly in the interface", |
202: | ), |
203: | "QuotaWarningPerc" => new SettingsProperty( |
204: | 0, |
205: | "int", |
206: | null, |
207: | "Enables warning if percentage of free disk space for email account is less than this value", |
208: | ), |
209: | "SyncIosAfterLogin" => new SettingsProperty( |
210: | true, |
211: | "bool", |
212: | null, |
213: | "", |
214: | ), |
215: | "Theme" => new SettingsProperty( |
216: | "Default", |
217: | "string", |
218: | null, |
219: | "Theme used by default", |
220: | ), |
221: | "ThemeList" => new SettingsProperty( |
222: | [ |
223: | "Default" |
224: | ], |
225: | "array", |
226: | null, |
227: | "List of themes available", |
228: | ), |
229: | "HideLogout" => new SettingsProperty( |
230: | false, |
231: | "bool", |
232: | null, |
233: | "If true, Logout link will be hidden", |
234: | ), |
235: | "IncludeInMobile" => new SettingsProperty( |
236: | true, |
237: | "bool", |
238: | null, |
239: | "If true, the module is used in mobile version of the interface", |
240: | ), |
241: | ]; |
242: | } |
243: | } |
244: | |