• Модуль: statistic
  • Путь к файлу: ~/bitrix/modules/statistic/classes/general/country.php
  • Класс: CCountry
  • Вызов: CCountry::GetList
static function GetList($by = 's_name', $order = 'asc', $arFilter = [])
{
	$err_mess = "File: ".__FILE__."
Line: "; $DB = CDatabase::GetModuleConnection('statistic'); $arSqlSearch = Array(); 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 "ID": if ($val!="ALL") { $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N"; $arSqlSearch[] = GetFilterQuery("C.ID",$val,$match); } break; case "SHORT_NAME": case "NAME": $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y"; $arSqlSearch[] = GetFilterQuery("C.".$key,$val,$match); break; case "SESSIONS1": $arSqlSearch[] = "C.SESSIONS>='".intval($val)."'"; break; case "SESSIONS2": $arSqlSearch[] = "C.SESSIONS<='".intval($val)."'"; break; case "NEW_GUESTS1": $arSqlSearch[] = "C.NEW_GUESTS>='".intval($val)."'"; break; case "NEW_GUESTS2": $arSqlSearch[] = "C.NEW_GUESTS<='".intval($val)."'"; break; case "HITS1": $arSqlSearch[] = "C.HITS>='".intval($val)."'"; break; case "HITS2": $arSqlSearch[] = "C.HITS<='".intval($val)."'"; break; case "EVENTS1": $arSqlSearch[] = "C.C_EVENTS>='".intval($val)."'"; break; case "EVENTS2": $arSqlSearch[] = "C.C_EVENTS<='".intval($val)."'"; break; } } } if ($by == "s_id") $strSqlOrder = "ORDER BY C.ID"; elseif ($by == "s_short_name") $strSqlOrder = "ORDER BY C.SHORT_NAME"; elseif ($by == "s_name") $strSqlOrder = "ORDER BY C.NAME"; elseif ($by == "s_sessions") $strSqlOrder = "ORDER BY C.SESSIONS"; elseif ($by == "s_dropdown") $strSqlOrder = "ORDER BY C.NEW_GUESTS desc, C.NAME"; elseif ($by == "s_new_guests") $strSqlOrder = "ORDER BY C.NEW_GUESTS"; elseif ($by == "s_hits") $strSqlOrder = "ORDER BY C.HITS "; elseif ($by == "s_events") $strSqlOrder = "ORDER BY C.C_EVENTS "; else { $strSqlOrder = "ORDER BY C.NAME"; } if ($order == "desc") { $strSqlOrder .= " desc "; } else { $strSqlOrder .= " asc "; } $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $strSql = " SELECT C.*, C.ID as REFERENCE_ID, ".$DB->Concat("'['", "C.ID", "'] '", $DB->IsNull("C.NAME","''"))." as REFERENCE FROM b_stat_country C WHERE $strSqlSearch $strSqlOrder "; $res = $DB->Query($strSql, false, $err_mess.__LINE__); return $res; }