コード例 #1
0
 public function postActivation(ConnectionInterface $con = null)
 {
     // delete existing message
     $message = MessageQuery::create()->filterByName('mail_virtualproduct')->findOne($con);
     if (null !== $message) {
         $message->delete($con);
     }
     // create new message
     $message = new Message();
     $message->setName('mail_virtualproduct')->setSecured(0);
     $basePath = __DIR__ . '/Config/message/%s.xml';
     $languages = LangQuery::create()->find();
     foreach ($languages as $language) {
         $locale = $language->getLocale();
         $message->setLocale($locale);
         $path = sprintf($basePath, $language->getLocale());
         if (file_exists($path) && is_readable($path)) {
             $dom = new SimpleXMLElement(file_get_contents($path));
             if ($dom) {
                 $message->setTitle((string) $dom->title);
                 $message->setSubject((string) $dom->subject);
                 $message->setTextMessage((string) $dom->text);
                 $message->setHtmlMessage((string) $dom->html);
             }
         }
     }
     $message->save();
 }
コード例 #2
0
ファイル: MessageTest.php プロジェクト: badelas/thelia
 /**
  * Create message with HTML and TEXT body from template HTMl and TEXT fields
  * using a text and a html layout
  */
 public function testMessageWithTextAndHtmlBodyAndTextAndHtmlExtendableLayout()
 {
     $message = new ModelMessage();
     $message->setLocale('fr_FR');
     $message->setSubject("The subject");
     $message->setTextMessage('TEXT <template> & content v={$myvar}');
     $message->setHtmlMessage('HTML <template> & content v={$myvar}');
     $message->setHtmlLayoutFileName('layout6.html.tpl');
     $message->setTextLayoutFileName('layout6.text.tpl');
     $path = TemplateHelper::getInstance()->getActiveMailTemplate()->getAbsolutePath();
     $this->parser->assign('myvar', 'my-value');
     file_put_contents($path . DS . 'layout6.html.tpl', 'HTML Layout 6: {block name="message-body"}{$message_body nofilter}{/block}');
     file_put_contents($path . DS . 'layout6.text.tpl', 'TEXT Layout 6: {block name="message-body"}{$message_body nofilter}{/block}');
     $instance = \Swift_Message::newInstance();
     $message->buildMessage($this->parser, $instance);
     $this->assertEquals("The subject", $instance->getSubject());
     $this->assertEquals("HTML Layout 6: HTML <template> & content v=my-value", $instance->getBody());
     $this->assertEquals("TEXT Layout 6: TEXT <template> & content v=my-value", $instance->getChildren()[0]->getBody());
 }