31 private $typeId =
null;
34 private $includeTriggers =
true;
40 private $templateCounter = 0;
71 $this->messageCode = $messageCode;
95 $this->typeId = $typeId;
119 $this->includeTriggers = $include;
128 public function get()
130 $list = $this->getTemplates(1);
131 return count($list) > 0 ? $list[0] :
null;
141 return $this->getTemplates();
165 if (isset(
$result[$categoryCode]))
171 'id' => $categoryCode,
209 private function getTemplates($limit = 0)
219 'OnPresetTemplateList',
224 foreach (
$event->getResults() as $eventResult)
226 if ($eventResult->getType() == EventResult::ERROR)
231 $eventResultParameters = $eventResult->getParameters();
232 if (!is_array($eventResultParameters))
237 foreach ($eventResultParameters as
$template)
255 array(
'\Bitrix\Sender\Templates\Recent',
'onPresetTemplateList'),
256 array(
'\Bitrix\Sender\Preset\Templates\Mail',
'onPresetTemplateList'),
257 array(
'\Bitrix\Sender\Preset\Templates\Sms',
'onPresetTemplateList'),
258 array(
'\Bitrix\Sender\Preset\Templates\Rc',
'onPresetTemplateList'),
259 array(
'\Bitrix\Sender\Preset\Templates\Toloka',
'onPresetTemplateList'),
260 array(
'\Bitrix\Sender\Preset\Templates\AudioCall',
'onPresetTemplateList')
269 $eventResult = call_user_func_array(
$provider, $parameters);
270 if (!is_array($eventResult))
299 private function checkTemplate(
$template)
306 if ($this->messageCode)
308 $messageCodes =
$template[
'MESSAGE_CODE'];
309 if (!is_array($messageCodes))
311 $messageCodes =
array($messageCodes);
313 if (!in_array($this->messageCode, $messageCodes))
324 if (!$this->includeTriggers &&
$template[
'IS_TRIGGER'])
329 if (!in_array(
$template[
'TYPE'], Type::getCodes()))
334 if ($this->
id && $this->
id !=
$template[
'ID'])
347 private function prepareTemplate(
$template)
368 $template[
'ID'] = ++$this->templateCounter;
423 $template[
'MESSAGE_CODE'] = Message\iBase::CODE_MAIL;
429 $template[
'IS_SUPPORT_BLOCK_EDITOR'] =
$template[
'FIELDS'][
'MESSAGE'][
'ON_DEMAND'] ??
'';