...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice_invoice.php
- Класс: \CCrmRestVat
- Вызов: CCrmRestVat::prepareFilter
static function prepareFilter($arFilter) { if(!is_array($arFilter)) { $arFilter = array(); } else { $fieldsInfo = self::getFieldsInfo(); $arAllowedFilterFields = array(); foreach ($fieldsInfo as $fieldName => $fieldInfo) { if ($fieldInfo['filter'] === true) $arAllowedFilterFields[] = $fieldName; } if (count($arFilter) > 0) { $arFilter = array_change_key_case($arFilter, CASE_UPPER); foreach ($arFilter as $key => $value) { $matches = array(); if(preg_match('/^([^a-zA-Z]*)(.*)/', $key, $matches)) { $operation = $matches[1]; $field = $matches[2]; if(!in_array($field, $arAllowedFilterFields, true) || !in_array($operation, self::$arAllowedFilterOperations, true)) { unset($arFilter[$key]); } else { switch ($fieldsInfo[$field]['type']) { case 'datetime': $arFilter[$key] = CRestUtil::unConvertDateTime($value, true); break; case 'date': $arFilter[$key] = CRestUtil::unConvertDate($value); break; default: break; } } } else { unset($arFilter[$key]); } } } } return $arFilter; }