public function sendInvoiceEmail(Document $invoice, Parameters $data, $documentFile) { $companyFiles = array(); $params = new Parameters(); if (isset($data->smtp) && $data->smtp > 0) { $smtp = $this->getOneObjectByField(SmtpOptions::getClass(), 'id', $data->smtp); $params->transport = $smtp->getTransport(); } $params->from = $data->from; $params->to = $data->to; $params->header = $data->header; $params->content = $data->content; $params->documentFile = $documentFile; if (isset($data->companyFiles)) { foreach ($data->companyFiles as $id) { $companyFile = $this->getOneObjectByField(Company\File::getClass(), 'id', $id); $companyFiles[] = $companyFile; } } $params->companyFiles = $companyFiles; $this->mailService->sendInvoiceWithParams($invoice, $params); }
public function saveSmtpWithParams(SmtpOptions $smtpOptions, array $data) { if (isset($data['name'])) { $smtpOptions->setName($data['name']); } if (isset($data['host'])) { $smtpOptions->setHost($data['host']); } if (isset($data['username'])) { $smtpOptions->setUsername($data['username']); } if (isset($data['password'])) { $smtpOptions->setPassword($data['password']); } if (isset($data['connectionClass'])) { $smtpOptions->setConnectionClass($data['connectionClass']); } if (isset($data['ssl'])) { $smtpOptions->setSsl($data['ssl']); } if (isset($data['port'])) { $smtpOptions->setPort($data['port']); } if (isset($data['default'])) { $smtpOptions->setDefault(1); } else { $smtpOptions->setDefault(0); } return $this->saveSmtp($smtpOptions); }