|
|
|
@ -51,6 +51,9 @@ namespace Teknik.Piwik
@@ -51,6 +51,9 @@ namespace Teknik.Piwik
|
|
|
|
|
if (request.UrlReferrer != null) |
|
|
|
|
tracker.SetUrlReferrer(request.UrlReferrer.ToString()); |
|
|
|
|
|
|
|
|
|
if (request.Url != null) |
|
|
|
|
tracker.SetUrl(request.Url.ToString()); |
|
|
|
|
|
|
|
|
|
// Send the tracking request
|
|
|
|
|
tracker.DoTrackPageView(string.Format("{0}/{1}", sub, title)); |
|
|
|
|
} |
|
|
|
@ -61,36 +64,36 @@ namespace Teknik.Piwik
@@ -61,36 +64,36 @@ namespace Teknik.Piwik
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void TrackDownload(HttpRequestBase request, Config config, string url) |
|
|
|
|
public static void TrackDownload(bool dnt, int siteId, string siteUrl, string userAgent, string clientIp, string token, string url, string urlReferrer) |
|
|
|
|
{ |
|
|
|
|
TrackAction(request, config, url, ActionType.Download); |
|
|
|
|
TrackAction(ActionType.Download, dnt, siteId, siteUrl, userAgent, clientIp, token, url, urlReferrer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void TrackLink(HttpRequestBase request, Config config, string url) |
|
|
|
|
public static void TrackLink(bool dnt, int siteId, string siteUrl, string userAgent, string clientIp, string token, string url, string urlReferrer) |
|
|
|
|
{ |
|
|
|
|
TrackAction(request, config, url, ActionType.Link); |
|
|
|
|
TrackAction(ActionType.Link, dnt, siteId, siteUrl, userAgent, clientIp, token, url, urlReferrer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void TrackAction(HttpRequestBase request, Config config, string url, ActionType type) |
|
|
|
|
private static void TrackAction(ActionType type, bool dnt, int siteId, string siteUrl, string userAgent, string clientIp, string token, string url, string urlReferrer) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
// Follow Do Not Track
|
|
|
|
|
string doNotTrack = request.Headers["DNT"]; |
|
|
|
|
if (string.IsNullOrEmpty(doNotTrack) || doNotTrack != "1") |
|
|
|
|
if (dnt) |
|
|
|
|
{ |
|
|
|
|
PiwikTracker tracker = new PiwikTracker(config.PiwikConfig.SiteId, config.PiwikConfig.Url); |
|
|
|
|
|
|
|
|
|
tracker.SetUserAgent(request.UserAgent); |
|
|
|
|
PiwikTracker tracker = new PiwikTracker(siteId, siteUrl); |
|
|
|
|
|
|
|
|
|
string ipAddress = request.ClientIPFromRequest(true); |
|
|
|
|
tracker.SetUserAgent(userAgent); |
|
|
|
|
|
|
|
|
|
tracker.SetIp(ipAddress); |
|
|
|
|
tracker.SetTokenAuth(config.PiwikConfig.TokenAuth); |
|
|
|
|
tracker.SetIp(clientIp); |
|
|
|
|
tracker.SetTokenAuth(token); |
|
|
|
|
|
|
|
|
|
// Get Referral
|
|
|
|
|
if (request.UrlReferrer != null) |
|
|
|
|
tracker.SetUrlReferrer(request.UrlReferrer.ToString()); |
|
|
|
|
if (!string.IsNullOrEmpty(urlReferrer)) |
|
|
|
|
tracker.SetUrlReferrer(urlReferrer); |
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(url)) |
|
|
|
|
tracker.SetUrl(url); |
|
|
|
|
|
|
|
|
|
tracker.DoTrackAction(url, type); |
|
|
|
|
} |
|
|
|
|