• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/contactcontroller.php
  • Класс: Bitrix\Crm\Timeline\ContactController
  • Вызов: ContactController::prepareHistoryDataModel
public function prepareHistoryDataModel(array $data, array $options = null)
{
	$typeID = isset($data['TYPE_ID']) ? (int)$data['TYPE_ID'] : TimelineType::UNDEFINED;
	$settings = isset($data['SETTINGS']) ? $data['SETTINGS'] : array();

	if($typeID === TimelineType::CREATION)
	{
		$data['TITLE'] =  Loc::getMessage('CRM_CONTACT_CREATION');

		$associatedEntityTypeID = isset($data['ASSOCIATED_ENTITY_TYPE_ID'])
			? (int)$data['ASSOCIATED_ENTITY_TYPE_ID'] : \CCrmOwnerType::Contact;
		if($associatedEntityTypeID === \CCrmOwnerType::SuspendedContact)
		{
			$data['LEGEND'] = Loc::getMessage('CRM_CONTACT_MOVING_TO_RECYCLEBIN');
		}
		else
		{
			$base = isset($settings['BASE']) ? $settings['BASE'] : null;
			if(is_array($base))
			{
				$entityTypeID = isset($base['ENTITY_TYPE_ID']) ? $base['ENTITY_TYPE_ID'] : 0;
				$entityID = isset($base['ENTITY_ID']) ? $base['ENTITY_ID'] : 0;
				if(\CCrmOwnerType::IsDefined($entityTypeID) && $entityID > 0)
				{
					$entityTypeName = \CCrmOwnerType::ResolveName($entityTypeID);
					$data['BASE'] = array('CAPTION' => Loc::getMessage("CRM_CONTACT_BASE_CAPTION_{$entityTypeName}"));
					if(\CCrmOwnerType::TryGetEntityInfo($entityTypeID, $entityID, $baseEntityInfo, false))
					{
						$data['BASE']['ENTITY_INFO'] = $baseEntityInfo;
					}
				}
			}
		}
		unset($data['SETTINGS']);
	}
	elseif($typeID === TimelineType::RESTORATION)
	{
		$data['TITLE'] =  Loc::getMessage('CRM_CONTACT_RESTORATION');
	}
	return parent::prepareHistoryDataModel($data, $options);
}