• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/admin/helper.php
  • Класс: BitrixSaleLocationAdminHelper
  • Вызов: Helper::proxyListRequest
static function proxyListRequest($page)
{
	global $by;
	global $order;

	$columns = self::getMap($page); // columns only for 'main' class

	$parameters = array('filter' => array());

	foreach($columns as $code => $col)
		$parameters['select'][] = $code;

	$filter = array();
	if(self::checkUseFilter())
	{
		foreach($columns as $code => $fld)
		{
			$from = 'find_'.$code.'_1';
			$to = 'find_'.$code.'_2';

			if ($fld['data_type'] === 'integer' && (isset($GLOBALS[$from]) || isset($GLOBALS[$to])))
			{
				// range expected

				$valueFrom = trim((string)($GLOBALS[$from] ?? ''));
				$valueTo = trim((string)($GLOBALS[$to] ?? ''));

				if ($valueFrom !== '' && $valueTo !== '') // range
				{
					$filter['><'.$code] = [(int)$valueFrom, (int)$valueTo];
				}
				elseif ($valueFrom !== '') // greather than
				{
					$filter['>='.$code] = (int)$valueFrom;
				}
				elseif ($valueTo !== '') // less than
				{
					$filter['<='.$code] = (int)$valueTo;
				}
			}
			else
			{
				$value = trim((string)($GLOBALS['find_'.$code] ?? ''));
				if ($value !== '')
				{
					$filter[static::getFilterModifier($fld['data_type']).$code] = $value;
				}
			}
		}
	}

	if(!empty($filter))
		$parameters['filter'] = $filter;
	if($by <> '')
	{
		$columns = static::getColumns($page); // check if that column really exists, for the whole extension hierarchy

		if(isset($columns[$by]))
		{
			$parameters['order'] = array($by => isset($order)? $order : 'asc');
		}
	}

	return $parameters;
}