• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/socialnetwork/livefeed/crmentitycomment.php
  • Класс: Bitrix\Crm\Integration\Socialnetwork\Livefeed\CrmEntityComment
  • Вызов: CrmEntityComment::getAttachedDiskObjects
protected function getAttachedDiskObjects($clone = false)
{
	if (method_exists($this, 'getEntityAttachedDiskObjects'))
	{
		return $this->getEntityAttachedDiskObjects([
			'userFieldEntity' => 'SONET_COMMENT',
			'userFieldCode' => 'UF_SONET_COM_DOC',
			'clone' => $clone,
		]);
	}

	global $USER_FIELD_MANAGER;
	static $cache = array();

	$messageId = $this->entityId;

	$result = array();
	$cacheKey = $messageId.$clone;

	if (isset($cache[$cacheKey]))
	{
		$result = $cache[$cacheKey];
	}
	else
	{
		$messageUF = $USER_FIELD_MANAGER->getUserFields("SONET_COMMENT", $messageId, LANGUAGE_ID);
		if (
			!empty($messageUF['UF_SONET_COM_DOC'])
			&& !empty($messageUF['UF_SONET_COM_DOC']['VALUE'])
			&& is_array($messageUF['UF_SONET_COM_DOC']['VALUE'])
		)
		{
			if ($clone)
			{
				$this->attachedDiskObjectsCloned = self::cloneUfValues($messageUF['UF_SONET_COM_DOC']['VALUE']);
				$result = $cache[$cacheKey] = array_values($this->attachedDiskObjectsCloned);
			}
			else
			{
				$result = $cache[$cacheKey] = $messageUF['UF_SONET_COM_DOC']['VALUE'];
			}
		}
	}

	return $result;
}