...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice.php
- Класс: \CCrmRestProxyBase
- Вызов: CCrmRestProxyBase::tryInternalizeProductFileField
protected function tryInternalizeProductFileField(&$fields, $fieldName) { if(!(isset($fields[$fieldName]) && self::isAssociativeArray($fields[$fieldName]))) return false; $result = array(); //$fileID = isset($fields[$fieldName]['id']) ? intval($fields[$fieldName]['id']) : 0; $removeFile = isset($fields[$fieldName]['remove']) && is_string($fields[$fieldName]['remove']) && mb_strtoupper($fields[$fieldName]['remove']) === 'Y'; $fileData = $fields[$fieldName]['fileData'] ?? ''; if(!self::isIndexedArray($fileData)) { $fileName = ''; $fileContent = $fileData; } else { $fileDataLength = count($fileData); if($fileDataLength > 1) { $fileName = $fileData[0]; $fileContent = $fileData[1]; } elseif($fileDataLength === 1) { $fileName = ''; $fileContent = $fileData[0]; } else { $fileName = ''; $fileContent = ''; } } if(is_string($fileContent) && $fileContent !== '') { // Add/replace file $fileInfo = CRestUtil::saveFile($fileContent, $fileName); if(is_array($fileInfo)) { $result = &$fileInfo; unset($fileInfo); } } elseif($removeFile) { // Remove file $result = array( 'del' => 'Y' ); } if(!empty($result)) { $fields[$fieldName] = $result; return true; } unset($fields[$fieldName]); return false; }