*/ class EmailTemplate extends Record implements Di\FieldUtilAware { use Di\FieldUtilSetter; /** * @deprecated For bc. Use `Espo\Tools\EmailTemplate\Processor`. * * @param array $params * @return array{ * subject: string, * body: string, * isHtml: bool, * attachmentsIds: string[], * attachmentsNames: \stdClass, * } */ public function parseTemplate( EmailTemplateEntity $emailTemplate, array $params = [], bool $copyAttachments = false, bool $skipAcl = false ): array { $paramsInternal = Params::create() ->withApplyAcl(!$skipAcl) ->withCopyAttachments($copyAttachments); $data = Data::create() ->withEmailAddress($params['emailAddress'] ?? null) ->withEntityHash($params['entityHash'] ?? []) ->withParent($params['parent'] ?? null) ->withParentId($params['parentId'] ?? null) ->withParentType($params['parentType'] ?? null) ->withRelatedId($params['relatedId'] ?? null) ->withRelatedType($params['relatedType'] ?? null) ->withUser($this->user); $result = $this->createProcessor()->process($emailTemplate, $paramsInternal, $data); /** @var array{ * subject: string, * body: string, * isHtml: bool, * attachmentsIds: string[], * attachmentsNames: \stdClass, * } */ return get_object_vars($result->getValueMap()); } /** * @deprecated For bc. Use `Espo\Tools\EmailTemplate\Service`. * * @param array $params * @return array * @throws Forbidden * @throws NotFound */ public function parse(string $id, array $params = [], bool $copyAttachments = false): array { /** @var EmailTemplateEntity|null $emailTemplate */ $emailTemplate = $this->getEntity($id); if (empty($emailTemplate)) { throw new NotFound(); } return $this->parseTemplate($emailTemplate, $params, $copyAttachments); } private function createProcessor(): Processor { return $this->injectableFactory->create(Processor::class); } }