• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/calltracker.php
  • Класс: Bitrix\Crm\Activity\Provider\CallTracker
  • Вызов: CallTracker::modifyData
static function modifyData(array &$data): void
{
	$callInfo = [
		'HAS_STATUS' => false,
	];
	if (isset($data['SETTINGS']['STARTED']) && $data['SETTINGS']['STARTED'])
	{
		if (isset($data['SETTINGS']['FINISHED']) && $data['SETTINGS']['FINISHED'])
		{
			$callInfo['HAS_STATUS'] = true;
			$callInfo['SUCCESSFUL'] = true;
			$callInfo['STATUS_TEXT'] = Loc::getMessage('CRM_ACTIVITY_PROVIDER_CALL_TRACKER_STATUS_SUCCESS');
		}
	}
	else
	{
		$callInfo['HAS_STATUS'] = true;
		$callInfo['SUCCESSFUL'] = false;
		$callInfo['STATUS_TEXT'] = Loc::getMessage('CRM_ACTIVITY_PROVIDER_CALL_TRACKER_STATUS_MISSED');
	}

	$data['CALL_INFO'] = $callInfo;

	if (isset($data['SETTINGS']['TIMESTAMP']) && $data['SETTINGS']['TIMESTAMP'] != '')
	{
		$date = DateTime::createFromTimestamp($data['SETTINGS']['TIMESTAMP']);
		$date->toUserTime();

		if ($data['DESCRIPTION_RAW'] != '')
		{
			$data['DESCRIPTION_RAW'] .= "\n";
		}
		$data['DESCRIPTION_RAW'] .= self::formatDate($date);
	}

	if (isset($data['SETTINGS']['DURATION']) && (int)$data['SETTINGS']['DURATION'] > 0)
	{
		if ($data['DESCRIPTION_RAW'] != '')
		{
			$data['DESCRIPTION_RAW'] .= "\n";
		}
		$data['DESCRIPTION_RAW'] .= Loc::getMessage(
			'CRM_ACTIVITY_PROVIDER_CALL_TRACKER_DURATION',
			[
				'#DURATION#' => self::formatDuration((int)$data['SETTINGS']['DURATION']),
			]
		);
	}
}