• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_destination.php
  • Класс: CSocNetLogDestination
  • Вызов: CSocNetLogDestination::formatCrmEmailEntity
static function formatCrmEmailEntity($fields, $params = array())
{
	static $siteNameFormat = false;

	$result = array();
	$userParams = array();

	if (
		is_array($params)
		&& isset($params["TYPE"])
		&& in_array($params["TYPE"], array('CONTACT', 'COMPANY', 'LEAD'))
	)
	{
		if ($siteNameFormat === false)
		{
			$siteNameFormat = (
				!empty($params["NAME_TEMPLATE"])
					? $params["NAME_TEMPLATE"]
					: CSite::GetNameFormat(false)
			);
		}

		$prefix = '';
		if ($params["TYPE"] === 'CONTACT')
		{
			$prefix = 'C_';
			$imageField = 'PHOTO';
			$userParams = array(
				'name' => $fields['NAME'],
				'lastName' => $fields['LAST_NAME']
			);
			$name = CUser::FormatName(
				$siteNameFormat,
				$fields,
				true,
				true
			);
		}
		elseif ($params["TYPE"] === 'COMPANY')
		{
			$prefix = 'CO_';
			$imageField = 'LOGO';
			$name = $fields['TITLE'];
			$userParams = array(
				'name' => '',
				'lastName' => $fields['TITLE']
			);
		}
		elseif ($params["TYPE"] === 'LEAD')
		{
			$prefix = 'L_';
			$imageField = false;
			$name = $fields['TITLE'];
			$userParams = array(
				'name' => $fields['NAME'],
				'lastName' => $fields['LAST_NAME']
			);
			$username = CUser::FormatName(
				$siteNameFormat,
				$fields,
				true,
				true
			);
			if (!empty($username))
			{
				$name .= ', '.$username;
			}
		}

		if (
			$imageField
			&& isset($fields[$imageField])
		)
		{
			$arFileTmp = CFile::ResizeImageGet(
				$fields[$imageField],
				array('width' => 100, 'height' => 100),
				BX_RESIZE_IMAGE_EXACT,
				false
			);
		}
		else
		{
			$arFileTmp = array();
		}

		$result = array(
			'id' => $prefix.$fields["ID"],
			'crmEntity' => $prefix.$fields["ID"],
			'entityId' => $fields['ID'],
			'name' => $name,
			'avatar' => (
				empty($arFileTmp['src'])
					? ''
					: $arFileTmp['src']
			),
			'desc' => (!empty($params['EMAIL']) ? $params['EMAIL'] : ''),
			'email' => (!empty($params['EMAIL']) ? $params['EMAIL'] : ''),
			'isExtranet' => 'N',
			'isEmail' => 'Y',
			'isCrmEmail' => 'Y',
			'params' => $userParams
		);
	}

	return $result;
}