Example #1
0
 function Keep($HANDLE_CALL = false)
 {
     __SetNoKeepStatistics();
     __GoogleAd();
     $GO = true;
     if (defined("STOP_STATISTICS")) {
         $GO = false;
     }
     if ($HANDLE_CALL) {
         $GO = true;
     }
     if ($GO && $_SESSION["SESS_NO_KEEP_STATISTIC"] != "Y" && !defined("NO_KEEP_STATISTIC")) {
         $GLOBALS["DB"]->StartUsingMasterOnly();
         if (CStatistics::CheckSkip()) {
             CStatistics::ReallyKeep();
         }
         $GLOBALS["DB"]->StopUsingMasterOnly();
     }
 }
Example #2
0
 function SetNewDay($HOSTS = 0, $TOTAL_HOSTS = 0, $SESSIONS = 0, $HITS = 0, $NEW_GUESTS = 0, $GUESTS = 0, $FAVORITES = 0)
 {
     __SetNoKeepStatistics();
     if ($_SESSION["SESS_NO_AGENT_STATISTIC"] != "Y" && !defined("NO_AGENT_STATISTIC")) {
         $err_mess = "File: " . __FILE__ . "<br>Line: ";
         $DB = CDatabase::GetModuleConnection('statistic');
         $strSql = "SELECT D.ID FROM b_stat_day D WHERE D.DATE_STAT=CURDATE()";
         $rs = $DB->Query($strSql, false, $err_mess . __LINE__);
         if (!$rs->Fetch()) {
             $arFields = array("DATE_STAT" => "curdate()", "C_HOSTS" => intval($HOSTS), "SESSIONS" => intval($SESSIONS), "GUESTS" => intval($GUESTS), "HITS" => intval($HITS), "FAVORITES" => intval($FAVORITES), "NEW_GUESTS" => intval($NEW_GUESTS));
             $ID = $DB->Insert("b_stat_day", $arFields, $err_mess . __LINE__, false, "", true);
         }
         //Calculate attentiveness for yesturday
         $strSql = "\n\t\t\t\tSELECT D.ID, " . $DB->DateToCharFunction("D.DATE_STAT", "SHORT") . " DATE_STAT\n\t\t\t\tFROM b_stat_day D\n\t\t\t\tWHERE D.DATE_STAT=DATE_SUB(CURDATE(),INTERVAL 1 DAY)\n\t\t\t";
         $rs = $DB->Query($strSql, false, $err_mess . __LINE__);
         if ($ar = $rs->Fetch()) {
             $arF = CSession::GetAttentiveness($ar["DATE_STAT"]);
             if (is_array($arF)) {
                 $DB->Update("b_stat_day", $arF, "WHERE ID='" . $ar["ID"] . "'", $err_mess . __LINE__);
             }
         }
     }
     return "CStatistics::SetNewDay();";
 }
Example #3
0
	public static function CleanUpStatistics_2()
	{
		__SetNoKeepStatistics();
		if ($_SESSION["SESS_NO_AGENT_STATISTIC"]!="Y" && !defined("NO_AGENT_STATISTIC"))
		{
			CStatistics::CleanUpSessions();
			CStatistics::CleanUpHits();
		}
		return "CStatistics::CleanUpStatistics_2();";
	}
Example #4
0
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>
				';
            }
        }
        $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>
				';
            }
        }
        $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>
				';
            }
        }
        $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>
				';
            }
        }
        $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>
				';
            }
        }
        $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();";
}