• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_field_multi.php
  • Класс: \CCrmFieldMulti
  • Вызов: CCrmFieldMulti::GetTemplateByComplex
static function GetTemplateByComplex($complexName, $value)
{
	if ($complexName == '' || $value == '')
		return false;

	static $arList = Array();
	static $arEntityType = array();

	if (empty($arList))
	{
		if (empty($arEntityType))
			$arEntityType = self::GetEntityTypes();

		foreach($arEntityType as $entity => $ar)
			foreach($ar as $type => $ar)
				$arList[$entity.'_'.$type] = $ar['TEMPLATE'];
	}

	$valuer = $value;
	$valueUrl = $value;
	if (mb_strpos($complexName, 'PHONE_') === 0)
	{
		$valuer = preg_replace('/[^+0-9]/', '', $valuer);
	}
	if (mb_strpos($complexName, 'EMAIL_') === 0)
	{
		$crmEmail = mb_strtolower(trim(COption::GetOptionString('crm', 'mail', '')));
		if($crmEmail !== '')
		{
			$valueUrl .= '?cc='.urlencode($crmEmail);
		}
	}

	else if ($pos = mb_strpos($value, '://'))
	{
		$value_tmp = mb_substr($value, $pos + 3);
		return str_replace(array('#VALUE#', '#VALUE_HTML#', '#VALUE_URL#'), array($value_tmp, htmlspecialcharsbx($value_tmp), htmlspecialcharsbx($valueUrl)), '#VALUE_HTML#');
	}

	if (isset($arList[$complexName]))
	{
		return str_replace(array('#VALUE#', '#VALUE_HTML#', '#VALUE_URL#'), array($valuer, htmlspecialcharsbx($value), htmlspecialcharsbx($valueUrl)), $arList[$complexName]);
	}
	else
		return false;
}