Example #1
0
 function GetAdv()
 {
     if (($r = CStatisticWS::CheckAuth()) !== False) {
         return $r;
     }
     $arResult = array();
     $dbAdv = CAdv::GetList($a_by, $a_order, array("DATE1_PERIOD" => "", "DATE2_PERIOD" => ""), $is_filtered, "", $arrGROUP_DAYS, $v);
     $i = 0;
     while ($arAdv = $dbAdv->Fetch()) {
         $i++;
         $arResult[$i . ':top'] = array("id" => $arAdv["ID"], "name" => $arAdv["REFERER1"] . "/" . $arAdv["REFERER2"], "today" => $arAdv["SESSIONS_TODAY"], "yesterday" => $arAdv["SESSIONS_YESTERDAY"], "bef_yesterday" => $arAdv["SESSIONS_BEF_YESTERDAY"], "all" => $arAdv["SESSIONS"]);
         if ($i >= COption::GetOptionInt("statistic", "STAT_LIST_TOP_SIZE", 10)) {
             break;
         }
     }
     return $arResult;
 }
Example #2
0
 public static function DynamicDays($ADV_ID, $date1 = "", $date2 = "")
 {
     $arFilter = array("DATE1" => $date1, "DATE2" => $date2);
     $d = 0;
     $z = CAdv::GetDynamicList($ADV_ID, $by, $order, $arMaxMin, $arFilter);
     while ($zr = $z->Fetch()) {
         $d++;
     }
     return $d;
 }
Example #3
0
            }
            if (strlen($strError) <= 0) {
                if (strlen($save) > 0) {
                    LocalRedirect("adv_list.php?lang=" . LANG);
                } else {
                    LocalRedirect($APPLICATION->GetCurPage() . "?lang=" . LANG . "&ID=" . $ID . "&" . $tabControl->ActiveTabParam());
                }
            }
        }
    }
}
ClearVars();
$arSEARCHERS = array();
$arPAGES_TO = array();
$arPAGES_FROM = array();
$adv = CAdv::GetByID($ID);
if (!$adv->ExtractFields()) {
    $ID = 0;
    $str_PRIORITY = "100";
} else {
    $strSql = "SELECT SEARCHER_ID FROM b_stat_adv_searcher WHERE ADV_ID = " . $ID;
    $z = $statDB->Query($strSql, false, $err_mess . __LINE__);
    while ($zr = $z->Fetch()) {
        $arSEARCHERS[] = $zr["SEARCHER_ID"];
    }
    $strSql = "SELECT PAGE FROM b_stat_adv_page WHERE ADV_ID = " . $ID . " and C_TYPE='TO'";
    $z = $statDB->Query($strSql, false, $err_mess . __LINE__);
    while ($zr = $z->Fetch()) {
        $arPAGES_TO[] = htmlspecialcharsbx($zr["PAGE"]);
    }
    $strSql = "SELECT PAGE FROM b_stat_adv_page WHERE ADV_ID = " . $ID . " and C_TYPE='FROM'";
Example #4
0
if (strlen($_REQUEST["site_id"]) > 0) {
    $site_filter = "Y";
    $strFilterSite = "&amp;find_site_id=" . $_REQUEST["site_id"];
} else {
    $site_filter = "N";
    $strFilterSite = "";
}
$arFilter = array("SITE_ID" => $_REQUEST["site_id"]);
$now_date = GetTime(time());
$yesterday_date = GetTime(time() - 86400);
$bef_yesterday_date = GetTime(time() - 172800);
if ($_REQUEST["table_id"] == "adv") {
    if ($site_filter == "Y") {
        die;
    }
    $rsAdv = CAdv::GetList($a_by, $a_order, $arFilter, $is_filtered, 10, $arrGROUP_DAYS, $v);
    ?>
<table class="bx-gadgets-table">
	<tbody>
	<tr>
		<th><?php 
    echo GetMessage("GD_STAT_ADV_NAME");
    ?>
</th>
		<th><a href="/bitrix/admin/session_list.php?lang=<?php 
    echo $_REQUEST["lang"];
    ?>
&amp;find_date1=<?php 
    echo $now_date;
    ?>
&amp;find_date2=<?php 
Example #5
0
        $find_events_names[] = $arrEVENT[$value];
    }
} else {
    $find_events = array();
    $find_events_names = array();
}
InitBVar($find_adv_id_exact_match);
InitBVar($find_referer1_exact_match);
InitBVar($find_referer2_exact_match);
InitBVar($find_event_type_id_exact_match);
InitBVar($find_event1_exact_match);
InitBVar($find_event2_exact_match);
AdminListCheckDate($lAdmin, array("find_date1" => $find_date1, "find_date2" => $find_date2));
$arFilter = array("DATE1" => $find_date1, "DATE2" => $find_date2, "ADV_ID" => $find_adv_id, "REFERER1" => $find_referer1, "REFERER2" => $find_referer2, "EVENT_TYPE_ID" => $find_event_type_id, "EVENT1" => $find_event1, "EVENT2" => $find_event2, "ADV" => $find_adv, "EVENT_TYPE" => $find_events, "ADV_ID_EXACT_MATCH" => $find_adv_id_exact_match, "REFERER1_EXACT_MATCH" => $find_referer1_exact_match, "REFERER2_EXACT_MATCH" => $find_referer2_exact_match, "EVENT_TYPE_ID_EXACT_MATCH" => $find_event_type_id_exact_match, "EVENT1_EXACT_MATCH" => $find_event1_exact_match, "EVENT2_EXACT_MATCH" => $find_event2_exact_match);
$lAdmin->BeginPrologContent();
$arrDays = CAdv::GetAnalysisGraphArray($arFilter, $is_filtered, $find_data_type, $arrLegend, $total, $max);
if (count($arrDays) < 2) {
    CAdminMessage::ShowMessage(GetMessage("STAT_NOT_ENOUGH_DATA"));
} else {
    ?>
<div class="graph">
<?php 
    echo $arrParams[$find_data_type][1];
    ?>
<table cellspacing="0" cellpadding="0" class="graph" border="0" align="center"><tr>
<td valign="center" class="graph"><?php 
    $width = COption::GetOptionString("statistic", "GRAPH_WEIGHT");
    $height = COption::GetOptionString("statistic", "GRAPH_HEIGHT");
    ?>
<img class="graph" src="/bitrix/admin/adv_analysis_graph.php?rand=<?php 
    echo rand();
if ($show_events == "event1") {
    $arF["GROUP"] = "event1";
} elseif ($show_events == "event2") {
    $arF["GROUP"] = "event2";
}
if ($find != "" && $find_type == "event1") {
    $arF["EVENT1"] = $find;
}
if ($find != "" && $find_type == "event2") {
    $arF["EVENT2"] = $find;
}
if ($GROUP == "N") {
    $events = CAdv::GetEventList($f_ID, $by, $order, $arF, $v1);
} elseif ($GROUP == "Y") {
    $value = $find_group == "referer1" ? $f_REFERER1 : $f_REFERER2;
    $events = CAdv::GetEventListByReferer($value, $arFilter);
}
$sum_today = 0;
$sum_back_today = 0;
$sum_yesterday = 0;
$sum_back_yesterday = 0;
$sum_bef_yesterday = 0;
$sum_back_bef_yesterday = 0;
$sum_period = 0;
$sum_back_period = 0;
$sum_total = 0;
$sum_back_total = 0;
$arEvents = array();
while ($er = $events->Fetch()) {
    $arEvents[] = $er;
    $sum_today += intval($er["COUNTER_TODAY"]);
Example #7
0
                }
                $statDB->Commit();
                break;
            case "clear":
                @set_time_limit(0);
                $statDB->StartTransaction();
                if (!CAdv::Reset($ID, "N")) {
                    $statDB->Rollback();
                    $lAdmin->AddGroupError(GetMessage("STAT_DELETE_ERROR"), $ID);
                }
                $statDB->Commit();
                break;
        }
    }
}
$cData = new CAdv();
$rsData = $cData->GetList($by, $order, $arFilter, $is_filtered, "", $arrGROUP_DAYS, $v);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("STAT_ADV_PAGES")));
$arHeaders = array();
if ($group_by == "") {
    $arHeaders[] = array("id" => "ID", "content" => "ID", "sort" => "ID", "align" => "right", "default" => true);
}
if ($group_by == "" || $group_by == "referer1") {
    $arHeaders[] = array("id" => "REFERER1", "content" => "referer1", "sort" => "REFERER1", "default" => true);
}
if ($group_by == "" || $group_by == "referer2") {
    $arHeaders[] = array("id" => "REFERER2", "content" => "referer2", "sort" => "REFERER2", "default" => true);
}
$arHeaders[] = array("id" => "DATE_FIRST", "content" => GetMessage("STAT_BEGIN"), "sort" => "C_TIME_FIRST", "default" => true);
Example #8
0
        echo GetMessage("ADV_STAT_WHAT_ADD");
        ?>
" OnClick="stat_type_popup();">&nbsp;&nbsp;<input type="button" value="<?php 
        echo GetMessage("ADV_STAT_WHAT_DELETE");
        ?>
" OnClick="jsSelectUtils.deleteSelectedOptions('STAT_TYPE_VALUES[]');stat_type_values_change();">
		<?php 
    }
    ?>
		</td>
	</tr>
	<?php 
    if ($isAdmin || $isDemo && !$isOwner) {
        $ref = array();
        $ref_id = array();
        $rsAdv = CAdv::GetDropDownList("ORDER BY REFERER1, REFERER2");
        while ($arAdv = $rsAdv->Fetch()) {
            $ref[] = $arAdv["REFERENCE"];
            $ref_id[] = $arAdv["REFERENCE_ID"];
        }
        if ($isEditMode) {
            ?>
	<tr valign="top">
		<td><?php 
            echo GetMessage("AD_STAT_ADV");
            ?>
<br><img src="/bitrix/images/advertising/mouse.gif" width="44" height="21" border=0 alt=""><br><?php 
            echo GetMessage("AD_SELECT_WHAT_YOU_NEED");
            ?>
</td>
		<td><?php 
Example #9
0
}
$arFilter = array("DATE1" => $date1, "DATE2" => $date2, "ADV" => $find_adv_str, "ADV_DATA_TYPE" => $adv_data_type, "IS_DIR" => $is_dir == "Y" ? "Y" : "N");
$days = 0;
$rs = CPage::GetDynamicList($section, $by, $order, $arFilter);
while ($ar = $rs->Fetch()) {
    $days++;
    $SUM_COUNTER += intval($ar["COUNTER"]);
    $SUM_ENTER_COUNTER += intval($ar["ENTER_COUNTER"]);
    $SUM_EXIT_COUNTER += intval($ar["EXIT_COUNTER"]);
}
$strTitle = $is_dir == "Y" ? GetMessage("STAT_TITLE_SECTION") : GetMessage("STAT_TITLE_PAGE");
$APPLICATION->SetTitle($strTitle);
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_popup_admin.php";
if (strlen($find_adv_str) > 0) {
    echo "<h2>" . GetMessage("STAT_ADV_LIST") . "</h2><p>";
    $rsAdv = CAdv::GetList($v1 = "s_dropdown", $v2 = "asc", array("ID" => $str), $v3, "", $v4, $v5);
    while ($arAdv = $rsAdv->Fetch()) {
        echo "[" . $arAdv["ID"] . "]&nbsp;" . $arAdv["REFERER1"] . "&nbsp;/&nbsp;" . $arAdv["REFERER2"] . "<br>";
    }
    if ($find_adv_data_type != "B" && $find_adv_data_type != "S") {
        $find_adv_data_type = "P";
    }
    $arr = array("P" => GetMessage("STAT_ADV_NO_BACK"), "B" => GetMessage("STAT_ADV_BACK"), "S" => GetMessage("STAT_ADV_SUMMA"));
    echo "<img src=\"/bitrix/images/1.gif\" width=\"1\" height=\"5\" border=\"0\" alt=\"\"><br>(" . $arr[$find_adv_data_type] . ")<br></p>";
}
$s = "";
$width = COption::GetOptionString("statistic", "GRAPH_WEIGHT");
$height = COption::GetOptionString("statistic", "GRAPH_HEIGHT");
if (isset($find_adv) && is_array($find_adv) && count($find_adv) > 0) {
    foreach ($find_adv as $adv_id) {
        $s .= "&amp;adv[]=" . urlencode($adv_id);
Example #10
0
}
// image init
$ImageHandle = CreateImageHandle($width, $height);
$arrX = array();
// X axis points
$arrY = array();
// Y axis points
$arrayX = array();
// X axis grid points
$arrayY = array();
// Y axis grid points
/******************************************************
			Get plot data
*******************************************************/
$arFilter = array("DATE1" => $find_date1, "DATE2" => $find_date2);
$dynamic = CAdv::GetDynamicList($ADV_ID, $by = "s_date", $order = "asc", $arMaxMin, $arFilter);
while ($arData = $dynamic->GetNext()) {
    $date = mktime(0, 0, 0, $arData["MONTH"], $arData["DAY"], $arData["YEAR"]);
    $date_tmp = 0;
    // arrage dates in order
    $next_date = AddTime($prev_date, 1, "D");
    if ($date > $next_date && intval($prev_date) > 0) {
        // fill missing dates
        $date_tmp = $next_date;
        while ($date_tmp < $date) {
            $arrX[] = $date_tmp;
            if ($find_sessions == "Y") {
                $arrY_sessions[] = 0;
            }
            if ($find_sessions_back == "Y") {
                $arrY_sessions_back[] = 0;
Example #11
0
$ID = intval($ID);
$FilterArr = array("find_id", "find_event1", "find_event2", "find_keywords", "find_date1", "find_date2", "find_group");
if (strlen($set_filter) > 0) {
    InitFilterEx($FilterArr, "ADV_EVENTS", "set");
} else {
    InitFilterEx($FilterArr, "ADV_EVENTS", "get");
}
if (strlen($del_filter) > 0) {
    DelFilterEx($FilterArr, "ADV_EVENTS");
}
if (strlen($find_id) > 0 || strlen($find_event1) > 0 || strlen($find_event2) > 0 || strlen($find_keywords) > 0 || strlen($find_date1) > 0 || strlen($find_date2) > 0 || $find_group != "NOT_REF") {
    if (AdminListCheckDate($strError, array("find_date1" => $find_date1, "find_date2" => $find_date2))) {
        $arFilter = array("ID" => $find_id, "EVENT1" => $find_event1, "EVENT2" => $find_event2, "KEYWORDS" => $find_keywords, "DATE1_PERIOD" => $find_date1, "DATE2_PERIOD" => $find_date2, "GROUP" => $find_group);
    }
}
$events = CAdv::GetEventList($ID, $by, $order, $arFilter, $is_filtered);
$find_group = strlen($find_group) <= 0 ? "NOT_REF" : $find_group;
/***************************************************************************
				HTML form
****************************************************************************/
$APPLICATION->SetTitle(str_replace("#ID#", "{$ID}", GetMessage("STAT_TITLE")));
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_popup_admin.php";
echo ShowError($strError);
echo BeginFilter("ADV_EVENTS", $is_filtered);
?>
<form name="form1" method="GET" action="<?php 
echo $APPLICATION->GetCurPage();
?>
?">
<tr>
	<td class="tablebody"><font class="tablefieldtext">ID:</font></td>
Example #12
0
$lAdmin_tab1->EndCustomContent();
if ($_REQUEST["table_id"] == "" || $_REQUEST["table_id"] == $sTableID_tab1) {
    $lAdmin_tab1->CheckListMode();
}
$sTableID_tab2 = "t_stat_list_tab2";
$oSort_tab2 = new CAdminSorting($sTableID_tab2);
$lAdmin_tab2 = new CAdminList($sTableID_tab2, $oSort_tab2);
$lAdmin_tab2->BeginCustomContent();
if (strlen($strError) > 0) {
    CAdminMessage::ShowMessage($strError);
} elseif ($site_filter == "Y" && $_REQUEST["table_id"] == $sTableID_tab2) {
    CAdminMessage::ShowMessage(GetMessage("STAT_NO_DATA"));
} elseif ($_REQUEST["table_id"] == $sTableID_tab2) {
    $arADVF["DATE1_PERIOD"] = $arFilter["DATE1"];
    $arADVF["DATE2_PERIOD"] = $arFilter["DATE2"];
    $adv = CAdv::GetList($a_by, $a_order, $arADVF, $is_filtered, "", $arrGROUP_DAYS, $v);
    ?>
<table border="0" cellspacing="0" cellpadding="0" width="100%" class="list-table">
<tr class="heading" valign="top">
	<td><?php 
    echo GetMessage("STAT_ADV_NAME");
    ?>
</td>
	<td><a href="<?php 
    echo hrefHtml("session_list.php", "lang", LANGUAGE_ID, "find_date1", $now_date, "find_date2", $now_date, "find_adv_back", "N", "set_filter", "Y");
    ?>
"><?php 
    echo GetMessage("STAT_TODAY");
    ?>
</a><br><?php 
    echo $now_date;
Example #13
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();";
}
Example #14
0
##############################################
*/
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
$STAT_RIGHT = $APPLICATION->GetGroupRight("statistic");
if ($STAT_RIGHT == "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
IncludeModuleLangFile(__FILE__);
$sTableID = "t_adv_multiselect";
$oSort = new CAdminSorting($sTableID, "ID", "desc");
$lAdmin = new CAdminList($sTableID, $oSort);
$filter = new CAdminFilter($sTableID . "_filter_id", array("ID", "referer1", "referer2", GetMessage("STAT_DESCRIPTION")));
$FilterArr = array("find", "find_type", "find_id", "find_id_exact_match", "find_referer1", "find_referer1_exact_match", "find_referer2", "find_referer2_exact_match", "find_description", "find_description_exact_match");
$lAdmin->InitFilter($FilterArr);
$arFilter = array("ID" => $find != "" && $find_type == "id" ? $find : $find_id, "ID_EXACT_MATCH" => $find_id_exact_match, "REFERER1" => $find != "" && $find_type == "referer1" ? $find : $find_referer1, "REFERER1_EXACT_MATCH" => $find_referer1_exact_match, "REFERER2" => $find != "" && $find_type == "referer2" ? $find : $find_referer2, "REFERER2_EXACT_MATCH" => $find_referer2_exact_match, "DESCRIPTION" => $find != "" && $find_type == "description" ? $find : $find_description, "DESCRIPTION_EXACT_MATCH" => $find_description_exact_match);
$rsData = CAdv::GetSimpleList($by, $order, $arFilter, $is_filtered);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("STAT_ADV_PAGES")));
$arHeaders = array();
$arHeaders[] = array("id" => "ID", "content" => "ID", "sort" => "s_id", "default" => true);
$arHeaders[] = array("id" => "REFERER1", "content" => "referer1", "sort" => "s_referer1", "default" => true);
$arHeaders[] = array("id" => "REFERER2", "content" => "referer2", "sort" => "s_referer2", "default" => true);
$arHeaders[] = array("id" => "DESCRIPTION", "content" => GetMessage("STAT_DESCRIPTION"), "sort" => "s_description", "default" => true);
$lAdmin->AddHeaders($arHeaders);
while ($arRes = $rsData->NavNext(true, "f_")) {
    $row =& $lAdmin->AddRow($f_ID, $arRes);
    $row->AddViewField("REFERER1", $f_REFERER1 . '<input type="hidden" name="ADV_NAME[' . $f_ID . ']" id="ADV_NAME[' . $f_ID . ']" value="' . $f_REFERER1 . " [" . $f_ID . ']">');
}
$lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()), array("counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0")));
$lAdmin->AddGroupActionTable(array("select" => array("action" => "setTargetValue(0, '" . AddSlashes($field) . "')", "value" => "select", "type" => "button", "name" => GetMessage("STAT_SELECT"))), array("disable_action_target" => true));
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/img.php";
$STAT_RIGHT = $APPLICATION->GetGroupRight("statistic");
if ($STAT_RIGHT == "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
IncludeModuleLangFile(__FILE__);
$arSites = array();
$ref = $ref_id = array();
$rs = CSite::GetList($v1 = "sort", $v2 = "asc");
while ($ar = $rs->Fetch()) {
    $ref[] = $ar["ID"];
    $ref_id[] = $ar["ID"];
    $arSites[$ar["ID"]] = "[<a href=\"/bitrix/admin/site_edit.php?LID=" . $ar["ID"] . "&lang=" . LANGUAGE_ID . "\">" . $ar["ID"] . "</a>]&nbsp;";
}
$arSiteDropdown = array("reference" => $ref, "reference_id" => $ref_id);
$rs = CAdv::GetList($v1 = "", $v2 = "", array(), $v3, "", $v4, $v5);
while ($ar = $rs->Fetch()) {
    $arrADV[$ar["ID"]] = $ar["REFERER1"] . " / " . $ar["REFERER2"] . " [" . $ar["ID"] . "]";
    $arrADV_DETAIL[$ar["ID"]] = array("REFERER1" => $ar["REFERER1"], "REFERER2" => $ar["REFERER2"]);
}
if (strlen($find_referer1) > 0) {
    $find_adv = array();
    foreach ($arrADV_DETAIL as $ADV_ID => $ADV_DETAIL) {
        if ($ADV_DETAIL["REFERER1"] == $find_referer1 && !in_array($ADV_ID, $find_adv)) {
            $find_adv[] = $ADV_ID;
        }
    }
}
if (strlen($find_referer2) > 0) {
    $find_adv = array();
    foreach ($arrADV_DETAIL as $ADV_ID => $ADV_DETAIL) {
Example #16
0
	public static function Set_Adv()
	{
		$err_mess = "File: ".__FILE__."<br>Line: ";
		stat_session_register("SESS_ADV_ID"); // ID рекламной кампании
		$DB = CDatabase::GetModuleConnection('statistic');

		// если это начало сессии
		if (intval($_SESSION["SESS_SESSION_ID"])<=0 && intval($_SESSION["SESS_ADV_ID"])<=0)
		{
			$arrADV = array(); // массив рекламных кампаний

			// проверяем страницу на которую пришел посетитель
			$page_to = __GetFullRequestUri();
			CAdv::SetByPage($page_to, $arrADV, $ref1, $ref2, "TO");

			// если посетитель пришел с ссылающегося сайта то
			if (__GetReferringSite($PROT, $SN, $SN_WithoutPort, $PAGE_FROM))
			{
				$site_name = $PROT.$SN;
				// проверяем поисковики
				$strSql = "
					SELECT
						A.REFERER1,
						A.REFERER2,
						S.ADV_ID
					FROM
						b_stat_adv A,
						b_stat_adv_searcher S,
						b_stat_searcher_params P
					WHERE
						S.ADV_ID = A.ID
					and P.SEARCHER_ID = S.SEARCHER_ID
					and upper('".$DB->ForSql(trim($site_name),2000)."')
					like ".$DB->Concat("'%'", "upper(P.DOMAIN)", "'%'")."
					";
				$w = $DB->Query($strSql, false, $err_mess.__LINE__);
				while ($wr=$w->Fetch())
				{
					$ref1 = $wr["REFERER1"];
					$ref2 = $wr["REFERER2"];
					$arrADV[] = intval($wr["ADV_ID"]);
				}

				// проверяем ссылающиеся страницы
				$site_name = $PROT.$SN.$PAGE_FROM;
				CAdv::SetByPage($site_name, $arrADV, $ref1, $ref2, "FROM");
			}

			// если гость пришел с referer1, либо referer2 то
			if (strlen($_SESSION["referer1"])>0 || strlen($_SESSION["referer2"])>0)
			{
				CAdv::SetByReferer(trim($_SESSION["referer1"]), trim($_SESSION["referer2"]), $arrADV, $ref1, $ref2);
			}
			//Handle Openstat if enabled
			if(COption::GetOptionString("statistic", "OPENSTAT_ACTIVE") === "Y" && strlen($_REQUEST["_openstat"])>0)
			{
				$openstat = $_REQUEST["_openstat"];
				if(strpos($openstat, ";")===false)
					$openstat = base64_decode($openstat);
				$openstat = explode(";", $openstat);
				CAdv::SetByReferer(
					trim(str_replace(
						array("#service-name#", "#campaign-id#", "#ad-id#", "#source-id#"),
						$openstat,
						COption::GetOptionString("statistic", "OPENSTAT_R1_TEMPLATE")
					)),
					trim(str_replace(
						array("#service-name#", "#campaign-id#", "#ad-id#", "#source-id#"),
						$openstat,
						COption::GetOptionString("statistic", "OPENSTAT_R2_TEMPLATE")
					)),
					$arrADV, $ref1, $ref2
				);
			}
			$arrADV = array_unique($arrADV);

			// если было выявлено более одной рекламной кампании подходящей под условия то
			if (count($arrADV)>1)
			{
				// выберем рекламную кампанию по наивысшему приоритету (либо по наивысшему ID)
				$str = implode(",",$arrADV);
				$strSql = "SELECT ID, REFERER1, REFERER2 FROM b_stat_adv WHERE ID in ($str) ORDER BY PRIORITY desc, ID desc";
				$z = $DB->Query($strSql, false, $err_mess.__LINE__);
				$zr = $z->Fetch();
				$_SESSION["SESS_ADV_ID"] = intval($zr["ID"]);
				$_SESSION["referer1"] = $zr["REFERER1"];
				$_SESSION["referer2"] = $zr["REFERER2"];
			}
			else
			{
				list(,$value) = each($arrADV);
				$_SESSION["SESS_ADV_ID"] = intval($value);
				$_SESSION["referer1"] = $ref1;
				$_SESSION["referer2"] = $ref2;
			}
		}
		if (intval($_SESSION["SESS_ADV_ID"])>0) $_SESSION["SESS_LAST_ADV_ID"] = $_SESSION["SESS_ADV_ID"];
		$_SESSION["SESS_LAST_ADV_ID"] = intval($_SESSION["SESS_LAST_ADV_ID"]);
	}
Example #17
0
function create_event_list(&$lAdmin, $show_money = false, $get_total_events = false)
{
    $show_events = "";
    // gather events data
    global $f_EVENTS_VIEW;
    $show_events = strlen($f_EVENTS_VIEW) <= 0 ? COption::GetOptionString("statistic", "ADV_EVENTS_DEFAULT") : $f_EVENTS_VIEW;
    $group_events = $show_events == "event1" || $show_events == "event2" ? $show_events : "";
    global $arFilter;
    $arF = array();
    $arF["DATE1_PERIOD"] = $arFilter["DATE1_PERIOD"];
    $arF["DATE2_PERIOD"] = $arFilter["DATE2_PERIOD"];
    if ($show_money) {
        $arF["MONEY1"] = 0.0001;
    }
    if ($show_events == "event1") {
        $arF["GROUP"] = "event1";
    } elseif ($show_events == "event2") {
        $arF["GROUP"] = "event2";
    }
    global $GROUP, $find_type, $find, $find_id, $f_REFERER1, $f_REFERER2;
    $adv_id = intval($find_type == "id" && $find != "" ? $find : $find_id);
    if ($GROUP == "N") {
        $events = CAdv::GetEventList($adv_id, $by, $order, $arF, $v1);
    } elseif ($GROUP == "Y") {
        $value = $find_type == "referer1" ? $f_REFERER1 : $f_REFERER2;
        $events = CAdv::GetEventListByReferer($value, $arFilter);
    }
    $sum_today = array("C" => 0, "M" => 0.0);
    $sum_back_today = array("C" => 0, "M" => 0.0);
    $sum_yesterday = array("C" => 0, "M" => 0.0);
    $sum_back_yesterday = array("C" => 0, "M" => 0.0);
    $sum_bef_yesterday = array("C" => 0, "M" => 0.0);
    $sum_back_bef_yesterday = array("C" => 0, "M" => 0.0);
    $sum_period = array("C" => 0, "M" => 0.0);
    $sum_back_period = array("C" => 0, "M" => 0.0);
    $sum_total = array("C" => 0, "M" => 0.0);
    $sum_back_total = array("C" => 0, "M" => 0.0);
    $arEvents = array();
    while ($er = $events->Fetch()) {
        $arEvents[] = $er;
        $sum_today["C"] += intval($er["COUNTER_TODAY"]);
        $sum_back_today["C"] += intval($er["COUNTER_BACK_TODAY"]);
        $sum_yesterday["C"] += intval($er["COUNTER_YESTERDAY"]);
        $sum_back_yesterday["C"] += intval($er["COUNTER_BACK_YESTERDAY"]);
        $sum_bef_yesterday["C"] += intval($er["COUNTER_BEF_YESTERDAY"]);
        $sum_back_bef_yesterday["C"] += intval($er["COUNTER_BACK_BEF_YESTERDAY"]);
        $sum_period["C"] += intval($er["COUNTER_PERIOD"]);
        $sum_back_period["C"] += intval($er["COUNTER_BACK_PERIOD"]);
        $sum_total["C"] += intval($er["COUNTER"]);
        $sum_back_total["C"] += intval($er["COUNTER_BACK"]);
        if ($show_money == "Y") {
            $sum_today["M"] += doubleval($er["MONEY_TODAY"]);
            $sum_back_today["M"] += doubleval($er["MONEY_BACK_TODAY"]);
            $sum_yesterday["M"] += doubleval($er["MONEY_YESTERDAY"]);
            $sum_back_yesterday["M"] += doubleval($er["MONEY_BACK_YESTERDAY"]);
            $sum_bef_yesterday["M"] += doubleval($er["MONEY_BEF_YESTERDAY"]);
            $sum_back_bef_yesterday["M"] += doubleval($er["MONEY_BACK_BEF_YESTERDAY"]);
            $sum_period["M"] += doubleval($er["MONEY_PERIOD"]);
            $sum_back_period["M"] += doubleval($er["MONEY_BACK_PERIOD"]);
            $sum_total["M"] += doubleval($er["MONEY"]);
            $sum_back_total["M"] += doubleval($er["MONEY_BACK"]);
        }
    }
    $total_events_sum = array("C" => 0, "M" => 0.0);
    $total_events_sum["C"] = $sum_total["C"] + $sum_back_total["C"];
    $total_events_sum["M"] = $sum_total["M"] + $sum_back_total["M"];
    if ($get_total_events) {
        return $total_events_sum["C"];
    }
    global $f_GUESTS_TODAY, $f_GUESTS_BACK_TODAY, $f_GUESTS_YESTERDAY, $f_GUESTS_BACK_YESTERDAY;
    global $f_GUESTS_BEF_YESTERDAY, $f_GUESTS_BACK_BEF_YESTERDAY, $f_GUESTS_PERIOD, $f_GUESTS_BACK_PERIOD;
    global $f_GUESTS, $f_GUESTS_BACK;
    $arSum = array("TODAY" => event_format_link($sum_today, $f_GUESTS_TODAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money), "TODAY_BACK" => event_format_link($sum_back_today, $f_GUESTS_BACK_TODAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money), "YESTERDAY" => event_format_link($sum_yesterday, $f_GUESTS_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money), "YESTERDAY_BACK" => event_format_link($sum_back_yesterday, $f_GUESTS_BACK_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money), "BEF_YESTERDAY" => event_format_link($sum_bef_yesterday, $f_GUESTS_BEF_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money), "BEF_YESTERDAY_BACK" => event_format_link($sum_back_bef_yesterday, $f_GUESTS_BACK_BEF_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money), "PERIOD" => event_format_link($sum_period, $f_GUESTS_PERIOD, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money), "PERIOD_BACK" => event_format_link($sum_back_period, $f_GUESTS_BACK_PERIOD, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money), "TOTAL" => event_format_link($sum_total, $f_GUESTS, false, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&&set_filter=Y", $show_money), "TOTAL_BACK" => event_format_link($sum_back_total, $f_GUESTS_BACK, true, $GROUP, "event_list.php?lang=" . LANG . "&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=Y&&set_filter=Y", $show_money));
    $full_list = $show_events == "list" || $show_events == "event1" || $show_events == "event2";
    $arHeaders = array();
    if ($show_events == "list" || $show_events == "event1") {
        $arHeaders[] = array("id" => "EVENT1", "content" => "event1", "default" => true);
    }
    if ($show_events == "list" || $show_events == "event2") {
        $arHeaders[] = array("id" => "EVENT2", "content" => "event2", "default" => true);
    }
    if ($list_mode != "period") {
        $arHeaders[] = array("id" => "today", "content" => GetMessage("STAT_TODAY") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true);
        $arHeaders[] = array("id" => "today_back", "content" => GetMessage("STAT_TODAY") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true);
        $arHeaders[] = array("id" => "yesterday", "content" => GetMessage("STAT_YESTERDAY") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true);
        $arHeaders[] = array("id" => "yesterday_back", "content" => GetMessage("STAT_YESTERDAY") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true);
        $arHeaders[] = array("id" => "bef_yesterday", "content" => GetMessage("STAT_BEFYESTERDAY") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true);
        $arHeaders[] = array("id" => "bef_yesterday_back", "content" => GetMessage("STAT_BEFYESTERDAY") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true);
    }
    global $find_date1_period, $find_date2_period, $is_filtered;
    if ((strlen($find_date1_period) > 0 || strlen($find_date2_period) > 0) && $is_filtered) {
        $arHeaders[] = array("id" => "period", "content" => GetMessage("STAT_PERIOD") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true);
        $arHeaders[] = array("id" => "period_back", "content" => GetMessage("STAT_PERIOD") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true);
    }
    $arHeaders[] = array("id" => "total", "content" => GetMessage("STAT_TOTAL") . "<br>" . GetMessage("STAT_STRAIGHT"), "align" => "right", "default" => true);
    $arHeaders[] = array("id" => "total_back", "content" => GetMessage("STAT_TOTAL") . "<br>" . GetMessage("STAT_BACK"), "align" => "right", "default" => true);
    $lAdmin->AddHeaders($arHeaders);
    if ($full_list) {
        $events = new CDBResult();
        $events->InitFromArray($arEvents);
        $rsData = new CAdminResult($events, $lAdmin->table_id);
        $first = true;
        $i = COption::GetOptionInt("statistic", "ADV_DETAIL_TOP_SIZE");
        while ($i > 0 && ($arRes = $rsData->NavNext(true, "e_"))) {
            if ($first) {
                foreach ($arRes as $key => $value) {
                    global ${"e_" . $key};
                }
                $first = false;
            }
            $row =& $lAdmin->AddRow($e_ID, $arRes);
            if ($show_events == "list") {
                $title = "ID = " . $e_ID;
                if (strlen($e_EVENT1) > 0) {
                    $title .= "\nevent1 = " . $e_EVENT1;
                }
                if (strlen($e_EVENT2) > 0) {
                    $title .= "\nevent2 = " . $e_EVENT2;
                }
                if (strlen($e_NAME) > 0) {
                    $title .= "\n" . GetMessage("STAT_NAME") . " " . $e_NAME;
                }
                if (strlen($e_DESCRIPTION) > 0) {
                    $title .= "\n" . GetMessage("STAT_DESCRIPTION") . " " . $e_DESCRIPTION;
                }
                $name = "<a target=\"_blank\" href=\"event_type_list.php?lang=" . LANG . "&find_id=" . $e_ID . "&find_id_exact_match=Y&set_filter=Y\" class=\"tablebodylink\" title=\"" . $title . "\">" . $e_EVENT . "</a>";
            } elseif ($show_events == "event1") {
                $name = "<a target=\"_blank\" href=\"event_type_list.php?lang=" . LANG . "&find_event1=" . urlencode("\"" . $e_EVENT1 . "\"") . "&set_filter=Y\" class=\"tablebodylink\">" . $e_EVENT1 . "</a>";
            } elseif ($show_events == "event2") {
                $name = "<a target=\"_blank\" href=\"event_type_list.php?lang=" . LANG . "&find_event2=" . urlencode("\"" . $e_EVENT2 . "\"") . "&set_filter=Y\" class=\"tablebodylink\">" . $e_EVENT2 . "</a>";
            }
            $strHTML = event_format_link(array("C" => $e_COUNTER_TODAY, "M" => $e_MONEY_TODAY), $f_GUESTS_TODAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_event_id_exact_match=Y&find_adv_id=" . $adv_id . "&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money);
            $row->AddViewField("today", $strHTML);
            $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_TODAY, "M" => $e_MONEY_BACK_TODAY), $f_GUESTS_BACK_TODAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_id=" . $adv_id . "&find_adv_back=Y&find_date1=" . urlencode($now_date) . "&find_date2=" . urlencode($now_date) . "&set_filter=Y", $show_money);
            $row->AddViewField("today_back", $strHTML);
            $strHTML = event_format_link(array("C" => $e_COUNTER_YESTERDAY, "M" => $e_MONEY_YESTERDAY), $f_GUESTS_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money);
            $row->AddViewField("yesterday", $strHTML);
            $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_YESTERDAY, "M" => $e_MONEY_BACK_YESTERDAY), $f_GUESTS_BACK_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($yesterday_date) . "&find_date2=" . urlencode($yesterday_date) . "&set_filter=Y", $show_money);
            $row->AddViewField("yesterday_back", $strHTML);
            $strHTML = event_format_link(array("C" => $e_COUNTER_BEF_YESTERDAY, "M" => $e_MONEY_BEF_YESTERDAY), $f_GUESTS_BEF_YESTERDAY, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money);
            $row->AddViewField("bef_yesterday", $strHTML);
            $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_BEF_YESTERDAY, "M" => $e_MONEY_BACK_BEF_YESTERDAY), $f_GUESTS_BACK_BEF_YESTERDAY, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($bef_yesterday_date) . "&find_date2=" . urlencode($bef_yesterday_date) . "&set_filter=Y", $show_money);
            $row->AddViewField("bef_yesterday_back", $strHTML);
            if ((strlen($find_date1_period) > 0 || strlen($find_date2_period) > 0) && $is_filtered) {
                $strHTML = event_format_link(array("C" => $e_COUNTER_PERIOD, "M" => $e_MONEY_PERIOD), $f_GUESTS_PERIOD, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money);
                $row->AddViewField("period", $strHTML);
                $strHTML = event_format_link(array("C" => $e_COUNTER_BACK_PERIOD, "M" => $e_MONEY_BACK_PERIOD), $f_GUESTS_BACK_PERIOD, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&find_date1=" . urlencode($find_date1_period) . "&find_date2=" . urlencode($find_date2_period) . "&set_filter=Y", $show_money);
                $row->AddViewField("period_back", $strHTML);
            }
            $strHTML = event_format_link(array("C" => $e_COUNTER, "M" => $e_MONEY), $f_GUESTS, false, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=N&set_filter=Y", $show_money);
            $row->AddViewField("total", $strHTML);
            $strHTML = event_format_link(array("C" => $e_COUNTER_BACK, "M" => $e_MONEY_BACK), $f_GUESTS_BACK, true, $GROUP, "event_list.php?lang=" . LANG . "&find_event_id=" . $e_ID . "&find_adv_id=" . $adv_id . "&find_event_id_exact_match=Y&find_adv_id_exact_match=Y&find_adv_back=Y&set_filter=Y", $show_money);
            $row->AddViewField("total_back", $strHTML);
            --$i;
        }
    }
    $row =& $lAdmin->AddRow(0, array());
    $row->SetFeatures(array("footer" => $full_list));
    $row->AddViewField("EVENT1", GetMessage("STAT_FOOTER"));
    $row->AddViewField("today", $arSum["TODAY"]);
    $row->AddViewField("today_back", $arSum["TODAY_BACK"]);
    $row->AddViewField("yesterday", $arSum["YESTERDAY"]);
    $row->AddViewField("yesterday_back", $arSum["YESTERDAY_BACK"]);
    $row->AddViewField("bef_yesterday", $arSum["BEF_YESTERDAY"]);
    $row->AddViewField("bef_yesterday_back", $arSum["BEF_YESTERDAY_BACK"]);
    if ((strlen($find_date1_period) > 0 || strlen($find_date2_period) > 0) && $is_filtered) {
        $row->AddViewField("period", $arSum["PERIOD"]);
        $row->AddViewField("period_back", $arSum["PERIOD_BACK"]);
    }
    $row->AddViewField("total", $arSum["TOTAL"]);
    $row->AddViewField("total_back", $arSum["TOTAL_BACK"]);
}
Example #18
0
    $row =& $lAdmin->AddRow(0, array());
    $row->SetFeatures(array("footer" => true));
    $row->AddViewField("DATE_STAT", GetMessage("STAT_TOTAL"));
    $row->AddViewField("SESSIONS", $ar["SESSIONS_PERIOD"]);
    $row->AddViewField("SESSIONS_BACK", $ar["SESSIONS_BACK_PERIOD"]);
    $row->AddViewField("GUESTS", $ar["GUESTS_PERIOD"]);
    $row->AddViewField("GUESTS_BACK", $ar["GUESTS_BACK_PERIOD"]);
    $row->AddViewField("NEW_GUESTS", $ar["NEW_GUESTS_PERIOD"]);
    $row->AddViewField("C_HOSTS", $ar["C_HOSTS_PERIOD"]);
    $row->AddViewField("HOSTS_BACK", $ar["HOSTS_BACK_PERIOD"]);
    $row->AddViewField("HITS", $ar["HITS_PERIOD"]);
    $row->AddViewField("HITS_BACK", $ar["HITS_BACK_PERIOD"]);
    $row->AddViewField("EVENTS", "&nbsp;");
}
$aContext = array(array("TEXT" => GetMessage("STAT_ADV_LIST"), "ICON" => "btn_list", "LINK" => "/bitrix/admin/adv_list.php?lang=" . LANG));
$dynamic_days = CAdv::DynamicDays($find_adv_id, $arFilter["DATE1"], $arFilter["DATE2"]);
if ($dynamic_days >= 2 && function_exists("ImageCreate")) {
    $aContext[] = array("TEXT" => GetMessage("STAT_GRAPH"), "LINK" => "/bitrix/admin/adv_graph_list.php?lang=" . LANG . "&ADV_ID=" . $find_adv_id . "&find_date1=" . $arFilter["DATE1"] . "&find_date2=" . $arFilter["DATE2"] . "&set_filter=Y");
}
if ($context != "tab") {
    $lAdmin->AddAdminContextMenu($aContext);
}
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(GetMessage("STAT_RECORDS_LIST"));
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
?>

<form name="form1" method="GET" action="<?php 
echo $APPLICATION->GetCurPage();
?>
?">
Example #19
0
 function GetEventListByReferer($value, $arFilter)
 {
     $err_mess = "File: " . __FILE__ . "<br>Line: ";
     $DB = CDatabase::GetModuleConnection('statistic');
     if ($arFilter["GROUP"] == "referer1") {
         $group = "A.REFERER1";
     } else {
         $group = "A.REFERER2";
     }
     $where = "";
     $filter_period = false;
     $strSqlPeriod = "";
     $strT = "";
     if (is_array($arFilter)) {
         $date1 = $arFilter["DATE1_PERIOD"];
         $date2 = $arFilter["DATE2_PERIOD"];
         $date_from = MkDateTime(ConvertDateTime($date1, "D.M.Y"), "d.m.Y");
         $date_to = MkDateTime(ConvertDateTime($date2, "D.M.Y") . " 23:59", "d.m.Y H:i");
         if (strlen($date1) > 0) {
             $filter_period = true;
             if (strlen($date2) > 0) {
                 $strSqlPeriod = "sum(if(AE.DATE_STAT<FROM_UNIXTIME('{$date_from}'),0, if(AE.DATE_STAT>FROM_UNIXTIME('{$date_to}'),0,";
                 $strT = ")))";
             } else {
                 $strSqlPeriod = "sum(if(AE.DATE_STAT<FROM_UNIXTIME('{$date_from}'),0,";
                 $strT = "))";
             }
         } elseif (strlen($date2) > 0) {
             $filter_period = true;
             $strSqlPeriod = "sum(if(AE.DATE_STAT>FROM_UNIXTIME('{$date_to}'),0,";
             $strT = "))";
         }
     }
     $arFilter["GROUP"] = "";
     $a = CAdv::GetList($by, $order, $arFilter, $is_filtered, "", $arrGROUP_DAYS, $strSql_res);
     if ($is_filtered) {
         $str_id = "0";
         while ($ar = $a->Fetch()) {
             $str_id .= "," . intval($ar["ID"]);
         }
         $where = "and A.ID in ({$str_id})";
     }
     $strSql = "\n\t\t\tSELECT\n\t\t\t\tE.ID, E.EVENT1, E.EVENT2, E.C_SORT, E.NAME, E.DESCRIPTION,\n\t\t\t\tsum(AE.COUNTER)\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCOUNTER,\n\t\t\t\tsum(AE.COUNTER_BACK)\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCOUNTER_BACK,\n\t\t\t\tsum(if(to_days(curdate())=to_days(AE.DATE_STAT),ifnull(AE.COUNTER,0),0))\t\t\t\t\tCOUNTER_TODAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=1,ifnull(AE.COUNTER,0),0))\t\t\t\t\tCOUNTER_YESTERDAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=2,ifnull(AE.COUNTER,0),0))\t\t\t\t\tCOUNTER_BEF_YESTERDAY,\n\t\t\t\tsum(if(to_days(curdate())=to_days(AE.DATE_STAT),ifnull(AE.COUNTER_BACK,0),0))\t\t\t\tCOUNTER_BACK_TODAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=1,ifnull(AE.COUNTER_BACK,0),0))\t\t\t\tCOUNTER_BACK_YESTERDAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=2,ifnull(AE.COUNTER_BACK,0),0))\t\t\t\tCOUNTER_BACK_BEF_YESTERDAY,\n\t\t\t\t" . ($filter_period ? $strSqlPeriod . 'ifnull(AE.COUNTER,0)' . $strT : 'sum(AE.COUNTER)') . "\t\tCOUNTER_PERIOD,\n\t\t\t\t" . ($filter_period ? $strSqlPeriod . 'ifnull(AE.COUNTER_BACK,0)' . $strT : 'sum(AE.COUNTER_BACK)') . "\tCOUNTER_BACK_PERIOD,\n\n\t\t\t\tsum(AE.MONEY)\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMONEY,\n\t\t\t\tsum(AE.MONEY_BACK)\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMONEY_BACK,\n\t\t\t\tsum(if(to_days(curdate())=to_days(AE.DATE_STAT),ifnull(AE.MONEY,0),0))\t\t\t\t\t\tMONEY_TODAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=1,ifnull(AE.MONEY,0),0))\t\t\t\t\tMONEY_YESTERDAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=2,ifnull(AE.MONEY,0),0))\t\t\t\t\tMONEY_BEF_YESTERDAY,\n\t\t\t\tsum(if(to_days(curdate())=to_days(AE.DATE_STAT),ifnull(AE.MONEY_BACK,0),0))\t\t\t\t\tMONEY_BACK_TODAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=1,ifnull(AE.MONEY_BACK,0),0))\t\t\t\tMONEY_BACK_YESTERDAY,\n\t\t\t\tsum(if(to_days(curdate())-to_days(AE.DATE_STAT)=2,ifnull(AE.MONEY_BACK,0),0))\t\t\t\tMONEY_BACK_BEF_YESTERDAY,\n\t\t\t\t" . ($filter_period ? $strSqlPeriod . 'ifnull(AE.MONEY,0)' . $strT : 'sum(AE.MONEY)') . "\t\t\tMONEY_PERIOD,\n\t\t\t\t" . ($filter_period ? $strSqlPeriod . 'ifnull(AE.MONEY_BACK,0)' . $strT : 'sum(AE.MONEY_BACK)') . "\tMONEY_BACK_PERIOD,\n\n\t\t\t\tif (length(E.NAME)>0, E.NAME,\n\t\t\t\t\tconcat(ifnull(E.EVENT1,''),' / ',ifnull(E.EVENT2,''))) EVENT\n\t\t\tFROM\n\t\t\t\tb_stat_adv A,\n\t\t\t\tb_stat_adv_event_day AE,\n\t\t\t\tb_stat_event E\n\t\t\tWHERE\n\t\t\t\t1=1\n\t\t\t\t{$where}\n\t\t\tand\t{$group}='" . $DB->ForSql($value, 255) . "'\n\t\t\tand AE.ADV_ID = A.ID\n\t\t\tand E.ID = AE.EVENT_ID\n\t\t\tand E.ADV_VISIBLE = 'Y'\n\t\t\tGROUP BY\n\t\t\t\tE.ID, E.EVENT1, E.EVENT2, E.C_SORT, E.NAME, E.DESCRIPTION\n\t\t\tORDER BY\n\t\t\t\tE.C_SORT desc,\n\t\t\t\tCOUNTER_TODAY desc, COUNTER_BACK_TODAY desc,\n\t\t\t\tCOUNTER_YESTERDAY desc, COUNTER_BACK_YESTERDAY desc,\n\t\t\t\tCOUNTER_BEF_YESTERDAY desc, COUNTER_BACK_BEF_YESTERDAY desc,\n\t\t\t\tCOUNTER_PERIOD desc, COUNTER_BACK_PERIOD desc,\n\t\t\t\tCOUNTER desc, COUNTER_BACK\n\t\t\tLIMIT " . intval(COption::GetOptionString('statistic', 'RECORDS_LIMIT')) . "\n\t\t\t";
     $res = $DB->Query($strSql, false, $err_mess . __LINE__);
     return $res;
 }
Example #20
0
    $next_date = AddTime($prev_date, 1, "D");
    if ($date > $next_date && intval($prev_date) > 0) {
        $date_tmp = $next_date;
        while ($date_tmp < $date) {
            $arrX[] = $date_tmp;
            foreach ($find_events as $eid) {
                $arrY_events[$eid][] = 0;
                $arrY_events_back[$eid][] = 0;
            }
            $date_tmp = AddTime($date_tmp, 1, "D");
        }
    }
    $arrX[] = $date;
    $arF["DATE1_PERIOD"] = GetTime($date);
    $arF["DATE2_PERIOD"] = GetTime($date);
    $e = CAdv::GetEventList($ADV_ID, $by = "s_def", $order = "desc", $arF, $is_filtered);
    while ($er = $e->Fetch()) {
        if ($find_show_money == "Y" && $STAT_RIGHT > "M") {
            $arrEvent[$er["ID"]][$date] = intval($er["MONEY_PERIOD"]);
            $arrEvent_back[$er["ID"]][$date] = intval($er["MONEY_BACK_PERIOD"]);
        } else {
            $arrEvent[$er["ID"]][$date] = intval($er["COUNTER_PERIOD"]);
            $arrEvent_back[$er["ID"]][$date] = intval($er["COUNTER_BACK_PERIOD"]);
        }
    }
    foreach ($find_events as $eid) {
        $arrY_events[$eid][] = intval($arrEvent[$eid][$date]);
        $arrY_events_back[$eid][] = intval($arrEvent_back[$eid][$date]);
    }
    $prev_date = $date;
}