• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Timeline/Item/LogMessage/Ping.php
  • Класс: Bitrix\Crm\Service\Timeline\Item\LogMessage\Ping
  • Вызов: Ping::getContentBlocks
public function getContentBlocks(): ?array
{
	$this->entityModel = $this->getAssociatedEntityModel();
	$deadlineStr = $this->entityModel->get('DEADLINE');
	if (empty($deadlineStr))
	{
		return [];
	}

	$created = $this->getDate();
	$offset = 0;
	if ($created)
	{
		$deadline = DateTime::createFromUserTime($deadlineStr);
		$offset = ($deadline->getTimestamp() - $created->getTimestamp()) / 60; // minutes
	}

	$pingOffset = null;
	if ($offset === 0)
	{
		$pingOffset = 0;
	}
	else
	{
		$pingOffset = $this->getModel()->getSettings()['PING_OFFSET'] ?? null;
		if (is_null($pingOffset))
		{
			$offsetLists = ActivityPingOffsetsTable::getOffsetsByActivityId($this->getModel()->getAssociatedEntityId());
			$pingOffset = $offsetLists[1] ?? null;
		}
		else
		{
			$pingOffset = (int)($pingOffset / 60);
		}
	}

	$blocks = $this->buildContentBlocks();

	if (!is_null($pingOffset) && $pingOffset >= 0)
	{
		$startBlockTitle = $this->getOffsetText($pingOffset);
		$blocks['start'] = ContentBlockFactory::createTitle($startBlockTitle);
	}

	return $blocks;
}