Ejemplo n.º 1
0
 public function findTemplateAndMakeReplacements($code, $replacements)
 {
     $lang = Yii::app()->language;
     if (!($this->_template = MailTemplate::findByAttributes(array('code' => $code, 'lang' => $lang)))) {
         $lang = 'en';
         // as a fallback, we look for a template in English
         if (!($this->_template = MailTemplate::findByAttributes(array('code' => $code, 'lang' => $lang)))) {
             throw new Exception("Could not find mail template {$code} (language: {$lang})");
         }
     }
     $twig = new Twig();
     foreach (array('subject', 'plaintext_body', 'html_body') as $field) {
         $this->_template->{$field} = $twig->render($this->_template->{$field}, array_merge(array('site_url' => Helpers::getYiiParam('siteUrl'), 'site_name' => Yii::app()->name, 'lang' => $lang, 'now' => date('Y-m-d H:i:s')), $replacements));
     }
 }