Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\FrontModule\Presenters;
- use Nette,
- Nette\Mail\Message,
- Nette\Mail\SendmailMailer;
- use \App\Presenters\BasePresenter as BasePresenter;
- /**
- * Emailing presenters.
- */
- class EmailingPresenter extends BasePresenter
- {
- /** @var Nette\Database\Context */
- private $database;
- private $templateFactory;
- private $mailer;
- public function __construct(Nette\Database\Context $database, Nette\Application\UI\ITemplateFactory $templateFactory, Nette\Mail\IMailer $mailer)
- {
- $this->database = $database;
- $this->templateFactory = $templateFactory;
- $this->mailer = $mailer;
- }
- /**
- * Send email
- */
- public function actionSendTodayOrders($key)
- {
- if ($key !== 1983) {
- $this->error('Nepovoleny pristup');
- }
- if (!$order = $this->database->table('orders')->get(11)) {
- $this->error('Order not found'); // vyhodit chybu, kdyz nenajde objednavku
- }
- // setup template
- $emailTemplate = $this->templateFactory->createTemplate($this);
- // set variables
- $emailTemplate->locale = $this->locale;
- $emailTemplate->order = $order;
- // tohle neni potreba, translator muzes pouzit klidne rovnou i v sablone
- // $emailTemplate->day = $this->translator->translate('template.delivery.days.day_1');
- $emailTemplate->total = 500;
- // set template file
- $emailTemplate->setFile(__DIR__ . '/../templates/Emailing/sendTodayOrders.latte');
- // setup email
- $mail = new Message();
- ->setSubject($this->translator->translate('email.title.confirmation'))
- ->setHtmlBody($emailTemplate);
- // send email
- $this->mailer->send($mail);
- $this->terminate();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment