- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/rest/cashboxservice.php
- Класс: BitrixSaleCashboxRestCashboxService
- Вызов: CashboxService::checkParamsBeforeCashboxListGet
static function checkParamsBeforeCashboxListGet(array $params)
{
$select = isset($params['SELECT']) && is_array($params['SELECT']) ? $params['SELECT'] : [];
if ($select)
{
$select = array_flip(self::prepareIncomingParams(array_flip($select)));
$diffSelect = array_diff($select, self::ALLOWED_CASHBOX_FIELDS);
if ($diffSelect)
{
throw new RestException(implode(', ', $diffSelect) . ' not allowed for select');
}
}
$filter = isset($params['FILTER']) && is_array($params['FILTER']) ? $params['FILTER'] : [];
if ($filter)
{
$filterFields = [];
foreach ($filter as $rawName => $value)
{
$filterField = CSqlUtil::GetFilterOperation($rawName);
if (isset($filterField['FIELD']))
{
$filterFields[] = $filterField['FIELD'];
}
}
$filterFields = array_flip(self::prepareIncomingParams(array_flip($filterFields)));
$diffFilter = array_diff($filterFields, self::ALLOWED_CASHBOX_FIELDS);
if ($diffFilter)
{
throw new RestException(implode(', ', $diffFilter) . ' not allowed for filter');
}
}
$order =
isset($params['ORDER']) && is_array($params['ORDER'])
? self::prepareIncomingParams($params['ORDER'])
: []
;
if ($order)
{
$diffOrder = array_diff(array_keys($order), self::ALLOWED_CASHBOX_FIELDS);
if ($diffOrder)
{
throw new RestException(implode(', ', $diffOrder) . ' not allowed for order');
}
}
}