• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/mail/eventmessagecompiler.php
  • Класс: BitrixMainMailEventMessageCompiler
  • Вызов: EventMessageCompiler::__construct
public function __construct(array $arMessageParams)
{
	if(!array_key_exists('FIELDS', $arMessageParams))
		throw new BitrixMainArgumentTypeException("FIELDS");
	if(!array_key_exists('MESSAGE', $arMessageParams))
		throw new BitrixMainArgumentTypeException("MESSAGE");
	if(!array_key_exists('SITE', $arMessageParams))
		throw new BitrixMainArgumentTypeException("SITE");
	if(!array_key_exists('CHARSET', $arMessageParams))
		throw new BitrixMainArgumentTypeException("CHARSET");


	$this->eventFields = $arMessageParams['FIELDS'];
	if(array_key_exists('EVENT', $arMessageParams))
		$this->event = $arMessageParams['EVENT'];

	$this->eventMessageFields = $arMessageParams['MESSAGE'];
	if(array_key_exists('ID', $arMessageParams['MESSAGE']))
		$this->eventMessageId = $arMessageParams['MESSAGE']['ID'];

	$this->siteFields = $this->getSiteFieldsArray(
		is_array($arMessageParams['SITE'])
			? $arMessageParams['SITE']
			: [$arMessageParams['SITE']]
	);
	$this->eventSiteFields = array_merge($this->siteFields, $this->eventFields);
	foreach($this->eventSiteFields as $k => $v) $this->eventSiteFields[$k] = static::getFieldFlatValue($v);
	$this->setMailCharset($arMessageParams['CHARSET']);
}