diff options
author | matthieu_ <matthieu_@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2007-08-01 22:05:00 +0400 |
---|---|---|
committer | matthieu_ <matthieu_@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2007-08-01 22:05:00 +0400 |
commit | 1aaa7592a3caad60dc0fadec9057da3b5f21476d (patch) | |
tree | b7dd3157eb906856f4b3b9703eb2e9ca1c348c51 /piwik.js | |
parent | bb77c90a14411f6eb69b00bb19ad23d5453ae72a (diff) |
- implemented basic plugin system in the piwik.php logging engine
- added some config for the loggingEngine
- wrote simple PDO access layer / simple config layer
- specified all the classes/method of the piwik.php
- ported the JS file from phpmyvisites and fixed some bugs in it (needs testing on IE/FF/OPERA/KONQUEROR/SAFARI on MAC/WINDOWS/LINUX with the plugins enabled/disabled)
Diffstat (limited to 'piwik.js')
-rw-r--r-- | piwik.js | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/piwik.js b/piwik.js new file mode 100644 index 0000000000..032b522402 --- /dev/null +++ b/piwik.js @@ -0,0 +1,103 @@ +//-- Web analytics by Piwik -- http://piwik.org +//-- Copyleft 2007, All rights reversed. + +var _pk_use_title_as_name = 0; + +//-- Beginning script +function _pk_plug_normal(_pk_pl) { + if (_pk_tm.indexOf(_pk_pl) != -1 && (navigator.mimeTypes[_pk_pl].enabledPlugin != null)) + return '1'; + return '0'; +} + +function _pk_plug_ie(_pk_pl){ + _pk_find = false; + document.write('<SCR' + 'IPT LANGUAGE=VBScript>\n on error resume next \n _pk_find = IsObject(CreateObject("' + _pk_pl + '")) </SCR' + 'IPT>\n'); + if (_pk_find) return '1'; + return '0'; +} + +var _pk_jav = '0'; if(navigator.javaEnabled()) _pk_jav='1'; +var _pk_agent = navigator.userAgent.toLowerCase(); +var _pk_moz = (navigator.appName.indexOf("Netscape") != -1); +var _pk_ie = (_pk_agent.indexOf("msie") != -1); +var _pk_win = ((_pk_agent.indexOf("win") != -1) || (_pk_agent.indexOf("32bit") != -1)); +var _pk_cookie = (navigator.cookieEnabled)? '1' : '0'; +if((typeof (navigator.cookieEnabled) == "undefined") && (_pk_cookie == '0')) { + document.cookie="_pk_testcookie" + _pk_cookie=(document.cookie.indexOf("_pk_testcookie")!=-1)? '1' : '0'; +} + +var _pk_dir='0',_pk_fla='0',_pk_pdf='0',_pk_qt = '0',_pk_rea = '0',_pk_wma='0'; +if (_pk_win && _pk_ie){ + _pk_dir = _pk_plug_ie("SWCtl.SWCtl.1"); + _pk_fla = _pk_plug_ie("ShockwaveFlash.ShockwaveFlash.1"); + if (_pk_plug_ie("PDF.PdfCtrl.1") == '1' || _pk_plug_ie('PDF.PdfCtrl.5') == '1' || _pk_plug_ie('PDF.PdfCtrl.6') == '1') + _pk_pdf = '1'; + _pk_qt = _pk_plug_ie("Quicktime.Quicktime"); // Old : "QuickTimeCheckObject.QuickTimeCheck.1" + _pk_rea = _pk_plug_ie("rmocx.RealPlayer G2 Control.1"); + _pk_wma = _pk_plug_ie("wmplayer.ocx"); // Old : "MediaPlayer.MediaPlayer.1" +} else { + var _pk_tm = ''; + for (var i=0; i < navigator.mimeTypes.length; i++) + _pk_tm += navigator.mimeTypes[i].type.toLowerCase(); + _pk_dir = _pk_plug_normal("application/x-director"); + _pk_fla = _pk_plug_normal("application/x-shockwave-flash"); + _pk_pdf = _pk_plug_normal("application/pdf"); + _pk_qt = _pk_plug_normal("video/quicktime"); + _pk_rea = _pk_plug_normal("audio/x-pn-realaudio-plugin"); + _pk_wma = _pk_plug_normal("application/x-mplayer2"); +} + +var _pk_rtu = ''; +try { + _pk_rtu = top.document.referrer; +} catch(e1) { + if(parent){ + try{ _pk_rtu = parent.document.referrer; } catch(e2) { _pk_rtu=''; } + } +} +if(_pk_rtu == '') { + _pk_rtu = document.referrer; +} + +function _pk_escape(_pk_str){ + if (typeof(encodeURIComponent) == 'function') { + return encodeURIComponent(_pk_str); + } else { + return escape(_pk_str); + } +} +var _pk_called; + +function _pk_getUrlLog( _pk_action_name, _pk_site, _pk_pkurl ) +{ + var _pk_url = document.location.href; + var _pk_da = new Date(); + var _pk_src = _pk_pkurl + +'?url='+_pk_escape(_pk_url) + +'&aname='+_pk_escape(_pk_action_name) + +'&id='+_pk_site + +'&res='+screen.width+'x'+screen.height + +'&col='+screen.colorDepth + +'&h='+_pk_da.getHours()+'&m='+_pk_da.getMinutes()+'&s='+_pk_da.getSeconds() + +'&flash='+_pk_fla + +'&director='+_pk_dir + +'&quicktime='+_pk_qt + +'&realplayer='+_pk_rea + +'&pdf='+_pk_pdf + +'&windowsmedia='+_pk_wma + +'&java='+_pk_jav + +'&cookie='+_pk_cookie + +'&urlref='+_pk_escape(_pk_rtu); + return _pk_src; +} + +function piwik_log( _pk_action_name, _pk_site, _pk_pkurl ) +{ + if(_pk_called && (!_pk_action_name || _pk_action_name=="")) return; + var _pk_src = _pk_getUrlLog(_pk_action_name, _pk_site, _pk_pkurl ); + document.writeln('<img src="'+_pk_src+'" alt="Piwik" style="border:0" />'); + if(!_pk_action_name || _pk_action_name=="") _pk_called=1; +} + |