Пример #1
0
        // Token: 0x06000818 RID: 2072 RVA: 0x0003BA7C File Offset: 0x00039C7C
        internal Configuration(IConfigurationSession session, string virtualDirectory, string webSiteName, ADObjectId vDirADObjectId, bool isPhoneticSupportEnabled)
        {
            base.PhoneticSupportEnabled = isPhoneticSupportEnabled;
            if (Globals.IsPreCheckinApp)
            {
                this.ExpirationTime = DateTime.UtcNow + Configuration.expirationPeriod;
                this.LoadPreCheckInVdirConfiguration();
                return;
            }
            ADOwaVirtualDirectory adowaVirtualDirectory = session.Read <ADOwaVirtualDirectory>(vDirADObjectId);

            if (adowaVirtualDirectory == null)
            {
                string message = string.Format(LocalizedStrings.GetNonEncoded(-1166886287), virtualDirectory, webSiteName);
                throw new OwaInvalidConfigurationException(message);
            }
            this.formsAuthenticationEnabled = (adowaVirtualDirectory.InternalAuthenticationMethods.Contains(AuthenticationMethod.Fba) ? 1 : 0);
            AttachmentPolicy.Level treatUnknownTypeAs = ConfigurationBase.AttachmentActionToLevel(adowaVirtualDirectory.ActionForUnknownFileAndMIMETypes);
            AttachmentPolicy       attachmentPolicy   = new AttachmentPolicy(adowaVirtualDirectory.BlockedFileTypes.ToArray(), adowaVirtualDirectory.BlockedMimeTypes.ToArray(), adowaVirtualDirectory.ForceSaveFileTypes.ToArray(), adowaVirtualDirectory.ForceSaveMimeTypes.ToArray(), adowaVirtualDirectory.AllowedFileTypes.ToArray(), adowaVirtualDirectory.AllowedMimeTypes.ToArray(), treatUnknownTypeAs, adowaVirtualDirectory.DirectFileAccessOnPublicComputersEnabled.Value, adowaVirtualDirectory.DirectFileAccessOnPrivateComputersEnabled.Value, adowaVirtualDirectory.ForceWebReadyDocumentViewingFirstOnPublicComputers.Value, adowaVirtualDirectory.ForceWebReadyDocumentViewingFirstOnPrivateComputers.Value, adowaVirtualDirectory.WebReadyDocumentViewingOnPublicComputersEnabled.Value, adowaVirtualDirectory.WebReadyDocumentViewingOnPrivateComputersEnabled.Value, adowaVirtualDirectory.WebReadyFileTypes.ToArray(), adowaVirtualDirectory.WebReadyMimeTypes.ToArray(), adowaVirtualDirectory.WebReadyDocumentViewingSupportedFileTypes.ToArray(), adowaVirtualDirectory.WebReadyDocumentViewingSupportedMimeTypes.ToArray(), adowaVirtualDirectory.WebReadyDocumentViewingForAllSupportedTypes.Value);

            base.AttachmentPolicy             = attachmentPolicy;
            base.DefaultClientLanguage        = adowaVirtualDirectory.DefaultClientLanguage.Value;
            this.filterWebBeaconsAndHtmlForms = adowaVirtualDirectory.FilterWebBeaconsAndHtmlForms.Value;
            base.LogonAndErrorLanguage        = adowaVirtualDirectory.LogonAndErrorLanguage;
            this.logonFormat                            = adowaVirtualDirectory.LogonFormat;
            this.defaultDomain                          = adowaVirtualDirectory.DefaultDomain;
            this.notificationInterval                   = (adowaVirtualDirectory.NotificationInterval ?? 120);
            this.sessionTimeout                         = (adowaVirtualDirectory.UserContextTimeout ?? 60);
            this.redirectToOptimalOWAServer             = (adowaVirtualDirectory.RedirectToOptimalOWAServer == true);
            base.DefaultTheme                           = adowaVirtualDirectory.DefaultTheme;
            base.SetPhotoURL                            = adowaVirtualDirectory.SetPhotoURL;
            this.clientAuthCleanupLevel                 = adowaVirtualDirectory.ClientAuthCleanupLevel;
            this.imCertificateThumbprint                = adowaVirtualDirectory.InstantMessagingCertificateThumbprint;
            this.imServerName                           = adowaVirtualDirectory.InstantMessagingServerName;
            this.isSMimeEnabledOnCurrentServerr         = (adowaVirtualDirectory.SMimeEnabled ?? false);
            this.documentAccessAllowedServers           = adowaVirtualDirectory.RemoteDocumentsAllowedServers.ToArray();
            this.documentAccessBlockedServers           = adowaVirtualDirectory.RemoteDocumentsBlockedServers.ToArray();
            this.documentAccessInternalDomainSuffixList = adowaVirtualDirectory.RemoteDocumentsInternalDomainSuffixList.ToArray();
            RemoteDocumentsActions?remoteDocumentsActions = adowaVirtualDirectory.RemoteDocumentsActionForUnknownServers;

            if (remoteDocumentsActions != null)
            {
                if (remoteDocumentsActions == RemoteDocumentsActions.Allow)
                {
                    this.remoteDocumentsActionForUnknownServers = RemoteDocumentsActions.Allow;
                }
                else
                {
                    this.remoteDocumentsActionForUnknownServers = RemoteDocumentsActions.Block;
                }
            }
            base.InternalAuthenticationMethod = ConfigurationBase.GetAuthenticationMethod(adowaVirtualDirectory[ADVirtualDirectorySchema.InternalAuthenticationMethodFlags]);
            base.ExternalAuthenticationMethod = ConfigurationBase.GetAuthenticationMethod(adowaVirtualDirectory[ADVirtualDirectorySchema.ExternalAuthenticationMethodFlags]);
            base.Exchange2003Url    = adowaVirtualDirectory.Exchange2003Url;
            base.LegacyRedirectType = LegacyRedirectTypeOptions.Silent;
            int segmentationBits  = (int)adowaVirtualDirectory[ADOwaVirtualDirectorySchema.ADMailboxFolderSet];
            int segmentationBits2 = (int)adowaVirtualDirectory[ADOwaVirtualDirectorySchema.ADMailboxFolderSet2];

            base.SegmentationFlags = Utilities.SetSegmentationFlags(segmentationBits, segmentationBits2);
            if (adowaVirtualDirectory.OutboundCharset != null)
            {
                base.OutboundCharset = adowaVirtualDirectory.OutboundCharset.Value;
            }
            if (adowaVirtualDirectory.UseGB18030 != null && adowaVirtualDirectory.UseGB18030.Value)
            {
                base.UseGB18030 = true;
            }
            else
            {
                base.UseGB18030 = false;
            }
            if (adowaVirtualDirectory.UseISO885915 != null && adowaVirtualDirectory.UseISO885915.Value)
            {
                base.UseISO885915 = true;
            }
            else
            {
                base.UseISO885915 = false;
            }
            base.InstantMessagingType           = ((adowaVirtualDirectory.InstantMessagingType != null) ? adowaVirtualDirectory.InstantMessagingType.Value : InstantMessagingTypeOptions.None);
            this.defaultAcceptedDomain          = session.GetDefaultAcceptedDomain();
            this.publicFoldersEnabledOnThisVdir = (adowaVirtualDirectory.PublicFoldersEnabled ?? false);
            this.ExpirationTime = DateTime.UtcNow + Configuration.expirationPeriod;
            OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_ConfigurationSettingsUpdated, string.Empty, new object[]
            {
                virtualDirectory,
                webSiteName
            });
        }