static function GetCommonValues($arFilter=Array(), $bIgnoreErrors=false)
{
$err_mess = "File: ".__FILE__."
Line: ";
$DB = CDatabase::GetModuleConnection('statistic');
$site_id = $arFilter["SITE_ID"];
if($site_id <> '' && $site_id!="NOT_REF")
{
$site_filter = true;
$strSqlSearch = " and SITE_ID = '".$DB->ForSql($site_id, 2)."' ";
}
else
{
$site_filter = false;
$strSqlSearch = "";
}
$date1 = $arFilter["DATE1"];
$date2 = $arFilter["DATE2"];
if($date1 <> '' && CheckDateTime($date1))
{
$is_filtered = true;
$date_from = MkDateTime(ConvertDateTime($date1,"D.M.Y"),"d.m.Y");
if($date2 <> '' && CheckDateTime($date2))
{
$date_to = MkDateTime(ConvertDateTime($date2,"D.M.Y")." 23:59","d.m.Y H:i");
$strSqlPeriod = "sum(if(DATE_STATFROM_UNIXTIME('$date_to'),0,";
$strT=")))";
}
else
{
$strSqlPeriod = "sum(if(DATE_STAT '' && CheckDateTime($date2))
{
$is_filtered = true;
$date_to = MkDateTime(ConvertDateTime($date2,"D.M.Y")." 23:59","d.m.Y H:i");
$strSqlPeriod = "sum(if(DATE_STAT>FROM_UNIXTIME('$date_to'),0,";
$strT="))";
}
else
{
$is_filtered = false;
$strSqlPeriod = "";
$strT="";
}
$strSql = "
SELECT
sum(HITS) TOTAL_HITS,
sum(if(to_days(curdate())=to_days(DATE_STAT),HITS,0)) TODAY_HITS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,HITS,0)) YESTERDAY_HITS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,HITS,0)) B_YESTERDAY_HITS,
sum(SESSIONS) TOTAL_SESSIONS,
sum(if(to_days(curdate())=to_days(DATE_STAT),SESSIONS,0)) TODAY_SESSIONS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,SESSIONS,0)) YESTERDAY_SESSIONS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,SESSIONS,0)) B_YESTERDAY_SESSIONS,
sum(C_EVENTS) TOTAL_EVENTS,
sum(if(to_days(curdate())=to_days(DATE_STAT),C_EVENTS,0)) TODAY_EVENTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,C_EVENTS,0)) YESTERDAY_EVENTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,C_EVENTS,0)) B_YESTERDAY_EVENTS,
sum(C_HOSTS) TOTAL_HOSTS,
sum(if(to_days(curdate())=to_days(DATE_STAT),C_HOSTS,0)) TODAY_HOSTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,C_HOSTS,0)) YESTERDAY_HOSTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,C_HOSTS,0)) B_YESTERDAY_HOSTS,
sum(NEW_GUESTS) TOTAL_GUESTS,
sum(if(to_days(curdate())=to_days(DATE_STAT),GUESTS,0)) TODAY_GUESTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,GUESTS,0)) YESTERDAY_GUESTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,GUESTS,0)) B_YESTERDAY_GUESTS,
sum(if(to_days(curdate())=to_days(DATE_STAT),NEW_GUESTS,0)) TODAY_NEW_GUESTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,NEW_GUESTS,0)) YESTERDAY_NEW_GUESTS,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,NEW_GUESTS,0)) B_YESTERDAY_NEW_GUESTS,
sum(FAVORITES) TOTAL_FAVORITES,
sum(if(to_days(curdate())=to_days(DATE_STAT),FAVORITES,0)) TODAY_FAVORITES,
sum(if(to_days(curdate())-to_days(DATE_STAT)=1,FAVORITES,0)) YESTERDAY_FAVORITES,
sum(if(to_days(curdate())-to_days(DATE_STAT)=2,FAVORITES,0)) B_YESTERDAY_FAVORITES
".
($is_filtered ? ','.
$strSqlPeriod.'HITS'.$strT.' PERIOD_HITS, '.
$strSqlPeriod.'SESSIONS'.$strT.' PERIOD_SESSIONS, '.
$strSqlPeriod.'C_EVENTS'.$strT.' PERIOD_EVENTS, '.
$strSqlPeriod.'FAVORITES'.$strT.' PERIOD_FAVORITES, '.
$strSqlPeriod.'NEW_GUESTS'.$strT.' PERIOD_NEW_GUESTS '
: '')
."
FROM
".($site_filter ? "b_stat_day_site" : "b_stat_day")."
WHERE
1=1
".$strSqlSearch."
";
$result = false;
$rs = $DB->Query($strSql, $bIgnoreErrors, $err_mess.__LINE__);
if($rs)
{
if($result = $rs->Fetch())
{
foreach($result as $key=>$value)
$result[$key] = intval($value);
if(!$site_filter)
$result["ONLINE_GUESTS"] = CUserOnline::GetGuestCount();
}
}
return $result;
}