• Модуль: 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;
}