Example #1
0
        private static void TrackAction(HttpContext context, Config config, ActionType type, string userAgent, string clientIp, string url, string urlReferrer)
        {
            try
            {
                if (config.PiwikConfig.Enabled)
                {
                    PiwikTracker tracker = new PiwikTracker(config.PiwikConfig.SiteId, config.PiwikConfig.Url, context);

                    tracker.SetUserAgent(userAgent);

                    tracker.SetIp(clientIp);
                    tracker.SetTokenAuth(config.PiwikConfig.TokenAuth);

                    // Get Referral
                    if (!string.IsNullOrEmpty(urlReferrer))
                    {
                        tracker.SetUrlReferrer(urlReferrer);
                    }

                    if (!string.IsNullOrEmpty(url))
                    {
                        tracker.SetUrl(url);
                    }

                    tracker.DoTrackAction(url, type);
                }
            }
            catch (Exception ex)
            {
            }
        }
        /// <summary>
        /// Records a simple page view with advanced user, browser and server properties
        /// </summary>
        static private void RecordSimplePageViewWithCustomProperties()
        {
            var piwikTracker = new PiwikTracker(SiteId, PiwikBaseUrl);

            piwikTracker.SetUserAgent(UA);

            piwikTracker.SetResolution(1600, 1400);

            piwikTracker.SetIp("192.168.52.64");
            piwikTracker.SetVisitorId("33c31B01394bdc65");

            piwikTracker.SetForceVisitDateTime(new DateTime(2011, 10, 23, 10, 20, 50, DateTimeKind.Utc));

            piwikTracker.SetResolution(1600, 1400);

            piwikTracker.SetTokenAuth("XYZ");

            var browserPluginsToSet = new BrowserPlugins();

            browserPluginsToSet.Silverlight = true;
            browserPluginsToSet.Flash       = true;
            piwikTracker.SetPlugins(browserPluginsToSet);
            piwikTracker.SetBrowserHasCookies(true);

            piwikTracker.SetLocalTime(new DateTime(2000, 1, 1, 9, 10, 25, DateTimeKind.Utc));

            piwikTracker.SetUrl("http://piwik-1.5/supernova");
            piwikTracker.SetUrlReferrer("http://supernovadirectory.org");

            var response = piwikTracker.DoTrackPageView("Document title of current page view");

            DisplayDebugInfo(response);
        }
Example #3
0
        public static void TrackPageView(HttpContext context, Config config, string title, string sub, string clientIp, string url, string urlReferrer, string userAgent, int pixelWidth, int pixelHeight, bool hasCookies, string acceptLang, bool hasJava)
        {
            try
            {
                if (config.PiwikConfig.Enabled)
                {
                    if (config.DevEnvironment)
                    {
                        sub = "dev - " + sub;
                    }

                    PiwikTracker tracker = new PiwikTracker(config.PiwikConfig.SiteId, config.PiwikConfig.Url, context);

                    // Set Request Info
                    tracker.SetIp(clientIp);
                    tracker.SetTokenAuth(config.PiwikConfig.TokenAuth);

                    tracker.SetUserAgent(userAgent);

                    // Set browser info
                    tracker.SetResolution(pixelWidth, pixelHeight);
                    tracker.SetBrowserHasCookies(hasCookies);
                    if (!string.IsNullOrEmpty(acceptLang))
                    {
                        tracker.SetBrowserLanguage(acceptLang);
                    }
                    tracker.SetPlugins(new BrowserPlugins {
                        Java = hasJava
                    });

                    // Get Referral
                    if (!string.IsNullOrEmpty(urlReferrer))
                    {
                        tracker.SetUrlReferrer(urlReferrer);
                    }

                    if (!string.IsNullOrEmpty(url))
                    {
                        tracker.SetUrl(url);
                    }

                    // Send the tracking request
                    tracker.DoTrackPageView(string.Format("{0}/{1}", sub, title));
                }
            }
            catch (Exception)
            {
            }
        }
Example #4
0
        public void SetIp_WhenSpecified_IsAddedToRequest(bool setValue)
        {
            // Arrange
            var expectedIp = "l30.54.2.1";

            //Act
            if (setValue)
            {
                _sut.SetIp(expectedIp);
            }
            // Assert
            var actual = _sut.GetRequest(SiteId);

            if (setValue)
            {
                Assert.That(actual, Does.Contain("&cip=" + HttpUtility.UrlEncode(expectedIp)));
            }
            else
            {
                Assert.That(actual, Does.Not.Contain("&cip"));
            }
        }