...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice.php
- Класс: \CCrmRestProxyBase
- Вызов: CCrmRestProxyBase::tryExternalizeProductFileField
protected function tryExternalizeProductFileField(&$fields, $fieldName, $multiple = false, $dynamic = true) { if(!isset($fields[$fieldName])) return false; $productID = isset($fields['ID']) ? intval($fields['ID']) : 0; if(!$multiple) { if (!$dynamic) { $fileID = intval($fields[$fieldName]); if($fileID <= 0) { unset($fields[$fieldName]); return false; } $fields[$fieldName] = $this->externalizeProductFile($productID, $fieldName, 0, $fileID, $dynamic); } else { if (!(is_array($fields[$fieldName]) && isset($fields[$fieldName]['VALUE_ID']) && isset($fields[$fieldName]['VALUE']))) { unset($fields[$fieldName]); return false; } $valueID = intval($fields[$fieldName]['VALUE_ID']); $fileID = intval($fields[$fieldName]['VALUE']); if($fileID <= 0) { unset($fields[$fieldName]); return false; } $fields[$fieldName] = $this->externalizeProductFile($productID, $fieldName, $valueID, $fileID, $dynamic); } } else { if (!self::isIndexedArray($fields[$fieldName])) { unset($fields[$fieldName]); return false; } $result = array(); foreach($fields[$fieldName] as $element) { if (!(isset($element['VALUE_ID']) && isset($element['VALUE']))) continue; $valueID = intval($element['VALUE_ID']); $fileID = intval($element['VALUE']); if($fileID > 0) { $result[] = $this->externalizeProductFile($productID, $fieldName, $valueID, $fileID, $dynamic); } } $fields[$fieldName] = &$result; unset($result); } return true; }