ossi commit
@@ -0,0 +1,26 @@ | ||
1 | +<?php | |
2 | +/** | |
3 | + * Research Artisan Lite: Website Access Analyzer | |
4 | + * Copyright (C) 2009 Research Artisan Project | |
5 | + * | |
6 | + * This program is free software; you can redistribute it and/or | |
7 | + * modify it under the terms of the GNU General Public License | |
8 | + * as published by the Free Software Foundation; either version 2 | |
9 | + * of the License, or (at your option) any later version. | |
10 | + * | |
11 | + * @copyright Copyright (C) 2009 Research Artisan Project | |
12 | + * @license GNU General Public License (see license.txt) | |
13 | + * @author ossi | |
14 | + */ | |
15 | +class UpgradeController_114 extends BaseController { | |
16 | + | |
17 | + public function __construct(RaRequest $request, RaSession $session, RaMessage $message, RaResult $result, $controller, $action) { | |
18 | + parent::__construct($request, $session, $message, $result, $controller, $action); | |
19 | + } | |
20 | + | |
21 | + public function upgrade() { | |
22 | + return true; | |
23 | + } | |
24 | + | |
25 | +} | |
26 | +?> |
@@ -199,9 +199,9 @@ | ||
199 | 199 | case 'referer': |
200 | 200 | $dispHostImg = $this->getHostImage($key); |
201 | 201 | if (is_null($dispHostImg)) { |
202 | - $html .= '<td class="tdcol1' . $this->getEvenClass($i) . '"><a href="'. $this->getIndexUrl('research', $action . '_user', '&select=' . $this->urlEncode($key)) . '">' . $this->substrMax($this->escapeHtml($key), Config::MAX_DISP_LENGTH) . '</a></td>'; | |
202 | + $html .= '<td class="tdcol1' . $this->getEvenClass($i) . '"><a href="'. $this->getIndexUrl('research', $action . '_user', '&select=' . $this->urlEncode($key)) . '">' . $this->substrMax($this->urlDecode($this->escapeHtml($key)), Config::MAX_DISP_LENGTH) . '</a></td>'; | |
203 | 203 | } else { |
204 | - $html .= '<td class="tdcol1' . $this->getEvenClass($i) . '"><span class="favi"><img class="img" alt="' . $key . '" src="./images/' . $dispHostImg . '" title="' . $key . '" /></span><a href="'. $this->getIndexUrl('research', $action . '_user', '&select=' . $this->urlEncode($key)) . '">' . $this->substrMax($this->escapeHtml($key), Config::MAX_DISP_LENGTH) . '</a></td>'; | |
204 | + $html .= '<td class="tdcol1' . $this->getEvenClass($i) . '"><span class="favi"><img class="img" alt="' . $key . '" src="./images/' . $dispHostImg . '" title="' . $key . '" /></span><a href="'. $this->getIndexUrl('research', $action . '_user', '&select=' . $this->urlEncode($key)) . '">' . $this->substrMax($this->urlDecode($this->escapeHtml($key)), Config::MAX_DISP_LENGTH) . '</a></td>'; | |
205 | 205 | } |
206 | 206 | break; |
207 | 207 | case 'engine': |
@@ -228,7 +228,7 @@ | ||
228 | 228 | case 'adsensepagerank': |
229 | 229 | case 'btnrank': |
230 | 230 | case 'clickrank': |
231 | - $html .= '<td class="tdcol1' . $this->getEvenClass($i) . '"><a href="'. $this->getIndexUrl('research', $action . '_user', '&select=' . $this->urlEncode($key)) . '" title="' . $key . '">' . $this->substrMax($this->getTitle($this->escapeHtml($key)), Config::MAX_DISP_LENGTH). '</a></td>'; | |
231 | + $html .= '<td class="tdcol1' . $this->getEvenClass($i) . '"><a href="'. $this->getIndexUrl('research', $action . '_user', '&select=' . $this->urlEncode($key)) . '" title="' . $key . '">' . $this->substrMax($this->urlDecode($this->getTitle($this->escapeHtml($key))), Config::MAX_DISP_LENGTH). '</a></td>'; | |
232 | 232 | break; |
233 | 233 | case 'country': |
234 | 234 | $dispCountryImg = $this->getCountryImage($key); |
@@ -413,8 +413,8 @@ | ||
413 | 413 | if ($pageCount >= $siteData['dispview'] * ($page - 1) + 1 && $pageCount <= $siteData['dispview'] * $page) { |
414 | 414 | |
415 | 415 | $accessTime = '<div class="detail">' . $value['yyyy'] . '/' . $value['mm'] . '/' . $value['dd'] . '</div><div class="detail">' . $value['hh'] . ':' . $value['mi'] . ':' . $value['ss'] . '</div>'; |
416 | - $dispTitle = $this->substrMax($this->escapeHtml($this->getTitle($value['title'])), Config::MAX_DISP_LENGTH); | |
417 | - $dispRefererTitle = $this->substrMax($this->escapeHtml($this->getTitle($value['referer_title'])), Config::MAX_DISP_LENGTH); | |
416 | + $dispTitle = $this->substrMax($this->escapeHtml($this->urlDecode($this->getTitle($value['title']))), Config::MAX_DISP_LENGTH); | |
417 | + $dispRefererTitle = $this->substrMax($this->escapeHtml($this->urlDecode($this->getTitle($value['referer_title']))), Config::MAX_DISP_LENGTH); | |
418 | 418 | |
419 | 419 | if ($value['newflg'] == Config::ON && is_null($selectPage)) { |
420 | 420 | $newTag = '<div class="detail"><img alt="New!!" title="New!!" src="./images/new.png" /></div>'; |
@@ -963,8 +963,8 @@ | ||
963 | 963 | if ($pageCount >= $siteData['dispview'] * ($page - 1) + 1 && $pageCount <= $siteData['dispview'] * $page) { |
964 | 964 | |
965 | 965 | $accessTime = '<div class="detail">' . $value['yyyy'] . '/' . $value['mm'] . '/' . $value['dd'] . '</div><div class="detail">' . $value['hh']. ':' . $value['mi'] . ':' . $value['ss'] . '</div>'; |
966 | - $dispTitle = $this->substrMax($this->escapeHtml($this->getTitle($value['title'])), Config::MAX_DISP_LENGTH); | |
967 | - $dispRefererTitle = $this->substrMax($this->escapeHtml($this->getTitle($value['referer_title'])), Config::MAX_DISP_LENGTH); | |
966 | + $dispTitle = $this->substrMax($this->escapeHtml($this->urlDecode($this->getTitle($value['title']))), Config::MAX_DISP_LENGTH); | |
967 | + $dispRefererTitle = $this->substrMax($this->escapeHtml($this->urlDecode($this->getTitle($value['referer_title']))), Config::MAX_DISP_LENGTH); | |
968 | 968 | |
969 | 969 | if ($value['logtype'] == Config::CLICK_LINK) { |
970 | 970 | $action = 'clickrank'; |
@@ -85,6 +85,10 @@ | ||
85 | 85 | return urlencode($url); |
86 | 86 | } |
87 | 87 | |
88 | + public function urlDecode($url) { | |
89 | + return RaUtil::convertEncoding(urldecode($url), 'auto'); | |
90 | + } | |
91 | + | |
88 | 92 | public function getZeroPadding($value, $cnt) { |
89 | 93 | return str_pad($value, $cnt+1, '0', STR_PAD_LEFT); |
90 | 94 | } |
@@ -186,7 +190,7 @@ | ||
186 | 190 | case 'adsensepagerank_user': |
187 | 191 | case 'btnrank_user': |
188 | 192 | case 'clickrank_user': |
189 | - $html .= Track::checkUrl($select) ? '<a href="'. $this->getJumpUrl($select). '" title="'. $select. '" >'. $this->getTitle($select). '</a>' : $this->escapeHtml($select); | |
193 | + $html .= Track::checkUrl($select) ? '<a href="'. $this->getJumpUrl($select). '" title="'. $select. '" >'. $this->urlDecode($this->getTitle($select)). '</a>' : $this->escapeHtml($select); | |
190 | 194 | break; |
191 | 195 | case 'time_detail': |
192 | 196 | $html .= $this->getZeroSuppress($select, false); |
@@ -618,7 +622,7 @@ | ||
618 | 622 | $now = time(); |
619 | 623 | $wday = 0; |
620 | 624 | $mday = 1; |
621 | - $firstDay = getDate(mktime(0,0,0,$mmFrom,1,$yyyyFrom)); | |
625 | + $firstDay = getdate(mktime(0,0,0,$mmFrom,1,$yyyyFrom)); | |
622 | 626 | |
623 | 627 | $html = '<table class="calendar">'; |
624 | 628 | $html .= '<tr class="calendardateheaders"><th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th></tr>'; |
@@ -44,19 +44,28 @@ | ||
44 | 44 | |
45 | 45 | public static function getLastDay($yyyy, $mm) { |
46 | 46 | $day = 31; |
47 | - while (!checkdate($mm, $day, $yyyy)) { | |
48 | - $day--; | |
49 | - } | |
47 | + while (!checkdate($mm, $day, $yyyy)) $day--; | |
50 | 48 | return $day; |
51 | 49 | } |
52 | 50 | |
53 | 51 | public static function getNextMonth($next) { |
54 | - $now = $_SERVER['REQUEST_TIME']; | |
55 | - $yyyy = date('y', $now); | |
56 | - $mm = date('m', $now); | |
57 | - $dd = date('d', $now); | |
58 | - $nextMonth = mktime(0, 0, 0, $mm, $dd, $yyyy) + (60 * 60 * 24 * 31) * $next; | |
59 | - return date('Y', $nextMonth). date('m', $nextMonth); | |
52 | + $time = $_SERVER['REQUEST_TIME']; | |
53 | + if ($next <> 0) { | |
54 | + $yyyy = date('y', $time); | |
55 | + $mm = date('m', $time); | |
56 | + $dd = $next > 0 ? self::getLastDay($yyyy, $mm) : 1; | |
57 | + $onedayTime = $next > 0 ? (60 * 60 * 24) : -(60 * 60 * 24); | |
58 | + $addCount = $next > 0 ? -1 : 1; | |
59 | + while(true) { | |
60 | + $time = mktime(0, 0, 0, $mm, $dd, $yyyy) + $onedayTime; | |
61 | + $next = $next + $addCount; | |
62 | + if ($next == 0) break; | |
63 | + $yyyy = date('y', $time); | |
64 | + $mm = date('m', $time); | |
65 | + $dd = $next > 0 ? self::getLastDay($yyyy, $mm) : 1; | |
66 | + } | |
67 | + } | |
68 | + return date('Y', $time). date('m', $time); | |
60 | 69 | } |
61 | 70 | |
62 | 71 | public static function getNextDate($next) { |
@@ -117,17 +117,16 @@ | ||
117 | 117 | $pref = Config::NO_DATA; |
118 | 118 | if ($remoteHost !== $remoteAddr) { |
119 | 119 | $prefKeyword = self::getPrefKeywordByHost($remoteHost, $domain); |
120 | - if (!is_null($prefKeyword)) | |
121 | - if (isset(Config::$prefKeywords[$prefKeyword])) | |
122 | - $pref = Config::$prefs[Config::$prefKeywords[$prefKeyword]]; | |
120 | + if (!is_null($prefKeyword)) { | |
121 | + if (isset(Config::$prefKeywords[$prefKeyword])) $pref = Config::$prefs[Config::$prefKeywords[$prefKeyword]]; | |
123 | 122 | } |
124 | - if ($pref == Config::NO_DATA) | |
123 | + if ($pref == Config::NO_DATA) { | |
125 | 124 | $prefDomain = self::getPrefByDomain($domain); |
126 | - if (!is_null($prefDomain)) | |
127 | - $pref = Config::$prefs[$prefDomain]; | |
125 | + if (!is_null($prefDomain)) $pref = Config::$prefs[$prefDomain]; | |
126 | + } | |
128 | 127 | if ($pref == Config::NO_DATA) { |
129 | - if (isset(Config::$prefOrgDomains[$domain])) | |
130 | - $pref = Config::$prefs[Config::$prefOrgDomains[$domain]]; | |
128 | + if (isset(Config::$prefOrgDomains[$domain])) $pref = Config::$prefs[Config::$prefOrgDomains[$domain]]; | |
129 | + } | |
131 | 130 | } |
132 | 131 | return $pref; |
133 | 132 | } |
@@ -181,8 +180,8 @@ | ||
181 | 180 | $prefKeyword = $hostArray[1]; |
182 | 181 | break; |
183 | 182 | case 'vectant.ne.jp': |
184 | - $prefKeyword = substr($hostArray[0], 0, 2); | |
185 | - $prefKeyword = substr($prefKeyword, 0, strpos($prefKeyword, 'F')); | |
183 | + $rtn = preg_match('/[^a-z]*([a-z]+)[^a-z]*$/', $hostArray[1], $mathces); | |
184 | + if (is_array($mathces) && count($mathces) > 1) $prefKeyword = $mathces[1]; | |
186 | 185 | break; |
187 | 186 | case 'att.ne.jp': |
188 | 187 | $tmp = str_ireplace(array('ipc','dsl','ftth','newfamily'), '', $hostArray[1]); |
@@ -578,141 +577,194 @@ | ||
578 | 577 | self::setCookie(Config::COOKIE_UID, $uid); |
579 | 578 | |
580 | 579 | print <<<END |
581 | -(function(){ | |
582 | -var A; | |
583 | -var o=true; | |
584 | -var n=false; | |
585 | -var w=window; | |
586 | -var d=document; | |
587 | -var l=location; | |
588 | -var s=screen; | |
589 | -var f=(l.href!=parent.location.href)?parent.document.referrer:d.referrer; | |
590 | -var U=l.protocol+'//'+l.host+l.pathname+l.search; | |
591 | -var af=new Array(); | |
592 | -var ac; | |
593 | -var aO; | |
594 | -var ie=(d.all&&!w.opera)?o:n; | |
595 | -var t=d.title; | |
596 | -if(d.getElementById('title')){ | |
597 | - var to=d.getElementsByTagName('title')[0]; | |
598 | - t=(ie)?to.innerHTML:to.firstChild.nodeValue; | |
599 | -} | |
600 | -function st(ur,ti,rf,lt,dm){ | |
601 | - A='$trackUrl?LT='+lt+'&RF='+ec(rf)+'&UR='+ec(ur)+'&TI='+ec(ti)+'&SW='+s.width+'&SH='+s.height+'&SC='+s.colorDepth+'&s='+~~(Math.random()*100); | |
602 | - if(dm==1){ | |
603 | - var it=d.getElementById('item'); | |
604 | - var i=(it)?it:d.getElementsByTagName('body').item(0); | |
605 | - var c=d.createElement('script'); | |
606 | - c.setAttribute('src',A); | |
607 | - c.setAttribute('defer','defer'); | |
608 | - i.appendChild(c); | |
609 | - sl(400); | |
610 | - aO=null; | |
611 | - ac=n; | |
612 | - }else{ | |
613 | - d.write('<script type="text/javascript" src="',A,'" defer="defer"></script>'); | |
614 | - } | |
615 | -} | |
616 | -function uc(ur,rl){ | |
617 | - return (ur&&ur.match("^(https?|ftp):\/\/")&&(!ur.match(l.host)||rl=='$clickRel'))?o:n; | |
618 | -} | |
619 | -function bc(tp){ | |
620 | - var tl=tp.toLowerCase(); | |
621 | - return (tl=='button'||tl=='submit')?o:n; | |
622 | -} | |
623 | -function cg(e){ | |
624 | - var ur; | |
625 | - var tg=(e)?e.target:w.event.srcElement; | |
626 | - var tm=tg.nodeName.toLowerCase(); | |
627 | - switch(tm){ | |
628 | - case 'a': | |
629 | - ur=tg.href; | |
630 | - if(uc(ur,tg.rel)){ | |
631 | - st(ur,(ie)?tg.innerText:tg.text,U,'$clickLink',1); | |
580 | +(function(){ | |
581 | + var referer=(location.href!=parent.location.href)?parent.document.referrer:document.referrer, | |
582 | + requestUrl=location.protocol+'//'+location.host+location.pathname+location.search, | |
583 | + userAgent=navigator.userAgent.toLowerCase(), | |
584 | + browser={ | |
585 | + Version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], | |
586 | + Safari: /webkit/.test(userAgent), | |
587 | + Opera: /opera/.test(userAgent), | |
588 | + IE: /msie/.test(userAgent) && !/opera/.test(userAgent), | |
589 | + Mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent), | |
590 | + Chrome: /chrome/.test(userAgent) | |
591 | + }, | |
592 | + RaTracker = function(){ | |
593 | + var t=(new Date()).getTime(); | |
594 | + this.accessTime=t; | |
595 | + return this; | |
596 | + }; | |
597 | + RaTracker.prototype = { | |
598 | + type: { | |
599 | + Load: '$clickNormal', | |
600 | + Click: '$clickLink', | |
601 | + BtnClick: '$clickBtn', | |
602 | + Adsense: '$clickAdsense' | |
603 | + }, | |
604 | + clickRel: '$clickRel', | |
605 | + trackingUrl: '$trackUrl', | |
606 | + accessTime: null, | |
607 | + getTitle: function(){ | |
608 | + if(document.getElementById('title')){ | |
609 | + var elmT=d.getElementsByTagName('title')[0]; | |
610 | + return (browser.IE)?elmT.innerHTML:elmT.firstChild.nodeValue; | |
611 | + }else{ | |
612 | + return document.title; | |
632 | 613 | } |
633 | - break; | |
634 | - case 'img': | |
635 | - if (tg.parentNode.href !== undefined) { | |
636 | - ur=tg.parentNode.href; | |
637 | - if(uc(ur,tg.parentNode.rel)){ | |
638 | - st(ur,(tg.alt!==undefined || tg.alt!='')?tg.alt:ur,U,'$clickLink',1); | |
639 | - } | |
614 | + }, | |
615 | + getTrackingUrl: function(url,title,referer,type){ | |
616 | + return this.trackingUrl+'?LT='+type | |
617 | + +'&RF='+encodeURIComponent(referer) | |
618 | + +'&UR='+encodeURIComponent(url) | |
619 | + +'&TI='+encodeURIComponent(title) | |
620 | + +'&SW='+screen.width | |
621 | + +'&SH='+ screen.height | |
622 | + +'&SC='+screen.colorDepth | |
623 | + +'&s='+Math.floor(Math.random()*100); | |
624 | + }, | |
625 | + sendServer: function(url,dom){ | |
626 | + if(dom){ | |
627 | + var itemElm=document.getElementById('item'); | |
628 | + var bodyElm=(itemElm)?itemElm:document.getElementsByTagName('body').item(0); | |
629 | + var scriptElm=document.createElement('script'); | |
630 | + scriptElm.setAttribute('src',url); | |
631 | + scriptElm.setAttribute('defer','defer'); | |
632 | + bodyElm.appendChild(scriptElm); | |
633 | + this.wait(0.4); | |
634 | + }else{ | |
635 | + document.write('<script type="text/javascript" src="'+url+'" defer="defer"></script>'); | |
636 | + } | |
637 | + return this; | |
638 | + }, | |
639 | + clickTrack: function(e){ | |
640 | + var url=title=rel=''; | |
641 | + var targetElm=this.getTargetElm(e); | |
642 | + var targetName=targetElm.nodeName.toLowerCase(); | |
643 | + var clickCheck=function(url,rel,clickRel){ | |
644 | + return (url&&url.match("^(https?|ftp):\/\/")&&(!url.match(location.host)||rel==clickRel))?true:false; | |
640 | 645 | } |
641 | - break; | |
642 | - case 'input': | |
643 | - ur=U+'#'+tg.value; | |
644 | - if(bc(tg.type)){ | |
645 | - st(ur,'['+tg.value+'] ('+t+')',U,'$clickBtn',1); | |
646 | + switch(targetName){ | |
647 | + case 'a': | |
648 | + url=targetElm.href; | |
649 | + title=(browser.IE)?targetElm.innerText:targetElm.text; | |
650 | + rel=(targetElm.rel!==undefined)?targetElm.rel:''; | |
651 | + if(clickCheck(url,rel,this.clickRel)) | |
652 | + this.sendServer(this.getTrackingUrl(url,title,requestUrl,this.type.Click),true); | |
653 | + break; | |
654 | + case 'input': | |
655 | + if (targetElm.type.toLowerCase() == 'button' || targetElm.type.toLowerCase() == 'submit') { | |
656 | + url=requestUrl+'#'+targetElm.value; | |
657 | + title='['+targetElm.value+'] ('+this.getTitle()+')'; | |
658 | + this.sendServer(this.getTrackingUrl(url,title,requestUrl,this.type.BtnClick),true); | |
659 | + } | |
660 | + break; | |
661 | + default: | |
662 | + if (targetElm.parentNode.href!==undefined) { | |
663 | + url=targetElm.parentNode.href; | |
664 | + title=(targetElm.alt!==undefined)?targetElm.alt:((browser.IE)?targetElm.innerText:targetElm.firstChild.nodeValue); | |
665 | + rel=(targetElm.parentNode.rel!==undefined)?targetElm.parentNode.rel:''; | |
666 | + if(clickCheck(url,rel,this.clickRel)) | |
667 | + this.sendServer(this.getTrackingUrl(url,title,requestUrl,this.type.Click),true); | |
668 | + } | |
669 | + break; | |
646 | 670 | } |
647 | - break; | |
648 | - default: | |
649 | - if (tg.parentNode.href !== undefined) { | |
650 | - ur=tg.parentNode.href; | |
651 | - if(uc(ur,tg.parentNode.rel)){ | |
652 | - st(ur,(ie)?tg.innerHTML:tg.firstChild.nodeValue,U,'$clickLink',1); | |
653 | - } | |
654 | - } | |
655 | - break; | |
656 | - } | |
657 | -} | |
658 | -function ai(){ | |
659 | - var b; | |
660 | - var el=d.getElementsByTagName('iframe'); | |
661 | - for(var i=0;i<el.length;i++){ | |
662 | - if(el[i].src.indexOf('googlesyndication.com')>-1||el[i].src.indexOf('googleads.g.doubleclick.net')>-1){ | |
663 | - af[af.length]=el[i]; | |
664 | - if(ie){ | |
665 | - el[i].onfocus=_o; | |
666 | - el[i].onblur=_f; | |
667 | - w.onbeforeunload=tA; | |
668 | - }else{ | |
669 | - el[i].addEventListener('mouseover',_o,n); | |
670 | - el[i].addEventListener('mouseout',_f,n); | |
671 | - if(w.opera){ | |
672 | - b='unload'; | |
673 | - }else{ | |
674 | - b='beforeunload'; | |
675 | - } | |
676 | - w.addEventListener(b,tA,n); | |
677 | - } | |
671 | + }, | |
672 | + adsenseElms: new Array(), | |
673 | + adsenseOnFocus: false, | |
674 | + adsenseTargetElm: null, | |
675 | + adsenseTrack: function(){ | |
676 | + if(this.adsenseOnFocus){ | |
677 | + for(var i=0;i<this.adsenseElms.length;i++){ | |
678 | + if(this.adsenseElms[i]==this.adsenseTargetElm){ | |
679 | + var url=encodeURIComponent('Unit='+(i+1)+',Size='+this.adsenseElms[i].width+'x'+this.adsenseElms[i].height); | |
680 | + this.sendServer(this.getTrackingUrl(url,url,requestUrl,this.type.Adsense),true); | |
681 | + this.adsenseOnFocus=false; | |
682 | + break; | |
683 | + } | |
684 | + } | |
685 | + } | |
686 | + }, | |
687 | + adsenseSearch: function(e){ | |
688 | + var iframeElms=document.getElementsByTagName('iframe'); | |
689 | + for(var i=0;i<iframeElms.length;i++){ | |
690 | + if(iframeElms[i].src.indexOf('googlesyndication.com')>-1||iframeElms[i].src.indexOf('googleads.g.doubleclick.net')>-1){ | |
691 | + this.adsenseElms[this.adsenseElms.length]=iframeElms[i]; | |
692 | + if(browser.IE){ | |
693 | + this.addEvent('focus',RaTracker.transfer.adsenseFocus,iframeElms[i]); | |
694 | + this.addEvent('blur',RaTracker.transfer.adsenseBlur,iframeElms[i]); | |
695 | + this.addEvent('beforeunload',RaTracker.transfer.adsenseTrack,window); | |
696 | + }else{ | |
697 | + this.addEvent('mouseover',RaTracker.transfer.adsenseFocus ,iframeElms[i]); | |
698 | + this.addEvent('mouseout',RaTracker.transfer.adsenseBlur,iframeElms[i]); | |
699 | + if(browser.Opera){ | |
700 | + this.addEvent('unload',RaTracker.transfer.adsenseTrack,window); | |
701 | + }else{ | |
702 | + this.addEvent('beforeunload',RaTracker.transfer.adsenseTrack,window); | |
703 | + } | |
704 | + } | |
705 | + } | |
706 | + } | |
707 | + }, | |
708 | + adsenseFocus: function(e){ | |
709 | + this.adsenseOnFocus=true; | |
710 | + this.adsenseTargetElm=this.getTargetElm(e); | |
711 | + }, | |
712 | + adsenseBlur: function(){ | |
713 | + this.adsenseOnFocus=false; | |
714 | + this.adsenseTargetElm=null; | |
715 | + }, | |
716 | + documentReady: function(callback) { | |
717 | + if (browser.IE) { | |
718 | + (function(){ | |
719 | + try { | |
720 | + document.documentElement.doScroll('left'); | |
721 | + } catch(error) { | |
722 | + setTimeout(arguments.callee, 0); | |
723 | + return; | |
724 | + } | |
725 | + callback.apply(document); | |
726 | + })(); | |
727 | + } else { | |
728 | + if (document.addEventListener) { | |
729 | + document.addEventListener('DOMContentLoaded',callback,false); | |
730 | + } else { | |
731 | + window.attachEvent ? window.attachEvent('onload',callback) : window.addEventListener('load',callback,false); | |
732 | + } | |
733 | + } | |
734 | + return document; | |
735 | + }, | |
736 | + addEvent: function(e, callback, obj) { | |
737 | + if ((obj.nodeType !== undefined && (obj.nodeType === 1 || obj.nodeType === 9)) || obj===window) | |
738 | + obj.attachEvent ? obj.attachEvent('on'+e,callback) : obj.addEventListener(e,callback,false); | |
739 | + return obj; | |
740 | + }, | |
741 | + getTargetElm: function(e) { | |
742 | + return window.event?window.event.srcElement:e.target; | |
743 | + }, | |
744 | + wait: function(second){ | |
745 | + var w=(new Date()).getTime()+(second*1000); | |
746 | + while(true){ | |
747 | + if((new Date()).getTime()>w){return;} | |
748 | + } | |
749 | + }, | |
750 | + doTracking: function(){ | |
751 | + this.sendServer(this.getTrackingUrl(requestUrl,this.getTitle(),referer,this.type.Load),false); | |
752 | + this.addEvent('click',RaTracker.transfer.clickTrack,document); | |
753 | + if(browser.IE) this.addEvent('contextmenu',RaTracker.transfer.clickTrack,document); | |
754 | + this.documentReady(RaTracker.transfer.adsenseSearch); | |
755 | + return this; | |
678 | 756 | } |
679 | 757 | } |
680 | -} | |
681 | -function tA(){ | |
682 | - if(ac){ | |
683 | - var tg=(ie)?aO:aO.target; | |
684 | - for(var i=0;i<af.length;i++){ | |
685 | - if(af[i]==tg){ | |
686 | - var aT=ec('Unit='+(i+1)+',Size='+af[i].width+'x'+af[i].height); | |
687 | - st(aT,aT,U,'$clickAdsense',1); | |
688 | - break; | |
689 | - } | |
690 | - } | |
758 | + RaTracker.transfer = { | |
759 | + clickTrack: function(e){__RaTracker.clickTrack(e);}, | |
760 | + adsenseTrack: function(e){__RaTracker.adsenseTrack(e);}, | |
761 | + adsenseSearch: function(e){__RaTracker.adsenseSearch(e);}, | |
762 | + adsenseFocus: function(e){__RaTracker.adsenseFocus(e);}, | |
763 | + adsenseBlur: function(e){__RaTracker.adsenseBlur(e);} | |
691 | 764 | } |
692 | -} | |
693 | -function _o(e){ | |
694 | - ac=o; | |
695 | - aO=(ie)?w.event.srcElement:e; | |
696 | -} | |
697 | -function _f(){ | |
698 | - ac=n; | |
699 | -} | |
700 | -function ec(s){ | |
701 | - return encodeURIComponent(s); | |
702 | -} | |
703 | -function sl(c){ | |
704 | - var m=(new Date()).getTime()+c; | |
705 | - while(o){ | |
706 | - if((new Date()).getTime()>m){return;} | |
707 | - } | |
708 | -} | |
709 | -st(U,t,f,'$clickNormal',0); | |
710 | -d.onclick=cg; | |
711 | -if(ie){ | |
712 | - d.oncontextmenu=cg; | |
713 | -} | |
714 | -(typeof w.attachEvent!='undefined')?w.attachEvent('onload',ai):w.addEventListener('load',ai,n); | |
715 | -})(); | |
765 | + window.__RaTracker = new RaTracker(); | |
766 | + __RaTracker.doTracking(); | |
767 | +})() | |
716 | 768 | END; |
717 | 769 | |
718 | 770 | } |
@@ -1 +1 @@ | ||
1 | -1.13 | |
1 | +1.14 |