• Модуль: support
  • Путь к файлу: ~/bitrix/modules/support/classes/general/usergroup.php
  • Класс: CSupportUserGroup
  • Вызов: CSupportUserGroup::GetList
static function GetList($arOrder = array(), $arFilter = array())
{
	global $DB;

	$arFields = array(
		'ID' => array(
			'TABLE_ALIAS' => 'G',
			'FIELD_NAME' => 'ID',
			'FIELD_TYPE' => 'int', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'NAME' => array(
			'TABLE_ALIAS' => 'G',
			'FIELD_NAME' => 'NAME',
			'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'XML_ID' => array(
			'TABLE_ALIAS' => 'G',
			'FIELD_NAME' => 'XML_ID',
			'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'SORT' => array(
			'TABLE_ALIAS' => 'G',
			'FIELD_NAME' => 'SORT',
			'FIELD_TYPE' => 'int', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
		'IS_TEAM_GROUP' => array(
			'TABLE_ALIAS' => 'G',
			'FIELD_NAME' => 'IS_TEAM_GROUP',
			'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
			'JOIN' => false,
		),
	);

	$strOrder = '';
	if (is_array($arOrder) && count($arOrder) > 0)
	{
		foreach ($arOrder as $k => $v)
		{
			if (array_key_exists($k, $arFields))
			{
				$v = mb_strtoupper($v);
				if($v != 'DESC')
				{
					$v  ='ASC';
				}
				if ($strOrder <> '')
				{
					$strOrder .= ', ';
				}
				$strOrder .= $arFields[$k]['TABLE_ALIAS'] . '.' . $arFields[$k]['FIELD_NAME'] . ' ' . $v;
			}
		}
	}

	$obQueryWhere = new CSQLWhere;
	$obQueryWhere->SetFields($arFields);

	$where = $obQueryWhere->GetQuery($arFilter);

	$strQuery = 'SELECT G.* FROM b_ticket_ugroups G';

	if ($where <> '')
	{
		$strQuery .= ' WHERE ' . $where;
	}

	if ($strOrder <> '')
	{
		$strQuery .= ' ORDER BY ' . $strOrder;
	}
	return $DB->Query($strQuery, false, "File: ".__FILE__."
Line: ".__LINE__); }