• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/im/notification/usecase/commentcreated.php
  • Класс: BitrixTasksIntegrationIMNotificationUseCaseCommentCreated
  • Вызов: CommentCreated::cropMessage
private function cropMessage(string $message): string
{
	// cropped message to instant messenger
	if (mb_strlen($message) >= 100)
	{
		$dot = '...';
		$message = mb_substr($message, 0, 99);

		if (mb_substr($message, -1) === '[')
		{
			$message = mb_substr($message, 0, 98);
		}

		if (
			(($lastLinkPosition = mb_strrpos($message, '[u')) !== false)
			|| (($lastLinkPosition = mb_strrpos($message, 'http://')) !== false)
			|| (($lastLinkPosition = mb_strrpos($message, 'https://')) !== false)
			|| (($lastLinkPosition = mb_strrpos($message, 'ftp://')) !== false)
			|| (($lastLinkPosition = mb_strrpos($message, 'ftps://')) !== false)
		)
		{
			if (mb_strpos($message, ' ', $lastLinkPosition) === false)
			{
				$message = mb_substr($message, 0, $lastLinkPosition);
			}
		}

		$message .= $dot;
	}

	return $message;
}