• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/preset/templates/texts.php
  • Класс: BitrixSenderPresetTemplatesTexts
  • Вызов: Texts::replace
static function replace($text = '')
{
	static $replace = null;
	if ($replace === null)
	{
		$card = array();
		foreach (IntegrationEventHandler::onSenderCompanyCard() as $card)
		{
			if (!isset($card['DATA']) || !is_array($card['DATA']))
			{
				continue;
			}
			$card = $card['DATA'];

			if (!$card['COMPANY_NAME'])
			{
				continue;
			}

			break;
		}

		if (!isset($card['COMPANY_NAME']) || !$card['COMPANY_NAME'])
		{
			$card['COMPANY_NAME'] = Loc::getMessage('SENDER_PRESET_TEMPLATE_DEFAULT_COMPANY');
		}

		if (!isset($card['PHONE']) || !$card['PHONE'])
		{
			$card['PHONE'] = Loc::getMessage('SENDER_PRESET_TEMPLATE_DEFAULT_PHONE');
		}

		$replace = array(
			'%COMPANY%' => $card['COMPANY_NAME'],
			'%PHONE_FORMATTED%' => $card['PHONE'],
			'%PHONE%' => preg_replace('/[^d]/', '', $card['PHONE']),
		);
	}

	if (count($replace) === 0)
	{
		return $text;
	}

	return str_replace(array_keys($replace), array_values($replace), $text);
}