• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/mobile_helper.php
  • Класс: \CCrmMobileHelper
  • Вызов: CCrmMobileHelper::PrepareContactItem
static function PrepareContactItem(&$item, &$params, $enums = array())
{
	$itemID = intval($item['~ID']);

	if(isset($params['CONTACT_EDIT_URL_TEMPLATE']))
	{
		$item['EDIT_URL'] = CComponentEngine::MakePathFromTemplate(
			$params['CONTACT_EDIT_URL_TEMPLATE'],
			array('contact_id' => $itemID)
		);
	}

	$item['~FORMATTED_NAME'] = CCrmContact::PrepareFormattedName(
		array(
			'HONORIFIC' => $item['~HONORIFIC'],
			'NAME' => $item['~NAME'],
			'LAST_NAME' => $item['~LAST_NAME'],
			'SECOND_NAME' => $item['~SECOND_NAME']
		)
	);
	$item['FORMATTED_NAME'] = htmlspecialcharsbx($item['~FORMATTED_NAME']);

	$lastName = $item['~LAST_NAME'];
	$item['CLASSIFIER'] = $lastName !== ''? mb_strtoupper(mb_substr($lastName, 0, 1)) : '';

	if(!isset($item['~POST']))
	{
		$item['~POST'] = $item['POST'] = '';
	}

	$companyID = isset($item['~COMPANY_ID']) ? intval($item['~COMPANY_ID']) : 0;

	if ($item['COMPANY_ID'] && $item['COMPANY_TITLE'])
	{
		$url = CComponentEngine::MakePathFromTemplate(
			$params['COMPANY_SHOW_URL_TEMPLATE'],
			array('company_id' => $item['COMPANY_ID'])
		);

		$item['COMPANY_ID'] = "".$item['COMPANY_TITLE']."";
	}

	if(!isset($item['~COMPANY_TITLE']))
	{
		$item['~COMPANY_TITLE'] = $item['COMPANY_TITLE'] = '';
	}

	/*$item['COMPANY_SHOW_URL'] = $companyID > 0
		? CComponentEngine::MakePathFromTemplate(
			$params['COMPANY_SHOW_URL_TEMPLATE'], array('company_id' => $companyID)
		) : '';*/

	if (is_array($enums["FIELDS"]) && in_array("ASSIGNED_BY", $enums["FIELDS"]))
	{
		self::PrepareUserLink($item, "ASSIGNED_BY", $params);
	}

	if (is_array($enums["FIELDS"]) && in_array("CREATED_BY", $enums["FIELDS"]))
	{
		self::PrepareUserLink($item, "CREATED_BY", $params);
	}

	if (is_array($enums["FIELDS"]) && in_array("MODIFY_BY", $enums["FIELDS"]))
	{
		self::PrepareUserLink($item, "MODIFY_BY", $params);
	}

	if(!isset($item['~POST']))
	{
		$item['~POST'] = $item['POST'] = '';
	}

	$item['FULL_ADDRESS'] = AddressFormatter::getSingleInstance()->formatHtmlMultiline(
		ContactAddress::mapEntityFields(
			[
				'ADDRESS' => $item['~ADDRESS'],
				'ADDRESS_2' => $item['~ADDRESS_2'],
				'ADDRESS_CITY' => $item['~ADDRESS_CITY'],
				'ADDRESS_REGION' => $item['~ADDRESS_REGION'],
				'ADDRESS_PROVINCE' => $item['~ADDRESS_PROVINCE'],
				'ADDRESS_POSTAL_CODE' => $item['~ADDRESS_POSTAL_CODE'],
				'ADDRESS_COUNTRY' => $item['~ADDRESS_COUNTRY'],
				'ADDRESS_LOC_ADDR_ID' => $item['~ADDRESS_LOC_ADDR_ID']
			]
		)
	);

	if(!isset($item['~COMMENTS']))
	{
		$item['~COMMENTS'] = $item['COMMENTS'] = '';
	}

	$item['COMMENTS'] = $item['~COMMENTS'];

	if(!isset($item['~TYPE_ID']))
	{
		$item['~TYPE_ID'] = $item['TYPE_ID'] = '';
	}

	$typeList = $enums && isset($enums['CONTACT_TYPE'])
		? $enums['CONTACT_TYPE'] : null;

	if(is_array($typeList))
	{
		$item['TYPE_ID'] = htmlspecialcharsbx($typeList[$item['~TYPE_ID']]);
	}

	$sourceList = $enums && isset($enums['SOURCE_LIST'])
		? $enums['SOURCE_LIST'] : null;

	if(is_array($sourceList))
	{
		$item['SOURCE_ID'] = htmlspecialcharsbx($enums['SOURCE_LIST'][$item['SOURCE_ID']]);
	}

	if (isset($item["DATE_CREATE"]))
	{
		$item["DATE_CREATE"] = ConvertTimeStamp(MakeTimeStamp($item['DATE_CREATE']));
	}

	if (isset($item["DATE_MODIFY"]))
	{
		$item["DATE_MODIFY"] = ConvertTimeStamp(MakeTimeStamp($item['DATE_MODIFY']));
	}

	if (isset($item["EXPORT"]))
	{
		$item["EXPORT"] = $item["EXPORT"] == "Y" ? GetMessage("CRM_TEXT_YES") : GetMessage("CRM_TEXT_NO");
	}

	$photoD = isset($item['PHOTO']) ? intval($item['PHOTO']) : 0;
	if($photoD > 0)
	{
		$listImageInfo = CFile::ResizeImageGet(
			$photoD, array('width' => 33, 'height' => 33), BX_RESIZE_IMAGE_PROPORTIONAL );
		$item['PHOTO_SRC'] = $listImageInfo["src"];
	}

	if (is_array($enums["FIELDS"]) && in_array("AUDIO_CALL", $enums["FIELDS"]))
	{
		CCrmMobileHelper::prepareAudioField($item, CCrmOwnerType::Contact);
	}

	if (isset($enums['CHECKBOX_USER_FIELDS']) && is_array($enums['CHECKBOX_USER_FIELDS']) && !empty($enums['CHECKBOX_USER_FIELDS']))
	{
		foreach($enums['CHECKBOX_USER_FIELDS'] as $fieldId)
		{
			$item[$fieldId] = $item[$fieldId] == 1 ? GetMessage("CRM_TEXT_YES") : GetMessage("CRM_TEXT_NO");
		}
	}
}