示例#1
0
        public override GoogleAnalyticsSettings GetGoogleAnalyticsSettings()
        {
            var config = AnalyticsConfiguration.GetConfig("GoogleAnalytics");
            var result = new GoogleAnalyticsSettings();

            if (config != null)
            {
                bool?enable = null;
                foreach (AnalyticsSetting setting in config.Settings)
                {
                    switch (setting.SettingName.ToLower())
                    {
                    case "enable":
                        result.UseTracker = bool.Parse(setting.SettingValue);
                        break;

                    case "trackingid":
                        result.TrackerId = setting.SettingValue;
                        break;
                    }
                }
                if (!enable.HasValue)
                {
                    enable = !string.IsNullOrEmpty(result.TrackerId);
                }
                if (enable.HasValue)
                {
                    result.UseTracker = enable.Value;
                }
            }
            return(result);
        }
示例#2
0
        public static IDictionary <string, dynamic> GetConfig()
        {
            AnalyticsConfiguration config = AnalyticsConfiguration.GetConfig("GoogleAnalytics");
            string empty         = string.Empty;
            string settingValue  = string.Empty;
            bool   trackforadmin = false;
            bool   anonymizeip   = false;
            bool   trackuserid   = false;

            if (config != null)
            {
                foreach (AnalyticsSetting setting in config.Settings)
                {
                    string lower = setting.SettingName.ToLower();
                    if (lower == "trackingid")
                    {
                        empty = setting.SettingValue;
                    }
                    else if (lower == "urlparameter")
                    {
                        settingValue = setting.SettingValue;
                    }
                    else if (lower == "trackforadmin")
                    {
                        if (bool.TryParse(setting.SettingValue, out trackforadmin))
                        {
                            continue;
                        }
                        trackforadmin = true;
                    }
                    else if (lower == "anonymizeip")
                    {
                        if (bool.TryParse(setting.SettingValue, out anonymizeip))
                        {
                            continue;
                        }
                        anonymizeip = true;
                    }
                    else if (lower == "trackuserid")
                    {
                        if (bool.TryParse(setting.SettingValue, out trackuserid))
                        {
                            continue;
                        }
                        trackuserid = true;
                    }
                }
            }
            return(new Dictionary <string, dynamic>()
            {
                { "TrackingID", empty },
                { "UrlParameter", settingValue },
                { "TrackAdministrators", trackforadmin },
                { "AnonymizeIp", anonymizeip },
                { "TrackUserId", trackuserid },
                { "isDeactivating", false.ToString() }
            });
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            cmdUpdate.Click += OnUpdateClick;

            try
            {
                if (Page.IsPostBack == false)
                {
                    var config = AnalyticsConfiguration.GetConfig("GoogleAnalytics");
                    if (config != null)
                    {
                        var trackingId    = "";
                        var urlParameter  = "";
                        var trackForAdmin = true;
                        foreach (AnalyticsSetting setting in config.Settings)
                        {
                            switch (setting.SettingName.ToLower())
                            {
                            case "trackingid":
                                trackingId = setting.SettingValue;
                                break;

                            case "urlparameter":
                                urlParameter = setting.SettingValue;
                                break;

                            case "trackforadmin":
                                if (!bool.TryParse(setting.SettingValue, out trackForAdmin))
                                {
                                    trackForAdmin = true;
                                }
                                break;
                            }
                        }
                        txtTrackingId.Text       = trackingId;
                        txtUrlParameter.Text     = urlParameter;
                        chkTrackForAdmin.Checked = trackForAdmin;
                    }
                }
            }
            catch (Exception exc)
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
示例#4
0
        public override void SetGoogleAnalyticsSettings(GoogleAnalyticsSettings newSettings)
        {
            var config = AnalyticsConfiguration.GetConfig("GoogleAnalytics");

            if (config == null)
            {
                var isCommunityEdition = DotNetNukeContext.Current.Application.Name == "DNNCORP.CE";

                config = new AnalyticsConfiguration();
                if (!isCommunityEdition)
                {
                    config.Rules = new AnalyticsRuleCollection();
                }
                config.Settings = new AnalyticsSettingCollection();

                if (!isCommunityEdition)
                {
                    var enable = new AnalyticsSetting();
                    enable.SettingName = "Enable";
                    config.Settings.Add(enable);
                }

                var trackingId = new AnalyticsSetting();
                trackingId.SettingName = "TrackingId";
                config.Settings.Add(trackingId);
            }

            foreach (AnalyticsSetting setting in config.Settings)
            {
                switch (setting.SettingName.ToLower())
                {
                case "enable":
                    setting.SettingValue = newSettings.UseTracker.ToString();
                    break;

                case "trackingid":
                    setting.SettingValue = newSettings.TrackerId;
                    break;
                }
            }
            AnalyticsConfiguration.SaveConfig("GoogleAnalytics", config);
        }
示例#5
0
        public IDictionary <string, string> GetConfig(int portalId)
        {
            var analyticsConfig = AnalyticsConfiguration.GetConfig("GoogleAnalytics");
            var trackingId      = String.Empty;
            var urlParameter    = String.Empty;
            var trackForAdmin   = false;

            if (analyticsConfig != null)
            {
                foreach (AnalyticsSetting setting in analyticsConfig.Settings)
                {
                    switch (setting.SettingName.ToLower())
                    {
                    case "trackingid":
                        trackingId = setting.SettingValue;
                        break;

                    case "urlparameter":
                        urlParameter = setting.SettingValue;
                        break;

                    case "trackforadmin":
                        if (!bool.TryParse(setting.SettingValue, out trackForAdmin))
                        {
                            trackForAdmin = true;
                        }
                        break;
                    }
                }
            }

            var configItems = new Dictionary <string, string>
            {
                { "TrackingID", trackingId },
                { "UrlParameter", urlParameter },
                { "TrackAdministrators", trackForAdmin.ToString() },
                { "isDeactivating", false.ToString() }
            };

            return(configItems);
        }
示例#6
0
 public AnalyticsConfiguration GetConfig()
 {
     return(AnalyticsConfiguration.GetConfig(EngineName));
 }
示例#7
0
        public IDictionary <string, string> GetConfig(int portalId)
        {
            var analyticsConfig = AnalyticsConfiguration.GetConfig("GoogleAnalytics");
            var portalSettings  = new PortalSettings(portalId);

            // Important, knockout handles empty strings as false and any other string as true
            // so we need to pass empty strings when we mean false, however it passes us back the string "false"
            // when saving the settings in the SaveConfig method, so we need to handle that case too
            var trackingId    = string.Empty;
            var urlParameter  = string.Empty;
            var trackForAdmin = string.Empty;
            var anonymizeIp   = string.Empty;
            var trackUserId   = string.Empty;

            if (analyticsConfig != null)
            {
                foreach (AnalyticsSetting setting in analyticsConfig.Settings)
                {
                    switch (setting.SettingName.ToLower())
                    {
                    case "trackingid":
                        trackingId = setting.SettingValue;
                        break;

                    case "urlparameter":
                        urlParameter = setting.SettingValue;
                        break;

                    case "trackforadmin":
                        trackForAdmin = HandleCustomBoolean(setting.SettingValue);
                        break;

                    case "anonymizeip":
                        anonymizeIp = HandleCustomBoolean(setting.SettingValue);
                        break;

                    case "trackuserid":
                        trackUserId = HandleCustomBoolean(setting.SettingValue);
                        break;
                    }
                }
            }

            if (portalSettings.DataConsentActive)
            {
                anonymizeIp = "true";
            }

            var configItems = new Dictionary <string, string>
            {
                { "TrackingID", trackingId },
                { "UrlParameter", urlParameter },
                { "TrackAdministrators", trackForAdmin },
                { "AnonymizeIp", anonymizeIp },
                { "TrackUserId", trackUserId },
                { "DataConsent", HandleCustomBoolean(portalSettings.DataConsentActive.ToString()) },
                { "isDeactivating", HandleCustomBoolean("false") }
            };

            return(configItems);
        }
示例#8
0
        public IDictionary <string, string> GetConfig(int portalId)
        {
            var analyticsConfig = AnalyticsConfiguration.GetConfig("GoogleAnalytics");
            var portalSettings  = new PortalSettings(portalId);

            var trackingId    = String.Empty;
            var urlParameter  = String.Empty;
            var trackForAdmin = false;
            var anonymizeIp   = false;
            var trackUserId   = false;

            if (analyticsConfig != null)
            {
                foreach (AnalyticsSetting setting in analyticsConfig.Settings)
                {
                    switch (setting.SettingName.ToLower())
                    {
                    case "trackingid":
                        trackingId = setting.SettingValue;
                        break;

                    case "urlparameter":
                        urlParameter = setting.SettingValue;
                        break;

                    case "trackforadmin":
                        if (!bool.TryParse(setting.SettingValue, out trackForAdmin))
                        {
                            trackForAdmin = true;
                        }
                        break;

                    case "anonymizeip":
                        if (!bool.TryParse(setting.SettingValue, out anonymizeIp))
                        {
                            anonymizeIp = false;
                        }
                        break;

                    case "trackuserid":
                        if (!bool.TryParse(setting.SettingValue, out trackUserId))
                        {
                            trackUserId = false;
                        }
                        break;
                    }
                }
            }

            if (portalSettings.DataConsentActive)
            {
                anonymizeIp = true;
            }

            var configItems = new Dictionary <string, string>
            {
                { "TrackingID", trackingId },
                { "UrlParameter", urlParameter },
                { "TrackAdministrators", trackForAdmin.ToString() },
                { "AnonymizeIp", anonymizeIp.ToString() },
                { "TrackUserId", trackUserId.ToString() },
                { "DataConsent", portalSettings.DataConsentActive.ToString() },
                { "isDeactivating", false.ToString() }
            };

            return(configItems);
        }