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\MailWebclient;
9:
10: use Aurora\System\SettingsProperty;
11:
12: /**
13: * @property bool $Disabled
14: * @property bool $AllowAppRegisterMailto
15: * @property bool $AllowChangeInputDirection
16: * @property bool $FoldersExpandedByDefault
17: * @property bool $AllowSpamFolder
18: * @property bool $AllowAddNewFolderOnMainScreen
19: * @property array $ComposeToolbarOrder,
20: * @property string $DefaultFontName
21: * @property int $DefaultFontSize
22: * @property bool $AlwaysTryUseImageWhilePasting
23: * @property bool $AllowHorizontalLineButton
24: * @property bool $AllowComposePlainText
25: * @property bool $AllowEditHtmlSource
26: * @property array $TextEditorImageResizerOptions,
27: * @property bool $JoinReplyPrefixes
28: * @property int $MailsPerPage
29: * @property bool $AllowChangeStarredMessagesSource
30: * @property int $MaxMessagesBodiesSizeToPrefetch
31: * @property int $MessageBodyTruncationThreshold
32: * @property bool $ShowEmailAsTabName
33: * @property bool $AllowOtherModulesToReplaceTabsbarHeader
34: * @property bool $AllowShowMessagesCountInFolderList
35: * @property bool $AllowSearchMessagesBySubject
36: * @property array $PrefixesToRemoveBeforeSearchMessagesBySubject,
37: * @property bool $AllowHorizontalLayout
38: * @property bool $HorizontalLayoutByDefault
39: * @property bool $DisableRtlRendering
40: * @property bool $AllowQuickReply
41: * @property bool $AllowQuickSendOnCompose
42: * @property bool $AllowUserGroupsInComposeAutocomplete
43: * @property bool $MarkMessageSeenWhenViewing
44: * @property bool $MarkMessageSeenWhenAnswerForward
45: * @property bool $UserLoginPartInAccountDropdown
46: * @property bool $UseMeRecipientForMessages
47: */
48:
49: class Settings extends \Aurora\System\Module\Settings
50: {
51: protected function initDefaults()
52: {
53: $this->aContainer = [
54: "Disabled" => new SettingsProperty(
55: false,
56: "bool",
57: null,
58: "Setting to true disables the module",
59: ),
60: "AllowAppRegisterMailto" => new SettingsProperty(
61: true,
62: "bool",
63: null,
64: "Enables setting the product installation as mailto: links handler",
65: ),
66: "AllowChangeInputDirection" => new SettingsProperty(
67: false,
68: "bool",
69: null,
70: "Enables switching between RTL and LTR input directions",
71: ),
72: "FoldersExpandedByDefault" => new SettingsProperty(
73: false,
74: "bool",
75: null,
76: "If true, email folders hierarchy is displayed fully expanded by default, collapsed otherwise",
77: ),
78: "AllowSpamFolder" => new SettingsProperty(
79: true,
80: "bool",
81: null,
82: "Enables the use of Spam folder and moving messages from/to Spam with a button",
83: ),
84: "AllowAddNewFolderOnMainScreen" => new SettingsProperty(
85: false,
86: "bool",
87: null,
88: "If true, New Folder button is added on mail screen",
89: ),
90: "ComposeToolbarOrder" => new SettingsProperty(
91: [
92: "back",
93: "send",
94: "save",
95: "importance",
96: "MailSensitivity",
97: "confirmation",
98: "OpenPgp"
99: ],
100: "array",
101: null,
102: "Defines list of controls shown on compose toolbar in their order from left to right",
103: ),
104: "DefaultFontName" => new SettingsProperty(
105: "Tahoma",
106: "string",
107: null,
108: "Font name used by default when composing email message",
109: ),
110: "DefaultFontSize" => new SettingsProperty(
111: 3,
112: "int",
113: null,
114: "Font size used by default when composing email message",
115: ),
116: "AlwaysTryUseImageWhilePasting" => new SettingsProperty(
117: false,
118: "bool",
119: null,
120: "If true, complex content like tables will be pasted as image by default",
121: ),
122: "AllowHorizontalLineButton" => new SettingsProperty(
123: false,
124: "bool",
125: null,
126: "If true, Insert Horizontal Line button is added to compose toolbar",
127: ),
128: "AllowComposePlainText" => new SettingsProperty(
129: false,
130: "bool",
131: null,
132: "If true, Plain Text switcher is added to compose HTML editor",
133: ),
134: "AllowEditHtmlSource" => new SettingsProperty(
135: false,
136: "bool",
137: null,
138: "If true, HTML source code editing is added to HTML editor",
139: ),
140: "TextEditorImageResizerOptions" => new SettingsProperty(
141: [
142: "MAILWEBCLIENT/ACTION_MAKE_IMAGE_SMALL" => "300px",
143: "MAILWEBCLIENT/ACTION_MAKE_IMAGE_MEDIUM" => "600px",
144: "MAILWEBCLIENT/ACTION_MAKE_IMAGE_LARGE" => "1200px",
145: "MAILWEBCLIENT/ACTION_MAKE_IMAGE_ORIGINAL" => ""
146: ],
147: "array",
148: null,
149: "The list of image size options that can be set for an image in the editor. It's possible to set sizes in pixels and percentages.",
150: ),
151: "JoinReplyPrefixes" => new SettingsProperty(
152: true,
153: "bool",
154: null,
155: "If true, multiple prefixes such as Re: or Fwd: will be merged as much as possible when composing a new reply/forward",
156: ),
157: "MailsPerPage" => new SettingsProperty(
158: 20,
159: "int",
160: null,
161: "Default number of mail messages displayed per page",
162: ),
163: "AllowChangeStarredMessagesSource" => new SettingsProperty(
164: false,
165: "bool",
166: null,
167: "If true, starred messages source can be changed. Two possible sources: inbox only and all folders",
168: ),
169: "MaxMessagesBodiesSizeToPrefetch" => new SettingsProperty(
170: 50000,
171: "int",
172: null,
173: "Sets a limit of message bodies to be prefetched, in bytes",
174: ),
175: "MessageBodyTruncationThreshold" => new SettingsProperty(
176: 650000,
177: "int",
178: null,
179: "Sets a limit for message body size to be fetched",
180: ),
181: "ShowEmailAsTabName" => new SettingsProperty(
182: true,
183: "bool",
184: null,
185: "If true, email address will be shown instead of Mail screen tab name",
186: ),
187: "AllowOtherModulesToReplaceTabsbarHeader" => new SettingsProperty(
188: false,
189: "bool",
190: null,
191: "If set to true, other modules can supply custom HeaderItemView template instead of default one of this module",
192: ),
193: "AllowShowMessagesCountInFolderList" => new SettingsProperty(
194: false,
195: "bool",
196: null,
197: "If true, number of messages will be displayed for all folders in the list",
198: ),
199: "AllowSearchMessagesBySubject" => new SettingsProperty(
200: true,
201: "bool",
202: null,
203: "Enables the feature of searching for text selection in Subject area of preview pane",
204: ),
205: "PrefixesToRemoveBeforeSearchMessagesBySubject" => new SettingsProperty(
206: [
207: "Re",
208: "Fwd"
209: ],
210: "array",
211: null,
212: "",
213: ),
214: "AllowHorizontalLayout" => new SettingsProperty(
215: false,
216: "bool",
217: null,
218: "If true, users are able to switch betwee vertical and horizontal layouts of mail screen",
219: ),
220: "HorizontalLayoutByDefault" => new SettingsProperty(
221: false,
222: "bool",
223: null,
224: "If true, horizontal layout is used on mail screen by default",
225: ),
226: "DisableRtlRendering" => new SettingsProperty(
227: false,
228: "bool",
229: null,
230: "If set to true, messages are always displayed in left-to-right view, regarldess of their content",
231: ),
232: "AllowQuickReply" => new SettingsProperty(
233: true,
234: "bool",
235: null,
236: "If true, a quick reply pane is available under message preview",
237: ),
238: "AllowQuickSendOnCompose" => new SettingsProperty(
239: false,
240: "bool",
241: null,
242: "Enables Ctrl-Enter shortcut for sending mail out",
243: ),
244: "AllowUserGroupsInComposeAutocomplete" => new SettingsProperty(
245: true,
246: "bool",
247: null,
248: "If true, user groups become available in address autocompletion when composing a message",
249: ),
250: "MarkMessageSeenWhenViewing" => new SettingsProperty(
251: true,
252: "bool",
253: null,
254: "If true, message automatically becomes read when viewed by selecting it in message list",
255: ),
256: "MarkMessageSeenWhenAnswerForward" => new SettingsProperty(
257: false,
258: "bool",
259: null,
260: "If true, message becomes read when forwarded or replied to",
261: ),
262: "UserLoginPartInAccountDropdown" => new SettingsProperty(
263: false,
264: "bool",
265: null,
266: "If set to true, only username is displayed in account dropdown, instead of full email address",
267: ),
268: "UseMeRecipientForMessages" => new SettingsProperty(
269: true,
270: "bool",
271: null,
272: "If true, 'me' will be displayed instead of user's email address in headers section of message preview pane (collapsed view only)",
273: ),
274: ];
275: }
276: }
277: