public override int GetVersion()
        {
            var dnnSettingsHelper = new ClientResourceSettings();
            var settingsVersion   = dnnSettingsHelper.GetVersion();

            return(settingsVersion.HasValue ? settingsVersion.Value : base.GetVersion());
        }
        public virtual void LoadPortalSettings(PortalSettings portalSettings)
        {
            var settings = PortalController.Instance.GetPortalSettings(portalSettings.PortalId);

            portalSettings.Registration = new RegistrationSettings(settings);

            var  clientResourcesSettings   = new ClientResourceSettings();
            bool overridingDefaultSettings = clientResourcesSettings.IsOverridingDefaultSettingsEnabled();

            int crmVersion;

            if (overridingDefaultSettings)
            {
                int?globalVersion = new ClientResourceSettings().GetVersion();
                crmVersion = globalVersion ?? default(int);
            }
            else
            {
                crmVersion = settings.GetValueOrDefault("CrmVersion", HostController.Instance.GetInteger("CrmVersion"));
            }

            portalSettings.AllowUserUICulture          = settings.GetValueOrDefault("AllowUserUICulture", false);
            portalSettings.CdfVersion                  = crmVersion;
            portalSettings.ContentLocalizationEnabled  = settings.GetValueOrDefault("ContentLocalizationEnabled", false);
            portalSettings.DefaultAdminContainer       = settings.GetValueOrDefault("DefaultAdminContainer", Host.Host.DefaultAdminContainer);
            portalSettings.DefaultAdminSkin            = settings.GetValueOrDefault("DefaultAdminSkin", Host.Host.DefaultAdminSkin);
            portalSettings.DefaultIconLocation         = settings.GetValueOrDefault("DefaultIconLocation", "icons/sigma");
            portalSettings.DefaultModuleId             = settings.GetValueOrDefault("defaultmoduleid", Null.NullInteger);
            portalSettings.DefaultModuleActionMenu     = settings.GetValueOrDefault("DefaultModuleActionMenu", "~/admin/Menus/ModuleActions/ModuleActions.ascx");
            portalSettings.DefaultPortalContainer      = settings.GetValueOrDefault("DefaultPortalContainer", Host.Host.DefaultPortalContainer);
            portalSettings.DefaultPortalSkin           = settings.GetValueOrDefault("DefaultPortalSkin", Host.Host.DefaultPortalSkin);
            portalSettings.DefaultTabId                = settings.GetValueOrDefault("defaulttabid", Null.NullInteger);
            portalSettings.EnableBrowserLanguage       = settings.GetValueOrDefault("EnableBrowserLanguage", Host.Host.EnableBrowserLanguage);
            portalSettings.EnableCompositeFiles        = settings.GetValueOrDefault("EnableCompositeFiles", false);
            portalSettings.EnablePopUps                = settings.GetValueOrDefault("EnablePopUps", true);
            portalSettings.HideLoginControl            = settings.GetValueOrDefault("HideLoginControl", false);
            portalSettings.EnableSkinWidgets           = settings.GetValueOrDefault("EnableSkinWidgets", true);
            portalSettings.ShowCookieConsent           = settings.GetValueOrDefault("ShowCookieConsent", false);
            portalSettings.CookieMoreLink              = settings.GetValueOrDefault("CookieMoreLink", Null.NullString);
            portalSettings.EnableUrlLanguage           = settings.GetValueOrDefault("EnableUrlLanguage", Host.Host.EnableUrlLanguage);
            portalSettings.HideFoldersEnabled          = settings.GetValueOrDefault("HideFoldersEnabled", true);
            portalSettings.InlineEditorEnabled         = settings.GetValueOrDefault("InlineEditorEnabled", true);
            portalSettings.SearchIncludeCommon         = settings.GetValueOrDefault("SearchIncludeCommon", Host.Host.SearchIncludeCommon);
            portalSettings.SearchIncludeNumeric        = settings.GetValueOrDefault("SearchIncludeNumeric", Host.Host.SearchIncludeNumeric);
            portalSettings.SearchIncludedTagInfoFilter = settings.GetValueOrDefault("SearchIncludedTagInfoFilter", Host.Host.SearchIncludedTagInfoFilter);
            portalSettings.SearchMaxWordlLength        = settings.GetValueOrDefault("MaxSearchWordLength", Host.Host.SearchMaxWordlLength);
            portalSettings.SearchMinWordlLength        = settings.GetValueOrDefault("MinSearchWordLength", Host.Host.SearchMinWordlLength);
            portalSettings.SSLEnabled                  = settings.GetValueOrDefault("SSLEnabled", false);
            portalSettings.SSLEnforced                 = settings.GetValueOrDefault("SSLEnforced", false);
            portalSettings.SSLURL = settings.GetValueOrDefault("SSLURL", Null.NullString);
            portalSettings.STDURL = settings.GetValueOrDefault("STDURL", Null.NullString);
            portalSettings.EnableRegisterNotification = settings.GetValueOrDefault("EnableRegisterNotification", true);
            portalSettings.DefaultAuthProvider        = settings.GetValueOrDefault("DefaultAuthProvider", "DNN");
            portalSettings.SMTPConnectionLimit        = settings.GetValueOrDefault("SMTPConnectionLimit", 2);
            portalSettings.SMTPMaxIdleTime            = settings.GetValueOrDefault("SMTPMaxIdleTime", 100000);

            portalSettings.ControlPanelSecurity = PortalSettings.ControlPanelPermission.ModuleEditor;
            string setting = settings.GetValueOrDefault("ControlPanelSecurity", string.Empty);

            if (setting.Equals("TAB", StringComparison.InvariantCultureIgnoreCase))
            {
                portalSettings.ControlPanelSecurity = PortalSettings.ControlPanelPermission.TabEditor;
            }

            portalSettings.DefaultControlPanelMode = PortalSettings.Mode.View;
            setting = settings.GetValueOrDefault("ControlPanelMode", string.Empty);
            if (setting.Equals("EDIT", StringComparison.InvariantCultureIgnoreCase))
            {
                portalSettings.DefaultControlPanelMode = PortalSettings.Mode.Edit;
            }

            setting = settings.GetValueOrDefault("ControlPanelVisibility", string.Empty);
            portalSettings.DefaultControlPanelVisibility = !setting.Equals("MIN", StringComparison.InvariantCultureIgnoreCase);

            setting = settings.GetValueOrDefault("TimeZone", string.Empty);
            if (!string.IsNullOrEmpty(setting))
            {
                var timeZone = TimeZoneInfo.FindSystemTimeZoneById(setting);
                if (timeZone != null)
                {
                    portalSettings.TimeZone = timeZone;
                }
            }

            setting = settings.GetValueOrDefault("DataConsentActive", "False");
            portalSettings.DataConsentActive = bool.Parse(setting);
            setting = settings.GetValueOrDefault("DataConsentTermsLastChange", string.Empty);
            if (!string.IsNullOrEmpty(setting))
            {
                portalSettings.DataConsentTermsLastChange = DateTime.Parse(setting, System.Globalization.CultureInfo.InvariantCulture);
            }

            setting = settings.GetValueOrDefault("DataConsentConsentRedirect", "-1");
            portalSettings.DataConsentConsentRedirect = int.Parse(setting);
            setting = settings.GetValueOrDefault("DataConsentUserDeleteAction", "0");
            portalSettings.DataConsentUserDeleteAction = (PortalSettings.UserDeleteAction) int.Parse(setting);
            setting = settings.GetValueOrDefault("DataConsentDelay", "1");
            portalSettings.DataConsentDelay = int.Parse(setting);
            setting = settings.GetValueOrDefault("DataConsentDelayMeasurement", "d");
            portalSettings.DataConsentDelayMeasurement = setting;
            setting = settings.GetValueOrDefault("AllowedExtensionsWhitelist", HostController.Instance.GetString("DefaultEndUserExtensionWhitelist"));
            portalSettings.AllowedExtensionsWhitelist = new FileExtensionWhitelist(setting);
        }
 public override int GetVersion()
 {
     var dnnSettingsHelper = new ClientResourceSettings();
     var settingsVersion = dnnSettingsHelper.GetVersion();
     return settingsVersion.HasValue ? settingsVersion.Value : base.GetVersion();
 }