- Модуль: statistic
- Путь к файлу: ~/bitrix/modules/statistic/classes/general/statevent.php
- Класс: CAllStatEvent
- Вызов: CAllStatEvent::GetListUniqueCheck
static function GetListUniqueCheck($arFilter=Array(), $LIMIT=1)
{
$err_mess = "File: ".__FILE__."
Line: ";
$DB = CDatabase::GetModuleConnection('statistic');
$arSqlSearch = Array();
$strSqlSearch = "";
if (is_array($arFilter))
{
foreach ($arFilter as $key => $val)
{
if(is_array($val))
{
if(count($val) <= 0)
continue;
}
else
{
if( ((string)$val == '') || ($val === "NOT_REF") )
continue;
}
$match_value_set = array_key_exists($key."_EXACT_MATCH", $arFilter);
$key = strtoupper($key);
switch($key)
{
case "EVENT3":
$arSqlSearch[] = "E.EVENT3 = '".$DB->ForSql($val,255)."'";
break;
case "DATE":
if (CheckDateTime($val))
$arSqlSearch[] = "E.DATE_ENTER=".$DB->CharToDateFunction($val);
break;
case "EVENT_ID":
case "SESSION_ID":
case "GUEST_ID":
case "ADV_ID":
case "COUNTRY_ID":
$arSqlSearch[] = "E.".$key."='".$DB->ForSql($val)."'";
break;
case "ADV_BACK":
$arSqlSearch[] = ($val=="Y") ? "E.ADV_BACK='Y'" : "E.ADV_BACK='N'";
break;
case "SITE_ID":
$arSqlSearch[] = "E.SITE_ID = '".$DB->ForSql($val,2)."'";
break;
}
}
}
$strSqlSearch = GetFilterSqlSearch($arSqlSearch);
$strSql = "
SELECT /*TOP*/
E.ID
FROM
b_stat_event_list E
WHERE
".$strSqlSearch."
";
$res = $DB->Query(CStatistics::DBTopSql($strSql, $LIMIT), false, $err_mess.__LINE__);
return $res;
}