using System;
using System.Data;
using System.Web;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.SiteProvider;
///
/// Web analytics marketing functions.
///
public static class WebAnalyticsFunctions
{
///
/// Returns true if current visitor is returning.
///
public static bool IsReturningVisitor()
{
return CMSContext.CurrentVisitStatus == CMS.WebAnalytics.VisitorStatusEnum.MoreVisits;
}
///
/// Returns true if current visitor comes to the website for the first time.
///
public static bool IsFirstTimeVisitor()
{
return CMSContext.CurrentVisitStatus == CMS.WebAnalytics.VisitorStatusEnum.FirstVisit;
}
///
/// Returns search keywords from search engine visitor came from.
///
public static string GetSearchEngineKeyword()
{
if ((HttpContext.Current == null)
|| (HttpContext.Current.Request == null)
|| (HttpContext.Current.Request.UrlReferrer == null))
{
return null;
}
string searchKeyword = null;
SearchEngineInfoProvider.GetSearchEngineNameForURL(HttpContext.Current.Request.UrlReferrer.AbsoluteUri, out searchKeyword);
return searchKeyword;
}
///
/// Returns search engine visitor came from.
///
public static string GetSearchEngine()
{
if ((HttpContext.Current == null)
|| (HttpContext.Current.Request == null)
|| (HttpContext.Current.Request.UrlReferrer == null))
{
return null;
}
string searchKeyword = null;
return SearchEngineInfoProvider.GetSearchEngineNameForURL(HttpContext.Current.Request.UrlReferrer.AbsoluteUri, out searchKeyword);
}
///
/// Returns absolute URI of the URLRefferer from current HTTP context.
///
public static string GetUrlReferrer()
{
if ((HttpContext.Current == null)
|| (HttpContext.Current.Request == null)
|| (HttpContext.Current.Request.UrlReferrer == null))
{
return null;
}
return HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
}
///
/// Returns value of specified URLReferrer query string parameter.
///
/// Query string parameter name
public static string GetUrlReferrerParameter(string parameterName)
{
string url = GetUrlReferrer();
if (!string.IsNullOrEmpty(url))
{
return URLHelper.GetQueryValue(url, parameterName);
}
return null;
}
}