• Модуль: xdimport
  • Путь к файлу: ~/bitrix/modules/xdimport/classes/general/lf_scheme_rights.php
  • Класс: CXDILFSchemeRights
  • Вызов: CXDILFSchemeRights::getList
static function getList($aSort = [], $aFilter = [])
{
	global $DB;

	$arFilter = [];

	foreach ($aFilter as $key => $val)
	{
		$val = $DB->ForSql($val);
		if ($val == '')
		{
			continue;
		}

		switch (mb_strtoupper($key))
		{
			case 'SCHEME_ID':
				$arFilter[] = 'SR.SCHEME_ID = ' . $val;
				break;
			case 'GROUP_CODE':
				$arFilter[] = 'SR.GROUP_CODE = '' . $val . ''';
				break;
		}
	}

	$arOrder = [];
	foreach ($aSort as $key=>$val)
	{
		$ord = (mb_strtoupper($val) !== 'ASC' ? 'DESC' : 'ASC');
		switch (mb_strtoupper($key))
		{
			case 'SCHEME_ID':
				$arOrder[] = 'SR.SCHEME_ID ' . $ord;
				break;
			case 'GROUP_CODE':
				$arOrder[] = 'SR.GROUP_CODE ' . $ord;
				break;
		}
	}
	if (count($arOrder) === 0)
	{
		$arOrder[] = 'SR.SCHEME_ID ASC';
	}

	$sOrder = '
		ORDER BY ' . implode(', ', $arOrder);

	if (count($arFilter) === 0)
	{
		$sFilter = '';
	}
	else
	{
		$sFilter = '
		WHERE ' . implode(
			'
				AND ',
			$arFilter
		);
	}

	$strSql = '
		SELECT
			SR.SCHEME_ID,
			SR.GROUP_CODE
		FROM
			b_xdi_lf_scheme_right SR
		' . $sFilter . $sOrder;

	return $DB->Query($strSql, false, 'File: ' . __FILE__ . '
Line: ' . __LINE__); }