zm-ruby-client 0.10.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +58 -0
- data/Gemfile +8 -0
- data/LICENSE +674 -0
- data/README.md +47 -0
- data/SECURITY.md +21 -0
- data/lib/zm/client/account/account.rb +335 -0
- data/lib/zm/client/account/account_dls_membership_collection.rb +22 -0
- data/lib/zm/client/account/account_dls_owner_collection.rb +22 -0
- data/lib/zm/client/account/accounts_builder.rb +19 -0
- data/lib/zm/client/account/accounts_collection.rb +48 -0
- data/lib/zm/client/account.rb +7 -0
- data/lib/zm/client/ace/ace.rb +32 -0
- data/lib/zm/client/ace/aces_builder.rb +25 -0
- data/lib/zm/client/ace/aces_collection.rb +36 -0
- data/lib/zm/client/ace.rb +5 -0
- data/lib/zm/client/appointment/appointment.rb +143 -0
- data/lib/zm/client/appointment/appointment_jsns_builder.rb +125 -0
- data/lib/zm/client/appointment/appointment_jsns_initializer.rb +129 -0
- data/lib/zm/client/appointment/appointments_builder.rb +33 -0
- data/lib/zm/client/appointment/appointments_collection.rb +106 -0
- data/lib/zm/client/appointment.rb +7 -0
- data/lib/zm/client/backup/backup.rb +59 -0
- data/lib/zm/client/backup/backups_builder.rb +26 -0
- data/lib/zm/client/backup/backups_collection.rb +22 -0
- data/lib/zm/client/backup.rb +5 -0
- data/lib/zm/client/base/account_object.rb +17 -0
- data/lib/zm/client/base/admin_object.rb +45 -0
- data/lib/zm/client/base/object.rb +80 -0
- data/lib/zm/client/base/objects_builder.rb +31 -0
- data/lib/zm/client/base/objects_collection.rb +135 -0
- data/lib/zm/client/base.rb +7 -0
- data/lib/zm/client/cluster/cluster.rb +117 -0
- data/lib/zm/client/cluster/cluster_config.rb +100 -0
- data/lib/zm/client/cluster.rb +4 -0
- data/lib/zm/client/common/message.rb +10 -0
- data/lib/zm/client/common/recipients.rb +67 -0
- data/lib/zm/client/common.rb +4 -0
- data/lib/zm/client/config.rb +12 -0
- data/lib/zm/client/connector/rest_account.rb +74 -0
- data/lib/zm/client/connector/soap_account.rb +562 -0
- data/lib/zm/client/connector/soap_admin.rb +512 -0
- data/lib/zm/client/connector/soap_base.rb +65 -0
- data/lib/zm/client/connector/soap_error.rb +26 -0
- data/lib/zm/client/connector/soap_xml_builder.rb +68 -0
- data/lib/zm/client/constant.rb +217 -0
- data/lib/zm/client/contact/contact.rb +124 -0
- data/lib/zm/client/contact/contact_member.rb +73 -0
- data/lib/zm/client/contact/contacts_builder.rb +24 -0
- data/lib/zm/client/contact/contacts_collection.rb +26 -0
- data/lib/zm/client/contact/mod_group_contact.rb +74 -0
- data/lib/zm/client/contact.rb +7 -0
- data/lib/zm/client/cos/cos.rb +59 -0
- data/lib/zm/client/cos/coses_builder.rb +29 -0
- data/lib/zm/client/cos/coses_collection.rb +33 -0
- data/lib/zm/client/cos.rb +5 -0
- data/lib/zm/client/data_source.rb +5 -0
- data/lib/zm/client/distributionlist/distributionlist.rb +125 -0
- data/lib/zm/client/distributionlist/distributionlists_builder.rb +29 -0
- data/lib/zm/client/distributionlist/distributionlists_collection.rb +41 -0
- data/lib/zm/client/distributionlist.rb +5 -0
- data/lib/zm/client/document/document.rb +47 -0
- data/lib/zm/client/document/documents_builder.rb +31 -0
- data/lib/zm/client/document/documents_collection.rb +93 -0
- data/lib/zm/client/document.rb +5 -0
- data/lib/zm/client/domain/domain.rb +74 -0
- data/lib/zm/client/domain/domains_builder.rb +32 -0
- data/lib/zm/client/domain/domains_collection.rb +36 -0
- data/lib/zm/client/domain.rb +5 -0
- data/lib/zm/client/folder/folder.rb +215 -0
- data/lib/zm/client/folder/folder_grant.rb +58 -0
- data/lib/zm/client/folder/folder_retention_policy.rb +48 -0
- data/lib/zm/client/folder/folders_builder.rb +58 -0
- data/lib/zm/client/folder/folders_collection.rb +70 -0
- data/lib/zm/client/folder/mod_document_folder.rb +17 -0
- data/lib/zm/client/folder.rb +8 -0
- data/lib/zm/client/identity/identities_builder.rb +25 -0
- data/lib/zm/client/identity/identities_collection.rb +26 -0
- data/lib/zm/client/identity/identity.rb +75 -0
- data/lib/zm/client/identity.rb +5 -0
- data/lib/zm/client/license/license.rb +29 -0
- data/lib/zm/client/license/licenses_collection.rb +28 -0
- data/lib/zm/client/license.rb +4 -0
- data/lib/zm/client/message/message.rb +225 -0
- data/lib/zm/client/message/messages_builder.rb +31 -0
- data/lib/zm/client/message/messages_collection.rb +111 -0
- data/lib/zm/client/message.rb +5 -0
- data/lib/zm/client/mountpoint/mountpoint.rb +95 -0
- data/lib/zm/client/mountpoint/mountpoints_builder.rb +38 -0
- data/lib/zm/client/mountpoint/mountpoints_collection.rb +61 -0
- data/lib/zm/client/mountpoint.rb +5 -0
- data/lib/zm/client/mta_queue/mta_queue.rb +60 -0
- data/lib/zm/client/mta_queue/mta_queues_builder.rb +26 -0
- data/lib/zm/client/mta_queue/mta_queues_collection.rb +95 -0
- data/lib/zm/client/mta_queue.rb +5 -0
- data/lib/zm/client/mta_queue_item/mta_queue_item.rb +51 -0
- data/lib/zm/client/mta_queue_item/mta_queue_items_builder.rb +27 -0
- data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +99 -0
- data/lib/zm/client/mta_queue_item.rb +5 -0
- data/lib/zm/client/resource/resource.rb +149 -0
- data/lib/zm/client/resource/resources_builder.rb +29 -0
- data/lib/zm/client/resource/resources_collection.rb +41 -0
- data/lib/zm/client/resource.rb +5 -0
- data/lib/zm/client/search_folder/search_folder.rb +63 -0
- data/lib/zm/client/search_folder/search_folders_builder.rb +26 -0
- data/lib/zm/client/search_folder/search_folders_collection.rb +28 -0
- data/lib/zm/client/search_folder.rb +5 -0
- data/lib/zm/client/server/server.rb +516 -0
- data/lib/zm/client/server/servers_builder.rb +26 -0
- data/lib/zm/client/server/servers_collection.rb +37 -0
- data/lib/zm/client/server.rb +5 -0
- data/lib/zm/client/share/share.rb +60 -0
- data/lib/zm/client/share/shares_builder.rb +23 -0
- data/lib/zm/client/share/shares_collection.rb +48 -0
- data/lib/zm/client/share.rb +5 -0
- data/lib/zm/client/signature/signature.rb +62 -0
- data/lib/zm/client/signature/signature_jsns_builder.rb +29 -0
- data/lib/zm/client/signature/signatures_builder.rb +26 -0
- data/lib/zm/client/signature/signatures_collection.rb +28 -0
- data/lib/zm/client/signature.rb +6 -0
- data/lib/zm/client/tag/tag.rb +45 -0
- data/lib/zm/client/tag/tags_builder.rb +25 -0
- data/lib/zm/client/tag/tags_collection.rb +26 -0
- data/lib/zm/client/tag.rb +5 -0
- data/lib/zm/client/task/task.rb +74 -0
- data/lib/zm/client/task/tasks_builder.rb +31 -0
- data/lib/zm/client/task/tasks_collection.rb +100 -0
- data/lib/zm/client/task.rb +5 -0
- data/lib/zm/client/upload/upload.rb +154 -0
- data/lib/zm/client/upload.rb +3 -0
- data/lib/zm/client/version.rb +18 -0
- data/lib/zm/client.rb +5 -0
- data/lib/zm/modules/common/account_common.rb +71 -0
- data/lib/zm/modules/common/cos_common.rb +463 -0
- data/lib/zm/modules/common/dl_common.rb +33 -0
- data/lib/zm/modules/common/identity_common.rb +19 -0
- data/lib/zm/modules/common/resource_common.rb +59 -0
- data/lib/zm/modules/common/signature_common.rb +16 -0
- data/lib/zm/modules/common/zimbra-attrs.json +1 -0
- data/lib/zm/utils/thread_pool.rb +72 -0
- data/lib/zm-ruby-client.rb +1 -0
- data/test/accounts.rb +62 -0
- data/test/cluster_config.rb +30 -0
- data/test/coses.rb +26 -0
- data/test/domains.rb +62 -0
- data/zm-ruby-client.gemspec +24 -0
- metadata +243 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Zm
|
4
|
+
# module client Zm::Client
|
5
|
+
module Client
|
6
|
+
def self.gem_version
|
7
|
+
Gem::Version.new VERSION::STRING
|
8
|
+
end
|
9
|
+
|
10
|
+
module VERSION
|
11
|
+
MAJOR = 0
|
12
|
+
MINOR = 10
|
13
|
+
TINY = 4
|
14
|
+
|
15
|
+
STRING = [MAJOR, MINOR, TINY].compact.join('.')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/zm/client.rb
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
module AccountCommon
|
2
|
+
ALL_ATTRS = JSON.parse(File.read(File.expand_path(File.dirname(__FILE__) + '/zimbra-attrs.json')))
|
3
|
+
ATTRS_READ = ALL_ATTRS.select{|a|a['immutable']=='1'}.map{|a|a['name']}
|
4
|
+
ATTRS_WRITE = ALL_ATTRS.reject{|a|a['immutable']=='1'}.map{|a|a['name']}
|
5
|
+
|
6
|
+
ZM_ACCOUNT_ATTRS = %w[
|
7
|
+
sn
|
8
|
+
company
|
9
|
+
cn
|
10
|
+
co
|
11
|
+
street
|
12
|
+
l
|
13
|
+
givenName
|
14
|
+
postalAddress
|
15
|
+
postalCode
|
16
|
+
displayName
|
17
|
+
gidNumber
|
18
|
+
telephoneNumber
|
19
|
+
description
|
20
|
+
zimbraPrefGroupMailBy
|
21
|
+
zimbraPrefFromDisplay
|
22
|
+
zimbraPrefFromDisplay
|
23
|
+
zimbraPrefMailSignature
|
24
|
+
zimbraPrefMailSignatureHTML
|
25
|
+
zimbraPrefMailSignatureStyle
|
26
|
+
zimbraPrefDefaultSignatureId
|
27
|
+
zimbraPrefForwardReplySignatureId
|
28
|
+
zimbraPrefReplyToEnabled
|
29
|
+
zimbraPrefIdentityName
|
30
|
+
zimbraPrefFromAddress
|
31
|
+
zimbraPrefWhenInFoldersEnabled
|
32
|
+
zimbraPrefWhenSentToEnabled
|
33
|
+
zimbraPrefSortOrder
|
34
|
+
zimbraSignatureName
|
35
|
+
userPassword
|
36
|
+
zimbraPasswordMustChange
|
37
|
+
zimbraPrefOutOfOfficeFromDate
|
38
|
+
zimbraPrefOutOfOfficeReplyEnabled
|
39
|
+
zimbraPrefOutOfOfficeUntilDate
|
40
|
+
zimbraPrefOutOfOfficeReply
|
41
|
+
zimbraAccountStatus
|
42
|
+
zimbraMailStatus
|
43
|
+
zimbraPasswordMustChange
|
44
|
+
zimbraPrefSortOrder
|
45
|
+
zimbraMailSieveScript
|
46
|
+
zimbraPrefTasksReadingPaneLocation
|
47
|
+
zimbraPrefShowCalendarWeek
|
48
|
+
zimbraPrefForwardIncludeOriginalText
|
49
|
+
zimbraPrefReplyIncludeOriginalText
|
50
|
+
zimbraPrefHtmlEditorDefaultFontFamily
|
51
|
+
zimbraPrefZimletTreeOpen
|
52
|
+
zimbraPrefComposeFormat
|
53
|
+
zimbraPrefFolderTreeOpen
|
54
|
+
zimbraPrefCalendarFirstDayOfWeek
|
55
|
+
zimbraPrefCalendarForwardInvitesTo
|
56
|
+
zimbraPrefMailForwardingAddress
|
57
|
+
zimbraMailDeliveryAddress
|
58
|
+
zimbraCOSId
|
59
|
+
].freeze
|
60
|
+
|
61
|
+
ATTRS_READ.each { |attr| attr_reader attr }
|
62
|
+
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
63
|
+
|
64
|
+
def attrs_read
|
65
|
+
ATTRS_READ
|
66
|
+
end
|
67
|
+
|
68
|
+
def attrs_write
|
69
|
+
ATTRS_WRITE
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,463 @@
|
|
1
|
+
module CosCommon
|
2
|
+
|
3
|
+
ZM_COS_ATTRS = %w[
|
4
|
+
zimbraPrefCalendarReminderMobile
|
5
|
+
zimbraPrefIMLogChats
|
6
|
+
zimbraDeviceLockWhenInactive
|
7
|
+
zimbraPrefFileSharingApplication
|
8
|
+
zimbraDataSourceTotalQuota
|
9
|
+
zimbraPrefCalendarWorkingHours
|
10
|
+
zimbraFeatureOutOfOfficeReplyEnabled
|
11
|
+
zimbraPrefCalendarViewTimeInterval
|
12
|
+
zimbraPrefComposeFormat
|
13
|
+
zimbraPrefZmgPushNotificationEnabled
|
14
|
+
zimbraPrefDisplayTimeInMailList
|
15
|
+
zimbraPrefIMNotifyStatus
|
16
|
+
zimbraQuotaWarnPercent
|
17
|
+
zimbraPrefIMReportIdle
|
18
|
+
zimbraFeatureMailForwardingEnabled
|
19
|
+
zimbraPrefDisplayExternalImages
|
20
|
+
zimbraPrefSaveToSent
|
21
|
+
zimbraPrefOutOfOfficeCacheDuration
|
22
|
+
zimbraPrefConvReadingPaneLocation
|
23
|
+
zimbraPrefShowSearchString
|
24
|
+
zimbraInterceptSubject
|
25
|
+
zimbraMailTrustedSenderListMaxNumEntries
|
26
|
+
zimbraPrefMailSelectAfterDelete
|
27
|
+
zimbraPrefAppleIcalDelegationEnabled
|
28
|
+
zimbraDataSourceQuota
|
29
|
+
zimbraPrefHtmlEditorDefaultFontFamily
|
30
|
+
zimbraMobilePolicyMinDevicePasswordComplexCharacters
|
31
|
+
zimbraPrefConvShowCalendar
|
32
|
+
zimbraRevokeAppSpecificPasswordsOnPasswordChange
|
33
|
+
zimbraZimletUserPropertiesMaxNumEntries
|
34
|
+
zimbraFeatureSMIMEEnabled
|
35
|
+
zimbraPrefCalendarShowPastDueReminders
|
36
|
+
zimbraMobilePolicyAllowPOPIMAPEmail
|
37
|
+
zimbraDataSourceMinPollingInterval
|
38
|
+
zimbraMobilePolicyRequireSignedSMIMEMessages
|
39
|
+
zimbraPrefWarnOnExit
|
40
|
+
zimbraFeatureMobileGatewayEnabled
|
41
|
+
cn
|
42
|
+
zimbraFeaturePriorityInboxEnabled
|
43
|
+
zimbraPrefReadingPaneEnabled
|
44
|
+
zimbraFeatureBriefcaseSpreadsheetEnabled
|
45
|
+
zimbraSpamApplyUserFilters
|
46
|
+
zimbraFeatureAddressVerificationExpiry
|
47
|
+
zimbraMobilePolicyMaxEmailBodyTruncationSize
|
48
|
+
zimbraQuotaWarnInterval
|
49
|
+
zimbraPrefIMToasterEnabled
|
50
|
+
zimbraPrefOutOfOfficeStatusAlertOnLogin
|
51
|
+
zimbraFeatureMailPriorityEnabled
|
52
|
+
zimbraPrefAutocompleteAddressBubblesEnabled
|
53
|
+
zimbraFeatureManageZimlets
|
54
|
+
zimbraPasswordMinNumericChars
|
55
|
+
zimbraWebClientShowOfflineLink
|
56
|
+
zimbraMobileSmartForwardRFC822Enabled
|
57
|
+
zimbraPrefContactsInitialView
|
58
|
+
zimbraFeatureCalendarEnabled
|
59
|
+
zimbraMailBlacklistMaxNumEntries
|
60
|
+
zimbraPrefVoiceItemsPerPage
|
61
|
+
zimbraMobilePolicyAllowRemoteDesktop
|
62
|
+
zimbraFeatureDiscardInFiltersEnabled
|
63
|
+
zimbraFeatureTrustedDevicesEnabled
|
64
|
+
zimbraMobilePolicyPasswordRecoveryEnabled
|
65
|
+
zimbraMailHighlightObjectsMaxSize
|
66
|
+
zimbraPrefMailToasterEnabled
|
67
|
+
zimbraFileAndroidCrashReportingEnabled
|
68
|
+
zimbraPrefForwardReplyInOriginalFormat
|
69
|
+
zimbraFeatureWebSearchEnabled
|
70
|
+
zimbraPrefBriefcaseReadingPaneLocation
|
71
|
+
zimbraPrefContactsPerPage
|
72
|
+
zimbraPrefMarkMsgRead
|
73
|
+
zimbraPrefMessageIdDedupingEnabled
|
74
|
+
zimbraPrefCalendarApptReminderWarningTime
|
75
|
+
zimbraPrefCalendarReminderYMessenger
|
76
|
+
zimbraSieveRejectMailEnabled
|
77
|
+
zimbraPrefCalendarDefaultApptDuration
|
78
|
+
zimbraPrefDeleteInviteOnReply
|
79
|
+
zimbraPrefCalendarDayHourStart
|
80
|
+
zimbraMaxVoiceItemsPerPage
|
81
|
+
zimbraPrefPop3DeleteOption
|
82
|
+
zimbraDataSourceMaxNumEntries
|
83
|
+
zimbraImapEnabled
|
84
|
+
zimbraFeatureViewInHtmlEnabled
|
85
|
+
zimbraCalendarMaxRevisions
|
86
|
+
zimbraPrefTabInEditorEnabled
|
87
|
+
zimbraMailSignatureMaxLength
|
88
|
+
zimbraPrefCalendarAutoAddInvites
|
89
|
+
zimbraPasswordLockoutSuppressionCacheSize
|
90
|
+
zimbraFeatureSignaturesEnabled
|
91
|
+
zimbraPrefExternalSendersType
|
92
|
+
zimbraPrefContactsDisableAutocompleteOnContactGroupMembers
|
93
|
+
zimbraPrefIMFlashTitle
|
94
|
+
zimbraLogOutFromAllServers
|
95
|
+
zimbraPasswordLockoutMaxFailures
|
96
|
+
zimbraMobilePolicyDevicePasswordHistory
|
97
|
+
zimbraMobilePolicyAllowDesktopSync
|
98
|
+
zimbraMobileTombstoneEnabled
|
99
|
+
zimbraFeatureImapDataSourceEnabled
|
100
|
+
zimbraPrefSentLifetime
|
101
|
+
zimbraFeatureSocialEnabled
|
102
|
+
zimbraMobilePolicyAllowUnsignedInstallationPackages
|
103
|
+
zimbraContactRankingTableSize
|
104
|
+
zimbraPrefAutoCompleteQuickCompletionOnComma
|
105
|
+
zimbraPrefMailFlashIcon
|
106
|
+
zimbraPrefMailSoundsEnabled
|
107
|
+
zimbraAuthTokenLifetime
|
108
|
+
zimbraNewMailNotificationFrom
|
109
|
+
zimbraPrefFolderColorEnabled
|
110
|
+
zimbraFeatureMailSendLaterEnabled
|
111
|
+
zimbraPortalName
|
112
|
+
zimbraSieveRequireControlEnabled
|
113
|
+
zimbraTwoFactorAuthEnablementTokenLifetime
|
114
|
+
zimbraMobileSearchMimeSupportEnabled
|
115
|
+
zimbraMailThreadingAlgorithm
|
116
|
+
zimbraMobilePolicyAllowNonProvisionableDevices
|
117
|
+
zimbraFeatureContactBackupEnabled
|
118
|
+
zimbraPrefIMSoundsEnabled
|
119
|
+
zimbraPrefGalAutoCompleteEnabled
|
120
|
+
zimbraPrefIMHideBlockedBuddies
|
121
|
+
zimbraPrefUseSendMsgShortcut
|
122
|
+
zimbraMobileOutlookSyncEnabled
|
123
|
+
zimbraPrefCalendarReminderSoundsEnabled
|
124
|
+
zimbraPrefCalendarShowDeclinedMeetings
|
125
|
+
zimbraFeatureEwsEnabled
|
126
|
+
zimbraDeviceAllowedPasscodeLockoutDuration
|
127
|
+
zimbraFeatureComposeInNewWindowEnabled
|
128
|
+
zimbraFeatureContactsEnabled
|
129
|
+
zimbraPrefIMInstantNotify
|
130
|
+
zimbraPasswordMaxAge
|
131
|
+
zimbraFeatureContactsDetailedSearchEnabled
|
132
|
+
zimbraFeatureFlaggingEnabled
|
133
|
+
zimbraPrefMailInitialSearch
|
134
|
+
zimbraPrefIMNotifyPresence
|
135
|
+
zimbraPrefMandatorySpellCheckEnabled
|
136
|
+
zimbraFeatureSocialFiltersEnabled
|
137
|
+
zimbraPrefDedupeMessagesSentToSelf
|
138
|
+
zimbraPrefHtmlEditorDefaultFontSize
|
139
|
+
zimbraExternalShareDomainWhitelistEnabled
|
140
|
+
zimbraMobilePolicyAllowSMIMEEncryptionAlgorithmNegotiation
|
141
|
+
zimbraInterceptBody
|
142
|
+
zimbraIdentityMaxNumEntries
|
143
|
+
zimbraFeatureAdminMailEnabled
|
144
|
+
zimbraBatchedIndexingSize
|
145
|
+
zimbraDataSourceImportOnLogin
|
146
|
+
zimbraFeatureMAPIConnectorEnabled
|
147
|
+
zimbraFeatureTwoFactorAuthRequired
|
148
|
+
zimbraMobilePolicyRequireSignedSMIMEAlgorithm
|
149
|
+
zimbraCalendarResourceDoubleBookingAllowed
|
150
|
+
zimbraPrefSentMailFolder
|
151
|
+
zimbraFileIOSCrashReportingEnabled
|
152
|
+
zimbraPrefCalendarApptVisibility
|
153
|
+
zimbraPrefCalendarDayHourEnd
|
154
|
+
zimbraFeatureConversationsEnabled
|
155
|
+
zimbraFeatureDistributionListExpandMembersEnabled
|
156
|
+
zimbraPasswordLockoutFailureLifetime
|
157
|
+
zimbraPrefShowComposeDirection
|
158
|
+
zimbraPrefShowCalendarWeek
|
159
|
+
zimbraFeatureImportExportFolderEnabled
|
160
|
+
zimbraMobilePolicyRequireDeviceEncryption
|
161
|
+
zimbraMobilePolicyDeviceEncryptionEnabled
|
162
|
+
zimbraFileShareLifetime
|
163
|
+
zimbraMobileNotificationEnabled
|
164
|
+
zimbraMobilePolicyMaxCalendarAgeFilter
|
165
|
+
zimbraPasswordMinLowerCaseChars
|
166
|
+
zimbraPrefClientType
|
167
|
+
zimbraPrefIMAutoLogin
|
168
|
+
zimbraFeaturePeopleSearchEnabled
|
169
|
+
zimbraNotebookMaxRevisions
|
170
|
+
zimbraPrefCalendarAlwaysShowMiniCal
|
171
|
+
zimbraPrefChatPlaySound
|
172
|
+
zimbraFeatureExternalFeedbackEnabled
|
173
|
+
zimbraProxyAllowedDomains
|
174
|
+
zimbraPrefHtmlEditorDefaultFontColor
|
175
|
+
zimbraMaxAppSpecificPasswords
|
176
|
+
zimbraFeatureBriefcaseDocsEnabled
|
177
|
+
zimbraFilterSleepInterval
|
178
|
+
zimbraFeatureReadReceiptsEnabled
|
179
|
+
zimbraExternalSharingEnabled
|
180
|
+
zimbraPasswordLockoutSuppressionEnabled
|
181
|
+
zimbraPrefTasksReadingPaneLocation
|
182
|
+
zimbraPrefItemsPerVirtualPage
|
183
|
+
zimbraSyncWindowSize
|
184
|
+
zimbraDisableCrossAccountConversationThreading
|
185
|
+
zimbraChatHistoryEnabled
|
186
|
+
zimbraFeatureAntispamEnabled
|
187
|
+
zimbraPrefSearchTreeOpen
|
188
|
+
zimbraPrefStandardClientAccessibilityMode
|
189
|
+
zimbraPrefUseRfc2231
|
190
|
+
zimbraPrefCalendarNotifyDelegatedChanges
|
191
|
+
zimbraFeatureChangePasswordEnabled
|
192
|
+
zimbraPrefShowChatsFolderInMail
|
193
|
+
zimbraMobilePolicyMaxDevicePasswordFailedAttempts
|
194
|
+
zimbraDeviceFileOpenWithEnabled
|
195
|
+
zimbraPrefConversationOrder
|
196
|
+
zimbraFeatureMarkMailForwardedAsRead
|
197
|
+
zimbraMobilePolicyAllowSimpleDevicePassword
|
198
|
+
zimbraDataSourceRssPollingInterval
|
199
|
+
zimbraPrefIncludeSharedItemsInSearch
|
200
|
+
zimbraAttachmentsIndexingEnabled
|
201
|
+
zimbraDumpsterPurgeEnabled
|
202
|
+
zimbraPasswordLockoutEnabled
|
203
|
+
zimbraArchiveAccountNameTemplate
|
204
|
+
zimbraStandardClientCustomPrefTabsEnabled
|
205
|
+
zimbraTwoFactorAuthTrustedDeviceTokenLifetime
|
206
|
+
zimbraFeatureVoiceEnabled
|
207
|
+
zimbraPrefShowSelectionCheckbox
|
208
|
+
zimbraPrefDelegatedSendSaveTarget
|
209
|
+
zimbraPrefPop3IncludeSpam
|
210
|
+
zimbraFeatureBriefcaseSlidesEnabled
|
211
|
+
zimbraMobileAttachSkippedItemEnabled
|
212
|
+
zimbraPrefCalendarReminderFlashTitle
|
213
|
+
zimbraFeatureMailForwardingInFiltersEnabled
|
214
|
+
zimbraPrefDefaultPrintFontSize
|
215
|
+
zimbraFeatureSocialcastEnabled
|
216
|
+
zimbraPrefMailFlashTitle
|
217
|
+
zimbraPrefMessageViewHtmlPreferred
|
218
|
+
zimbraFeatureCalendarUpsellEnabled
|
219
|
+
zimbraMobilePolicyAllowSMIMESoftCerts
|
220
|
+
zimbraMobilePolicyMaxEmailAgeFilter
|
221
|
+
zimbraInterceptSendHeadersOnly
|
222
|
+
zimbraMobileForceSamsungProtocol25
|
223
|
+
zimbraPrefMailPollingInterval
|
224
|
+
zimbraPrefFontSize
|
225
|
+
zimbraId
|
226
|
+
zimbraPrefIMLogChatsEnabled
|
227
|
+
zimbraPrefReplyIncludeOriginalText
|
228
|
+
zimbraFeatureGalSyncEnabled
|
229
|
+
zimbraFeatureIdentitiesEnabled
|
230
|
+
zimbraPrefIncludeTrashInSearch
|
231
|
+
zimbraPrefSharedAddrBookAutoCompleteEnabled
|
232
|
+
zimbraFeatureImportFolderEnabled
|
233
|
+
zimbraFeatureOptionsEnabled
|
234
|
+
zimbraFeatureAdvancedSearchEnabled
|
235
|
+
zimbraPrefCalendarAllowCancelEmailToSelf
|
236
|
+
zimbraFeatureChatEnabled
|
237
|
+
zimbraFeatureTasksEnabled
|
238
|
+
zimbraExternalAccountLifetimeAfterDisabled
|
239
|
+
zimbraMailPurgeUseChangeDateForTrash
|
240
|
+
zimbraDevicePasscodeEnabled
|
241
|
+
zimbraPrefCalendarAllowPublishMethodInvite
|
242
|
+
zimbraSieveImmutableHeaders
|
243
|
+
zimbraPasswordLocked
|
244
|
+
zimbraFeatureNewAddrBookEnabled
|
245
|
+
zimbraMobilePolicyRequireEncryptedSMIMEMessages
|
246
|
+
zimbraMobilePolicyRefreshInterval
|
247
|
+
zimbraFeatureAddressVerificationEnabled
|
248
|
+
zimbraFeatureVoiceChangePinEnabled
|
249
|
+
zimbraCalendarCalDavSharedFolderCacheDuration
|
250
|
+
zimbraPasswordMinAlphaChars
|
251
|
+
zimbraPrefIMIdleStatus
|
252
|
+
zimbraMailSpamLifetime
|
253
|
+
zimbraPrefSpellIgnoreWord
|
254
|
+
zimbraPrefGroupMailBy
|
255
|
+
zimbraMailHostPool
|
256
|
+
zimbraMailForwardingAddressMaxNumAddrs
|
257
|
+
zimbraNewMailNotificationSubject
|
258
|
+
zimbraMailQuota
|
259
|
+
zimbraQuotaWarnMessage
|
260
|
+
zimbraContactAutoCompleteEmailFields
|
261
|
+
zimbraFeatureZimbraAssistantEnabled
|
262
|
+
zimbraPrefCalendarAllowForwardedInvite
|
263
|
+
zimbraFeatureGroupCalendarEnabled
|
264
|
+
zimbraFilterBatchSize
|
265
|
+
zimbraPrefZimletTreeOpen
|
266
|
+
zimbraArchiveAccountDateTemplate
|
267
|
+
zimbraSignatureMaxNumEntries
|
268
|
+
zimbraPrefCalendarUseQuickAdd
|
269
|
+
zimbraPrefComposeInNewWindow
|
270
|
+
zimbraAttachmentsBlocked
|
271
|
+
zimbraPrefGalSearchEnabled
|
272
|
+
zimbraPrefJunkLifetime
|
273
|
+
zimbraPrefSpellIgnoreAllCaps
|
274
|
+
zimbraFeatureManageSMIMECertificateEnabled
|
275
|
+
zimbraMailDumpsterLifetime
|
276
|
+
zimbraAppSpecificPasswordDuration
|
277
|
+
zimbraCalendarKeepExceptionsOnSeriesTimeChange
|
278
|
+
zimbraPrefUseTimeZoneListInCalendar
|
279
|
+
zimbraPrefCalendarAllowedTargetsForInviteDeniedAutoReply
|
280
|
+
zimbraExportMaxDays
|
281
|
+
zimbraMobilePolicyAlphanumericDevicePasswordRequired
|
282
|
+
zimbraPrefOpenMailInNewWindow
|
283
|
+
zimbraAdminAuthTokenLifetime
|
284
|
+
zimbraFileExternalShareLifetime
|
285
|
+
zimbraFeatureTaggingEnabled
|
286
|
+
zimbraCalendarShowResourceTabs
|
287
|
+
zimbraMobilePolicyRequireStorageCardEncryption
|
288
|
+
zimbraPrefMailSignatureStyle
|
289
|
+
zimbraTwoFactorAuthLockoutMaxFailures
|
290
|
+
zimbraArchiveEnabled
|
291
|
+
zimbraDeviceOfflineCacheEnabled
|
292
|
+
zimbraMailIdleSessionTimeout
|
293
|
+
zimbraPop3Enabled
|
294
|
+
zimbraMailAllowReceiveButNotSendWhenOverQuota
|
295
|
+
zimbraDataSourceCalendarPollingInterval
|
296
|
+
zimbraPrefAdminConsoleWarnOnExit
|
297
|
+
zimbraPrefTrashLifetime
|
298
|
+
zimbraMailMinPollingInterval
|
299
|
+
zimbraPrefShowFragments
|
300
|
+
zimbraMobilePolicyDevicePasswordExpiration
|
301
|
+
zimbraFeatureSocialExternalEnabled
|
302
|
+
zimbraFeatureAdminPreferencesEnabled
|
303
|
+
zimbraFeaturePop3DataSourceEnabled
|
304
|
+
zimbraGalSyncAccountBasedAutoCompleteEnabled
|
305
|
+
zimbraMobilePolicyAllowBrowser
|
306
|
+
zimbraJunkMessagesIndexingEnabled
|
307
|
+
zimbraPrefContactsExpandAppleContactGroups
|
308
|
+
zimbraPasswordMinUpperCaseChars
|
309
|
+
zimbraPrefIMFlashIcon
|
310
|
+
zimbraMobileForceProtocol25
|
311
|
+
zimbraPrefMailRequestReadReceipts
|
312
|
+
zimbraPrefCalendarReminderDuration1
|
313
|
+
zimbraPrefAdvancedClientEnforceMinDisplay
|
314
|
+
zimbraPublicSharingEnabled
|
315
|
+
zimbraMobilePolicyAllowStorageCard
|
316
|
+
zimbraZimletLoadSynchronously
|
317
|
+
zimbraPrefCalendarFirstDayOfWeek
|
318
|
+
description
|
319
|
+
zimbraFeatureIMEnabled
|
320
|
+
zimbraContactAutoCompleteMaxResults
|
321
|
+
zimbraMobilePolicyAllowCamera
|
322
|
+
zimbraPasswordMinDigitsOrPuncs
|
323
|
+
zimbraFilePublicShareLifetime
|
324
|
+
zimbraPasswordMinPunctuationChars
|
325
|
+
zimbraPrefSkin
|
326
|
+
zimbraPrefForwardReplyPrefixChar
|
327
|
+
zimbraExternalShareLifetime
|
328
|
+
zimbraMobilePolicyRequireEncryptionSMIMEAlgorithm
|
329
|
+
zimbraFeatureWebClientOfflineAccessEnabled
|
330
|
+
zimbraPrefShowAllNewMailNotifications
|
331
|
+
zimbraNotebookSanitizeHtml
|
332
|
+
zimbraPasswordMinAge
|
333
|
+
zimbraMaxMailItemsPerPage
|
334
|
+
zimbraSignatureMinNumEntries
|
335
|
+
zimbraMobilePolicyAllowInternetSharing
|
336
|
+
zimbraPrefAccountTreeOpen
|
337
|
+
zimbraFeatureSharingEnabled
|
338
|
+
zimbraPrefAutoSaveDraftInterval
|
339
|
+
zimbraMobilePolicyAllowIrDA
|
340
|
+
zimbraNewMailNotificationBody
|
341
|
+
zimbraMobilePolicyRequireManualSyncWhenRoaming
|
342
|
+
zimbraFeatureMailUpsellEnabled
|
343
|
+
zimbraFeatureSavedSearchesEnabled
|
344
|
+
zimbraPrefForwardReplyFormat
|
345
|
+
zimbraPrefCalendarToasterEnabled
|
346
|
+
zimbraMobilePolicyAllowConsumerEmail
|
347
|
+
zimbraFeatureFreeBusyViewEnabled
|
348
|
+
zimbraPasswordMaxLength
|
349
|
+
zimbraZimletAvailableZimlets
|
350
|
+
zimbraPasswordEnforceHistory
|
351
|
+
zimbraFeatureTouchClientEnabled
|
352
|
+
zimbraDumpsterEnabled
|
353
|
+
zimbraAttachmentsViewInHtmlOnly
|
354
|
+
zimbraSieveNotifyActionRFCCompliant
|
355
|
+
objectClass
|
356
|
+
zimbraPrefColorMessagesEnabled
|
357
|
+
zimbraPrefCalendarApptAllowAtendeeEdit
|
358
|
+
zimbraMaxContactsPerPage
|
359
|
+
zimbraFeatureCrocodocEnabled
|
360
|
+
zimbraFeatureBriefcasesEnabled
|
361
|
+
zimbraFeatureContactsUpsellEnabled
|
362
|
+
zimbraPrefIncludeSpamInSearch
|
363
|
+
zimbraFeatureVoiceUpsellEnabled
|
364
|
+
zimbraPrefCalendarInitialView
|
365
|
+
zimbraPrefFolderTreeOpen
|
366
|
+
zimbraPrefInboxUnreadLifetime
|
367
|
+
zimbraFeatureInstantNotify
|
368
|
+
zimbraMobilePolicyAllowBluetooth
|
369
|
+
zimbraMobilePolicyDevicePasswordEnabled
|
370
|
+
zimbraPrefImapSearchFoldersEnabled
|
371
|
+
zimbraFeatureAppSpecificPasswordsEnabled
|
372
|
+
zimbraFeatureMailPollingIntervalPreferenceEnabled
|
373
|
+
zimbraFeatureDistributionListFolderEnabled
|
374
|
+
zimbraPrefMailSendReadReceipts
|
375
|
+
zimbraShareLifetime
|
376
|
+
zimbraInterceptFrom
|
377
|
+
zimbraMobilePolicyAllowWiFi
|
378
|
+
zimbraMailWhitelistMaxNumEntries
|
379
|
+
zimbraMobilePolicyAllowTextMessaging
|
380
|
+
zimbraPrefForwardIncludeOriginalText
|
381
|
+
zimbraMobilePolicyAllowPartialProvisioning
|
382
|
+
zimbraPrefMailItemsPerPage
|
383
|
+
zimbraPrefUseKeyboardShortcuts
|
384
|
+
zimbraPublicShareLifetime
|
385
|
+
zimbraMobilePolicyMinDevicePasswordLength
|
386
|
+
zimbraTwoFactorAuthNumScratchCodes
|
387
|
+
zimbraFeatureConfirmationPageEnabled
|
388
|
+
zimbraFileUploadMaxSizePerFile
|
389
|
+
zimbraMobilePolicySuppressDeviceEncryption
|
390
|
+
zimbraWebClientOfflineSyncMaxDays
|
391
|
+
zimbraPasswordLockoutDuration
|
392
|
+
zimbraPrefTimeZoneId
|
393
|
+
zimbraSieveEditHeaderEnabled
|
394
|
+
zimbraFeatureNewMailNotificationEnabled
|
395
|
+
zimbraProxyCacheableContentTypes
|
396
|
+
zimbraPasswordMinLength
|
397
|
+
zimbraPrefShortEmailAddress
|
398
|
+
zimbraFeatureOpenMailInNewWindowEnabled
|
399
|
+
zimbraPrefIMHideOfflineBuddies
|
400
|
+
zimbraMobilePolicyAllowUnsignedApplications
|
401
|
+
zimbraMobilePolicyMaxInactivityTimeDeviceLock
|
402
|
+
zimbraFeatureGalEnabled
|
403
|
+
zimbraFilePreviewMaxSize
|
404
|
+
zimbraMailPurgeUseChangeDateForSpam
|
405
|
+
zimbraContactMaxNumEntries
|
406
|
+
zimbraMailMessageLifetime
|
407
|
+
zimbraAllowAnyFromAddress
|
408
|
+
zimbraFreebusyLocalMailboxNotActive
|
409
|
+
zimbraPrefChatEnabled
|
410
|
+
zimbraSmtpRestrictEnvelopeFrom
|
411
|
+
zimbraPasswordLockoutSuppressionProtocols
|
412
|
+
zimbraIMService
|
413
|
+
zimbraPrefInboxReadLifetime
|
414
|
+
zimbraPrefTagTreeOpen
|
415
|
+
zimbraMobileShareContactEnabled
|
416
|
+
zimbraFeatureGalAutoCompleteEnabled
|
417
|
+
zimbraPrefGetMailAction
|
418
|
+
zimbraMobilePolicyAllowHTMLEmail
|
419
|
+
zimbraTouchJSErrorTrackingEnabled
|
420
|
+
zimbraFeatureNotebookEnabled
|
421
|
+
zimbraPrefAutoAddAddressEnabled
|
422
|
+
zimbraFeatureTwoFactorAuthAvailable
|
423
|
+
zimbraFeatureSkinChangeEnabled
|
424
|
+
zimbraFeatureMobilePolicyEnabled
|
425
|
+
zimbraMobilePolicyMaxEmailHTMLBodyTruncationSize
|
426
|
+
zimbraPrefReadingPaneLocation
|
427
|
+
zimbraMailForwardingAddressMaxLength
|
428
|
+
zimbraFeatureMailEnabled
|
429
|
+
zimbraFeatureDataSourcePurgingEnabled
|
430
|
+
zimbraContactEmailFields
|
431
|
+
zimbraFeaturePortalEnabled
|
432
|
+
zimbraPrefCalendarReminderSendEmail
|
433
|
+
zimbraFeatureCalendarReminderDeviceEmailEnabled
|
434
|
+
zimbraFeatureShortcutAliasesEnabled
|
435
|
+
zimbraPrefCalendarSendInviteDeniedAutoReply
|
436
|
+
zimbraDumpsterUserVisibleAge
|
437
|
+
zimbraFeatureHtmlComposeEnabled
|
438
|
+
zimbraFeatureFiltersEnabled
|
439
|
+
zimbraFeatureFromDisplayEnabled
|
440
|
+
zimbraPrefIMIdleTimeout
|
441
|
+
zimbraFeatureInitialSearchPreferenceEnabled
|
442
|
+
zimbraFeatureMobileSyncEnabled
|
443
|
+
zimbraTwoFactorAuthTokenLifetime
|
444
|
+
zimbraFeatureExportFolderEnabled
|
445
|
+
zimbraMailTrashLifetime
|
446
|
+
zimbraMobileSyncRedoMaxAttempts
|
447
|
+
].freeze
|
448
|
+
|
449
|
+
ALL_ATTRS = ZM_COS_ATTRS
|
450
|
+
ATTRS_READ = ZM_COS_ATTRS
|
451
|
+
ATTRS_WRITE = ZM_COS_ATTRS
|
452
|
+
|
453
|
+
ATTRS_READ.each { |attr| attr_reader attr }
|
454
|
+
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
455
|
+
|
456
|
+
def attrs_read
|
457
|
+
ATTRS_READ
|
458
|
+
end
|
459
|
+
|
460
|
+
def attrs_write
|
461
|
+
ATTRS_WRITE
|
462
|
+
end
|
463
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module DistributionListCommon
|
2
|
+
ALL_ATTRS = %w[
|
3
|
+
mail
|
4
|
+
zimbraMailStatus
|
5
|
+
displayName
|
6
|
+
zimbraMailAlias
|
7
|
+
cn
|
8
|
+
zimbraMailForwardingAddress
|
9
|
+
description
|
10
|
+
].freeze
|
11
|
+
|
12
|
+
ATTRS_READ = %w[zimbraMailAlias]
|
13
|
+
|
14
|
+
ATTRS_WRITE = %w[
|
15
|
+
zimbraMailStatus
|
16
|
+
displayName
|
17
|
+
cn
|
18
|
+
zimbraMailTransport
|
19
|
+
zimbraMailForwardingAddress
|
20
|
+
description
|
21
|
+
].freeze
|
22
|
+
|
23
|
+
ATTRS_READ.each { |attr| attr_reader attr }
|
24
|
+
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
25
|
+
|
26
|
+
def attrs_read
|
27
|
+
ATTRS_READ
|
28
|
+
end
|
29
|
+
|
30
|
+
def attrs_write
|
31
|
+
ATTRS_WRITE
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module IdentityCommon
|
2
|
+
ALL_ATTRS = %w[zimbraPrefForwardIncludeOriginalText zimbraPrefUseDefaultIdentitySettings zimbraPrefMailSignatureStyle
|
3
|
+
zimbraPrefMailSignatureEnabled zimbraPrefIdentityId zimbraPrefForwardReplyFormat zimbraPrefReplyIncludeOriginalText
|
4
|
+
zimbraPrefForwardReplyPrefixChar zimbraPrefWhenSentToAddresses zimbraPrefFromDisplay zimbraPrefForwardReplySignatureId
|
5
|
+
zimbraPrefReplyToEnabled zimbraPrefIdentityName zimbraPrefFromAddress zimbraPrefWhenInFoldersEnabled zimbraPrefWhenSentToEnabled].freeze
|
6
|
+
ATTRS_READ = []
|
7
|
+
ATTRS_WRITE = ALL_ATTRS
|
8
|
+
|
9
|
+
ATTRS_READ.each { |attr| attr_reader attr }
|
10
|
+
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
11
|
+
|
12
|
+
def attrs_read
|
13
|
+
ATTRS_READ
|
14
|
+
end
|
15
|
+
|
16
|
+
def attrs_write
|
17
|
+
ATTRS_WRITE
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module ResourceCommon
|
2
|
+
ALL_ATTRS = %w[
|
3
|
+
zimbraMailDeliveryAddress
|
4
|
+
zimbraAccountCalendarUserType
|
5
|
+
displayName
|
6
|
+
zimbraCalResAutoDeclineIfBusy
|
7
|
+
zimbraCalResType
|
8
|
+
zimbraMailStatus
|
9
|
+
zimbraMailDeliveryAddress
|
10
|
+
zimbraAccountStatus
|
11
|
+
cn
|
12
|
+
sn
|
13
|
+
zimbraCalResAutoAcceptDecline
|
14
|
+
zimbraCalResContactEmail
|
15
|
+
zimbraCalResContactName
|
16
|
+
zimbraCalResContactPhone
|
17
|
+
zimbraCalResSite
|
18
|
+
zimbraCalResRoom
|
19
|
+
zimbraNotes
|
20
|
+
zimbraCalResLocationDisplayName
|
21
|
+
description
|
22
|
+
userPassword
|
23
|
+
].freeze
|
24
|
+
|
25
|
+
ATTRS_READ = []
|
26
|
+
|
27
|
+
ATTRS_WRITE = %w[
|
28
|
+
zimbraAccountCalendarUserType
|
29
|
+
displayName
|
30
|
+
zimbraCalResAutoDeclineIfBusy
|
31
|
+
zimbraCalResType
|
32
|
+
zimbraMailStatus
|
33
|
+
zimbraAccountStatus
|
34
|
+
cn
|
35
|
+
sn
|
36
|
+
zimbraCalResAutoAcceptDecline
|
37
|
+
zimbraCalResContactEmail
|
38
|
+
zimbraCalResContactName
|
39
|
+
zimbraCalResContactPhone
|
40
|
+
zimbraCalResSite
|
41
|
+
zimbraCalResRoom
|
42
|
+
zimbraNotes
|
43
|
+
zimbraCalResLocationDisplayName
|
44
|
+
description
|
45
|
+
userPassword
|
46
|
+
zimbraPrefCalendarForwardInvitesTo
|
47
|
+
].freeze
|
48
|
+
|
49
|
+
ATTRS_READ.each { |attr| attr_reader attr }
|
50
|
+
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
51
|
+
|
52
|
+
def attrs_read
|
53
|
+
ATTRS_READ
|
54
|
+
end
|
55
|
+
|
56
|
+
def attrs_write
|
57
|
+
ATTRS_WRITE
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module SignatureCommon
|
2
|
+
ALL_ATTRS = %w[zimbraSignatureId zimbraSignatureName zimbraPrefMailSignatureHTML zimbraPrefMailSignature].freeze
|
3
|
+
ATTRS_READ = []
|
4
|
+
ATTRS_WRITE = ALL_ATTRS
|
5
|
+
|
6
|
+
ATTRS_READ.each { |attr| attr_reader attr }
|
7
|
+
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
8
|
+
|
9
|
+
def attrs_read
|
10
|
+
ATTRS_READ
|
11
|
+
end
|
12
|
+
|
13
|
+
def attrs_write
|
14
|
+
ATTRS_WRITE
|
15
|
+
end
|
16
|
+
end
|