• Модуль: statistic
  • Путь к файлу: ~/bitrix/modules/statistic/classes/mysql/adv.php
  • Класс: CAdv
  • Вызов: CAdv::GetSimpleList
static function GetSimpleList($by = 's_referer1', $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": $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N"; $arSqlSearch[] = GetFilterQuery("A.".$key, $val, $match); break; case "REFERER1": case "REFERER2": case "DESCRIPTION": $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y"; $arSqlSearch[] = GetFilterQuery("A.".$key, $val, $match); break; } } } $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $order = ($order != "desc" ? "asc" : "desc"); if ($by == "s_id") $strSqlOrder = "ORDER BY A.ID ".$order; elseif ($by == "s_referer1") $strSqlOrder = "ORDER BY A.REFERER1 ".$order.", A.REFERER2"; elseif ($by == "s_referer2") $strSqlOrder = "ORDER BY A.REFERER2 ".$order; elseif ($by == "s_description") $strSqlOrder = "ORDER BY A.DESCRIPTION ".$order; else { $strSqlOrder = "ORDER BY A.REFERER1 ".$order.", A.REFERER2"; } $strSql = " SELECT A.ID, A.REFERER1, A.REFERER2, A.DESCRIPTION FROM b_stat_adv A WHERE $strSqlSearch $strSqlOrder LIMIT ".intval(COption::GetOptionString('statistic','RECORDS_LIMIT'))." "; $res = $DB->Query($strSql, false, $err_mess.__LINE__); $is_filtered = (IsFiltered($strSqlSearch)); return $res; }