API Docs for:
Show:

File: routes/lib/tracker/sourceIdentification.js

/**
@module Tracker 
 */
var getRefererInformation = function (refererUrl, currentUrl, idSite)
	{
/**
@class getRefererInformation
@constructor 
@params refererUrl {String} The document.referrer of visited  url
@params currentUrl {String} The current visiting url
@params Id {Number} Profile Id of registerd website.
@This class provides get the referrer information of the visited url. 
*/
	
		this.idsite = idSite;
		this.CONSTANTS = require('./constant');
		// default values for the referer_* fields
		this.refererUrl = this.unsanitizeInputValue(refererUrl);
		this.refererUrlParse = this.parseUrl(this.refererUrl);
		this.currentUrlParse = this.parseUrl(currentUrl);
		this.typeRefererAnalyzed = this.CONSTANTS.REFERER_TYPE_DIRECT_ENTRY;
		this.nameRefererAnalyzed = '';
		this.keywordRefererAnalyzed = '';
		this.refererHost = '';

		}
	
//unsanitize values.
getRefererInformation.prototype.unsanitizeInputValue = function(refererUrl){
/**
@method unsanitizeInputValue
@return {String} url with unwanted things removed. 
*/

	return refererUrl;
	
}
getRefererInformation.prototype.parseUrl = function(refererUrl){
/**
@method parseUrl
@using to parse url.
@params {String} url.
@return {Object} url with unwanted things removed.
@uses getUrlVars
*/
	var  parsed={};
	var split1 = refererUrl.split('?')[0];
	parsed.queryString  = split1[1];
	parsed.url = split1[0];
	parsed.params = getRefererInformation.getUrlVars();
	return parsed;
}
getRefererInformation.prototype.getUrlVars=function (url)
{
/**
@method getUrlVars
@params url the url 
@return {Object} of Query string variables as object.
@using to url variables in the object.
*/

	var pattern='//';
	var keyVal = url.split('?')[1].split('&');
	var params={};
	for(var i in keyVal){
			var k = keyVal[i].split('=')
			params[k[0]]=k[1];
		}
	return params;


}
getRefererInformation.prototype.getRefererObject=function (){

/**
@method getRefererObject
@using to  getRefererInformation from url.
@return {object}  returns following format 
{
				'RefererType' 		: value,
				'RefererName' 		: value,
				'RefererKeyword' 	: value,
				'RefererUrl' 		: value
			}
*/

	if(isset(this.refererUrlParse['host']))
		{
			this.refererHost = this.refererUrlParse['host'];
		}

		refererDetected = false;

		if( !empty(this.currentUrlParse['host'])
			&&	this.detectRefererCampaign() )
		{
			refererDetected = true;
		}

		if(!refererDetected)
		{
			if( this.detectRefererDirectEntry()
				|| this.detectRefererSearchEngine() )
			{
				refererDetected = true;
			}
		}

		if(!empty(this.refererHost)
			&& !refererDetected)
		{
			this.typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_WEBSITE;
			this.nameRefererAnalyzed = mb_strtolower(this.refererHost, 'UTF-8');
		}

		return {
				'RefererType' 		: this.typeRefererAnalyzed,
				'RefererName' 		: this.nameRefererAnalyzed,
				'RefererKeyword' 	: this.keywordRefererAnalyzed,
				'RefererUrl' 		: this.refererUrl,
			};

	
}
getRefererInformation.prototype.getHost(url)
{
/**
@method getHost
@params url {String} 
@return {string} host name from the given url.
@using get host from the url.
*/


}
//exporting.
exports.getRefererInformation = getRefererInformation;