- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/eventmessage.php
- Класс: CEventType
- Вызов: CEventType::GetList
static function GetList($arFilter=array(), $arOrder=array())
{
$arSqlSearch = $arSqlOrder = array();
foreach($arFilter as $key => $val)
{
if((string)$val == '')
continue;
$key = strtoupper($key);
switch($key)
{
case "EVENT_NAME":
case "TYPE_ID":
$arSqlSearch["=EVENT_NAME"] = (string)$val;
break;
case "EVENT_TYPE":
$arSqlSearch["=EVENT_TYPE"] = (string)$val;
break;
case "LID":
$arSqlSearch["=LID"] = (string)$val;
break;
case "ID":
$arSqlSearch["=ID"] = (int)$val;
break;
}
}
if(is_array($arOrder))
{
static $arFields = array("ID"=>1, "LID"=>1, "EVENT_NAME"=>1, "NAME"=>1, "SORT"=>1);
foreach($arOrder as $by => $ord)
{
$by = strtoupper($by);
$ord = strtoupper($ord);
if(array_key_exists($by, $arFields))
$arSqlOrder[$by] = ($ord == "DESC"? "DESC":"ASC");
}
}
if(empty($arSqlOrder))
$arSqlOrder['ID'] = 'ASC';
$result = MailInternalEventTypeTable::getList(array(
'select' => array('ID', 'LID', 'EVENT_NAME', 'EVENT_TYPE', 'NAME', 'DESCRIPTION', 'SORT'),
'filter' => $arSqlSearch,
'order' => $arSqlOrder
));
$res = new CDBResult($result);
return $res;
}