Пример #1
0
 /**
  * Getter for template type
  *
  * @return int|string
  */
 public function getType()
 {
     $templateType = $this->getTemplateType();
     if (is_null($templateType) && $this->getId()) {
         $templateType = $this->_emailConfig->getTemplateType($this->getId());
         $templateType = $templateType == 'html' ? self::TYPE_HTML : self::TYPE_TEXT;
     }
     return $templateType;
 }
Пример #2
0
 /**
  * Load default email template
  *
  * @param string $templateId
  * @return $this
  */
 public function loadDefault($templateId)
 {
     $designParams = $this->getDesignParams();
     $templateFile = $this->emailConfig->getTemplateFilename($templateId, $designParams);
     $templateType = $this->emailConfig->getTemplateType($templateId);
     $templateTypeCode = $templateType == 'html' ? self::TYPE_HTML : self::TYPE_TEXT;
     $this->setTemplateType($templateTypeCode);
     $rootDirectory = $this->filesystem->getDirectoryRead(DirectoryList::ROOT);
     $templateText = $rootDirectory->readFile($rootDirectory->getRelativePath($templateFile));
     /**
      * trim copyright message
      */
     if (preg_match('/^<!--[\\w\\W]+?-->/m', $templateText, $matches) && strpos($matches[0], 'Copyright') > 0) {
         $templateText = str_replace($matches[0], '', $templateText);
     }
     if (preg_match('/<!--@subject\\s*(.*?)\\s*@-->/u', $templateText, $matches)) {
         $this->setTemplateSubject($matches[1]);
         $templateText = str_replace($matches[0], '', $templateText);
     }
     if (preg_match('/<!--@vars\\s*((?:.)*?)\\s*@-->/us', $templateText, $matches)) {
         $this->setData('orig_template_variables', str_replace("\n", '', $matches[1]));
         $templateText = str_replace($matches[0], '', $templateText);
     }
     if (preg_match('/<!--@styles\\s*(.*?)\\s*@-->/s', $templateText, $matches)) {
         $this->setTemplateStyles($matches[1]);
         $templateText = str_replace($matches[0], '', $templateText);
     }
     // Remove comment lines and extra spaces
     $templateText = trim(preg_replace('#\\{\\*.*\\*\\}#suU', '', $templateText));
     $this->setTemplateText($templateText);
     $this->setId($templateId);
     return $this;
 }
Пример #3
0
 public function testGetTemplateType()
 {
     $this->assertEquals('html', $this->model->getTemplateType('template_one'));
 }