- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/controller/timeline/comment.php
- Класс: Bitrix\Crm\Controller\Timeline\Comment
- Вызов: Comment::fetchFieldsToAdd
private function fetchFieldsToAdd(array $fields): array
{
$ownerId = (int)($fields['ENTITY_ID'] ?? 0);
$ownerType = (string)($fields['ENTITY_TYPE'] ?? '');
$ownerTypeId = (int)($fields['ENTITY_TYPE_ID'] ?? 0);
if ($ownerTypeId === 0 && !empty($ownerType))
{
$ownerTypeId = CCrmOwnerType::ResolveID($ownerType);
}
$content = trim((string)($fields['COMMENT'] ?? ''));
$authorId = (int)($fields['AUTHOR_ID']?? 0);
if ($authorId <= 0)
{
$authorId = Container::getInstance()->getContext()->getUserId();
}
$loadedFiles = isset($fields['FILES']) && is_array($fields['FILES'])
? $fields['FILES']
: [];
$filesList = $this->fetchFileIds($loadedFiles, $authorId);
if (empty($filesList))
{
$filesList = isset($fields['ATTACHMENTS']) && is_array($fields['ATTACHMENTS'])
? $fields['ATTACHMENTS']
: [];
}
$filesList = array_values(array_filter($filesList));
$fileTokensOrId = array_filter($loadedFiles, static fn($item) => is_numeric($item) || is_string($item));
return [$ownerId, $ownerTypeId, $content, $authorId, $filesList, $fileTokensOrId];
}