• Модуль: statistic
  • Путь к файлу: ~/bitrix/modules/statistic/classes/mysql/stateventtype.php
  • Класс: CStatEventType
  • Вызов: CStatEventType::GetSimpleList
static function GetSimpleList($by = 's_event1', $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("E.".$key, $val, $match); break; case "EVENT1": case "EVENT2": case "NAME": case "DESCRIPTION": $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y"; $arSqlSearch[] = GetFilterQuery("E.".$key, $val, $match); break; case "KEYWORDS": $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y"; $arSqlSearch[] = GetFilterQuery("E.EVENT1, E.EVENT2, E.DESCRIPTION, E.NAME",$val, $match); break; } } } $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $order = ($order != "desc" ? "asc" : "desc"); if ($by == "s_id") $strSqlOrder = "ORDER BY E.ID ".$order; elseif ($by == "s_event1") $strSqlOrder = "ORDER BY E.EVENT1 ".$order.", E.EVENT2"; elseif ($by == "s_event2") $strSqlOrder = "ORDER BY E.EVENT2 ".$order; elseif ($by == "s_name") $strSqlOrder = "ORDER BY E.NAME ".$order; elseif ($by == "s_description") $strSqlOrder = "ORDER BY E.DESCRIPTION ".$order; else { $strSqlOrder = "ORDER BY E.EVENT1 ".$order.", E.EVENT2"; } $strSql = " SELECT E.ID, E.EVENT1, E.EVENT2, E.NAME, E.DESCRIPTION, if (length(E.NAME)>0, E.NAME, concat(ifnull(E.EVENT1,''),' / ',ifnull(E.EVENT2,''))) EVENT FROM b_stat_event E WHERE $strSqlSearch $strSqlOrder LIMIT ".intval(COption::GetOptionString('statistic','RECORDS_LIMIT'))." "; $res = $DB->Query($strSql, false, $err_mess.__LINE__); return $res; }