- Модуль: 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']);
}