public function getBodyText()
 {
     $body = parent::getBodyText();
     $body = $this->parseVariables($body);
     $body = $this->parseCallbacks($body);
     if (preg_match('~\\+\\+subject:(?P<subject>.*?)\\+\\+~is', $body, $match)) {
         $this->setSubject($match['subject']);
         $body = str_replace($match[0], '', $body);
     }
     return $body;
 }
Ejemplo n.º 2
0
 /**
  * @example /module/Jobs/src/Jobs/Listener/PortalListener.php
  * @return string
  * @throws \InvalidArgumentException the mail body must completely be provided by the template, any other attempt is a misconception that may leave the coder in an quagmire
  */
 public function getBodyText()
 {
     $viewModel = new ViewModel();
     $response = new Response();
     $body = parent::getBodyText();
     if (!empty($body)) {
         throw new \InvalidArgumentException('mail body shall come from Template.');
     }
     $viewManager = $this->getServiceLocator()->getServiceLocator()->get('viewManager');
     $view = $viewManager->getView();
     $viewModel->setTemplate($this->getTemplate());
     $viewModel->setVariables($this->getVariables());
     $view->setResponse($response);
     $view->render($viewModel);
     $body = $response->getContent();
     return $body;
 }
Ejemplo n.º 3
0
 /**
  * @example /module/Jobs/src/Jobs/Listener/PortalListener.php
  * @return string
  * @throws \InvalidArgumentException the mail body must completely be provided by the template, any other attempt is a misconception that may leave the coder in an quagmire
  */
 public function getBodyText()
 {
     $viewModel = new ViewModel();
     $response = new Response();
     $body = parent::getBodyText();
     if (!empty($body)) {
         throw new \InvalidArgumentException('mail body shall come from Template.');
     }
     /* @var \Zend\Mvc\View\Http\ViewManager $viewManager */
     $viewManager = $this->serviceManager->get('viewManager');
     $resolver = $this->serviceManager->get('viewResolver');
     /* @var \Zend\Mvc\MvcEvent $event */
     $event = $this->serviceManager->get('application')->getMvcEvent();
     $lang = $event->getRouteMatch()->getParam('lang');
     if ($resolver->resolve($this->getTemplate() . '.' . $lang)) {
         $viewModel->setTemplate($this->getTemplate() . '.' . $lang);
     } else {
         $viewModel->setTemplate($this->getTemplate());
     }
     $view = $viewManager->getView();
     $viewModel->setVariables($this->getVariables());
     $view->setResponse($response);
     $view->render($viewModel);
     $body = $response->getContent();
     return $body;
 }