/**
* pageLogger
*
* This source is part of pageLogger. pageLogger is free software;
* you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software
* Foundation; either version 3 of the License, or any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* A copy is found in the textfile
* pageLogger/licenses/pageLogger/License.txt
*
* @category pageLogger
* @package pageLogger_base
* @copyright Copyright (c) 2008 living-e AG (http://www.living-e.com)
* @license http://www.gnu.org/copyleft/gpl.html GPL
*/
function _my_stat_write(sitename, installdir, trackname) {
var winref=self.document.referrer;
var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
try {
if (self!=top) {
var wintref=top.location.href;
if(wintref==winref) {
winref=top.document.referrer;
}
}
var bsuniquevid=_my_stat_getCookie("bsuniquevid");
if(bsuniquevid == null) {
_my_stat_setCookie("bsuniquevid",0,0,"/","",0);
bsuniquevid=_my_stat_getCookie("bsuniquevid");
if(bsuniquevid == null){
bsuniquevid = "";
}
}
var randnum=Math.random()*1000000000000000;
var final_query = installdir + "/connector.php?pn="+ escape(sPage)+
"&fp="+escape(self.location.href)+
"&ref="+escape(winref)+
"&websitename="+escape(sitename)+
"&logitmode=ALWAYS&trackname="+((trackname!= null) ? escape(trackname) : "DETECT")+"&trackmode=DYNAMIC&bsuniquevid="+
escape(bsuniquevid)+"&randnum="+randnum+
"&mode=JSMODE"+_my_stat_getData(sitename, installdir);
document.write("
");
} catch (e) {
}
}
function _my_stat_getData(sitename,installdir) {
// step #1: set some variables to FALSE
java = "FALSE";
cookies = "FALSE";
flash = "FALSE";
mediaplayer = "FALSE";
shockwave = "FALSE";
realplayer = "FALSE";
quicktime = "FALSE";
acrobat = "FALSE";
svg = "FALSE";
// step #2: detect colordepth
visColordepth = screen.colorDepth;
// step #3: detect screen resolution
visScreenX = window.screen.width;
visScreenY = window.screen.height;
// step #4: detect cookie-support
if (window.navigator.cookieEnabled) cookies = "TRUE"; else cookies = "FALSE";
// step #5: detect browser and version
var visUserAgent = navigator.userAgent.toLowerCase();
// browser engine name
isGecko = (visUserAgent.indexOf('gecko') != -1 && visUserAgent.indexOf('safari') == -1);
isAppleWebKit = (visUserAgent.indexOf('applewebkit') != -1);
isKonqueror = (visUserAgent.indexOf('konqueror') != -1);
isSafari = (visUserAgent.indexOf('safari') != - 1);
isOmniweb = (visUserAgent.indexOf('omniweb') != - 1);
isOpera = (visUserAgent.indexOf('opera') != -1);
isIcab = (visUserAgent.indexOf('icab') != -1);
isAol = (visUserAgent.indexOf('aol') != -1);
isIE = (visUserAgent.indexOf('msie') != -1 && !isOpera && (visUserAgent.indexOf('webtv') == -1) );
isMozilla = (isGecko && visUserAgent.indexOf('gecko/') + 14 == visUserAgent.length);
isFirebird = (visUserAgent.indexOf('firebird/') != -1);
isFirefox = (visUserAgent.indexOf('firebird/') != -1);
isNS = ((isGecko) ? (visUserAgent.indexOf('netscape') != -1) : ( (visUserAgent.indexOf('mozilla') != -1) && !isOpera && !isSafari && (visUserAgent.indexOf('spoofer') == -1) && (visUserAgent.indexOf('compatible') == -1) && (visUserAgent.indexOf('webtv') == -1) && (visUserAgent.indexOf('hotjava') == -1) ) );
isWin = ((visUserAgent.indexOf('win')!=-1) || (visUserAgent.indexOf('32bit')!=-1));
// browser version number
geckoVersion = ( (isGecko) ? visUserAgent.substring( (visUserAgent.lastIndexOf('gecko/') + 6), (visUserAgent.lastIndexOf('gecko/') + 14) ) : -1 );
equivalentMozilla = ( (isGecko) ? parseFloat( visUserAgent.substring( visUserAgent.indexOf('rv:') + 3 ) ) : -1 );
appleWebKitVersion = ( (isAppleWebKit) ? parseFloat( visUserAgent.substring( visUserAgent.indexOf('applewebkit/') + 12) ) : -1 );
// browser version
versionMinor = parseFloat(navigator.appVersion);
if (isGecko && !isMozilla){versionMinor = parseFloat( visUserAgent.substring( visUserAgent.indexOf('/', visUserAgent.indexOf('gecko/') + 6) + 1 ) );}
else if (isMozilla) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.indexOf('rv:') + 3 ) );}
else if (isIE && versionMinor >= 4) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.indexOf('msie ') + 5 ) );}
else if (isKonqueror) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.indexOf('konqueror/') + 10 ) );}
else if (isSafari) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.lastIndexOf('safari/') + 7 ) );}
else if (isOmniweb) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.lastIndexOf('omniweb/') + 8 ) );}
else if (isOpera) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.indexOf('opera') + 6 ) );}
else if (isIcab) {versionMinor = parseFloat( visUserAgent.substring( visUserAgent.indexOf('icab') + 5 ) );}
versionMajor = parseInt(versionMinor);
// dom support
isDOM1 = (document.getElementById);
isDOM2Event = (document.addEventListener && document.removeEventListener);
// step #8: detect plugins
if (isIE && isWin)
{
pluginlist = _my_stat_detectIE("Adobe.SVGCtl","SVG Viewer") + _my_stat_detectIE("SWCtl.SWCtl.1","Shockwave Director") + _my_stat_detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + _my_stat_detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + _my_stat_detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + _my_stat_detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + _my_stat_detectIE("Pdf.PdfCtrl.5","Acrobat Reader"); }
else if(isNS || !isWin) {nse = ""; for (var i=0;i');
//document.writeln('on error resume next');
//document.writeln('If ScriptEngineMajorVersion >= 2 then');
//document.writeln('result = False');
//document.writeln('result = IsObject(CreateObject("' + ClassID + '"))');
//document.writeln('If (err) then');
//document.writeln('result = False');
//document.writeln('End If');
//document.writeln('Else');
//document.writeln('result = False');
//document.writeln('End If');
//document.writeln('');
if (result) return name+','; else return '';
}
function _my_stat_detectNS(ClassID,name)
{
n = "";
if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n;
}
pluginlist += navigator.javaEnabled() ? "Java," : "";
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
//detect Flash
if (pluginlist.indexOf("Flash")!=-1) flash = "TRUE";
//detect Windows Media Player
if (pluginlist.indexOf("Windows Media Player")!=-1) mediaplayer = "TRUE";
//detect Java
if (pluginlist.indexOf("Java")!=-1) java = "TRUE";
//detect Shockwave
if (pluginlist.indexOf("Shockwave Director")!=-1) shockwave = "TRUE";
//detect RealPlayer
if (pluginlist.indexOf("RealPlayer")!=-1) realplayer = "TRUE";
//detect QuickTime
if (pluginlist.indexOf("QuickTime")!=-1) quicktime = "TRUE";
//detect Acrobat Reader
if (pluginlist.indexOf("Acrobat Reader")!=-1) acrobat = "TRUE";
//detect SVG Viewer
if (pluginlist.indexOf("SVG Viewer")!=-1) svg = "TRUE";
// save collected information for this visitor in querystring
var querystring = "&width=" + visScreenX + "&height=" + visScreenY + "&colordepth=" + visColordepth +
"&java=" + java + "&cookies=" + cookies + "&flash=" + flash + "&mediaplayer=" + mediaplayer +
"&shockwave=" + shockwave + "&realplayer=" + realplayer + "&quicktime=" + quicktime +
"&acrobat=" + acrobat + "&svg=" + svg;
// finalize the query string
return querystring;
}
// cookie & random string functions
function _my_stat_getCookie(name) {
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
function _my_stat_randomString() {
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 40;
var randomstring = '';
for (var i=0; i');
document.writeln('\'This will scan for plugins for all versions of Internet Explorer that have a VBscript engine version 2 or greater.');
document.writeln('\'This includes all versions of IE4 and beyond and some versions of IE 3.');
document.writeln('Dim WM_detect_through_vb');
document.writeln('WM_detect_through_vb = 0');
document.writeln('If ScriptEngineMajorVersion >= 2 then');
document.writeln(' WM_detect_through_vb = 1');
document.writeln('End If');
document.writeln('Function WM_activeXDetect(activeXname)');
document.writeln(' on error resume next');
document.writeln(' If ScriptEngineMajorVersion >= 2 then');
document.writeln(' WM_activeXDetect = False');
document.writeln(' WM_activeXDetect = IsObject(CreateObject(activeXname))');
document.writeln(' If (err) then');
document.writeln(' WM_activeXDetect = False');
document.writeln(' End If');
document.writeln(' Else');
document.writeln(' WM_activeXDetect = False');
document.writeln(' End If');
document.writeln('End Function');
document.writeln(WM_startTagFix+'script>');
}
function WM_pluginDetect(plugindescription, pluginxtension, pluginmime, activeXname){
//This script block will test all user agents that have a real plug-in array
//(i.e. Netscape) and set the variables, otherwise it directs the routine
// to WM_activeXDetect to detect the activeX control.
// First define some variables
var i,plugin_undetectable=0,detected=0, daPlugin=new Object();
// Then we check to see if it's an MSIE browser that you can actually
// check for the plugin in question.
if (msie_windows && WM_detect_through_vb){
plugin_undetectable = 0;
} else {
plugin_undetectable = 1;
}
if(navigator.plugins) {
numPlugins = navigator.plugins.length;
if (numPlugins > 1) {
if (navigator.mimeTypes && navigator.mimeTypes[pluginmime] && navigator.mimeTypes[pluginmime].enabledPlugin && (navigator.mimeTypes[pluginmime].suffixes.indexOf(pluginxtension) != -1)) {
if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1)) {
for(i in navigator.plugins) {
if ((navigator.plugins[i].description.indexOf(plugindescription) != -1) || (i.indexOf(plugindescription) != -1)) {
detected=1;
break;
}
}
} else {
for (i = 0; i < numPlugins; i++) {
daPlugin = navigator.plugins[i];
if ((daPlugin.description.indexOf(plugindescription) != -1) || (daPlugin.name.indexOf(plugindescription) != -1)) {
detected=1;
break;
}
}
}
if (navigator.mimeTypes[pluginmime] == null) {
detected = 0;
}
}
return detected;
} else if((msie_windows == 1) && !plugin_undetectable){
return WM_activeXDetect(activeXname);
} else {
return 0;
}
} else {
return 0;
}
}
// this next function just makes it easy to detect the common plugins
function WM_easyDetect(whichPlugin) {
// this function just makes it easy to do basic plug-in detection without
// knowing all the mimetypes and activeX names and such
var isItThere = 0;
if( (whichPlugin == 'flash') || (whichPlugin == 'Shockwave Flash') )
{
isItThere = WM_pluginDetect('Flash', 'swf', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash');
}
else
if( (whichPlugin == 'director') || (whichPlugin == 'Shockwave Director') )
{
isItThere = WM_pluginDetect('Shockwave', 'dcr', 'application/x-director', 'SWCtl.SWCtl.1');
}
else if( (whichPlugin == 'quicktime') || (whichPlugin == 'Quicktime') || (whichPlugin == 'QuickTime') )
{
isItThere = WM_pluginDetect('QuickTime', 'mov', 'video/quicktime', '');
}
else if( (whichPlugin == 'Acrobat') || (whichPlugin == 'AdobeAcrobat') || (whichPlugin == 'Acrobat Reader') )
{
isItThere = WM_pluginDetect('Acrobat Reader', 'pdf', 'application/pdf', 'Pdf.PdfCtrl.5');
}
else if( (whichPlugin == 'Windows Media Player') )
{
//isItThere = WM_pluginDetect('Windows Media Player', 'wmp', 'application/x-mplayer2', 'MediaPlayer.MediaPlayer.1');
}
else if( (whichPlugin == 'realaudio') || (whichPlugin == 'Realaudio') || (whichPlugin == 'RealPlayer') )
{
isItThere = (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','rmocx.RealPlayer G2 Control')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealVideo.RealVideo(tm) ActiveX Control (32-bit)'))
} else {
}
return isItThere;
}