• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/model/message.php
  • Класс: BitrixImModelMessageTable
  • Вызов: MessageTable::generateSearchContent
static function generateSearchContent(array $message) : string
{
	$builder = MapBuilder::create();

	if($message['AUTHOR_ID'] > 0)
	{
		$authorName = BitrixImUser::getInstance($message['AUTHOR_ID'])->getFullName();
		$builder->addText($authorName);
	}

	$messageText = $message['MESSAGE'];
	if($message['NOTIFY_TYPE'] === IM_NOTIFY_FROM)
	{
		$messageText = strip_tags($messageText);
	}
	else if($message['NOTIFY_TYPE'] === IM_NOTIFY_MESSAGE)
	{
		$messageText = Text::removeBbCodes($messageText);
	}
	$builder->addText($messageText);

	$params = CIMMessageParam::Get($message['ID']);
	// Add text from attaches to builder
	if(isset($params['ATTACH']))
	{
		$textNodes = CIMMessageParamAttach::GetTextForIndex($params['ATTACH'][0]);
		foreach($textNodes as $text)
		{
			$builder->addText($text);
		}
	}

	// Add file names to builder
	if(isset($params['FILE_ID']))
	{
		foreach($params['FILE_ID'] as $fileId)
		{
			$file = BitrixDiskFile::getById($fileId);
			if (!$file)
			{
				continue;
			}
			$builder->addText($file->getName());
		}
	}

	return $builder->build();
}