Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/BbCode/Renderer/EmailHtml.php
<?php

namespace XF\BbCode\Renderer;

class
EmailHtml extends Html
{
    public function
getDefaultOptions()
    {
       
$options = parent::getDefaultOptions();
       
$options['stopSmilies'] = true;
       
$options['noProxy'] = true;
       
$options['lightbox'] = false;

        return
$options;
    }

    public function
getCustomTagConfig(array $tag)
    {
       
$output = parent::getCustomTagConfig($tag);

        if (
$tag['bb_code_mode'] == 'replace')
        {
           
$output['replace'] = $tag['replace_html_email'];
        }

        return
$output;
    }

    protected function
getRenderedImg($imageUrl, $validUrl, array $params = [])
    {
       
$params['imageUrl'] = $imageUrl;
       
$params['validUrl'] = $validUrl;

        return
$this->templater->renderTemplate('email:bb_code_tag_img', $params);
    }

    protected function
getRenderedAttachment($attachment, array $viewParams)
    {
        return
$this->templater->renderTemplate('email:bb_code_tag_attach', $viewParams);
    }

    public function
renderTagInlineCode(array $children, $option, array $tag, array $options)
    {
       
$content = $this->renderSubTree($children, $options);
        return
$this->wrapHtml('<code>', $content, '</code>');
    }

    protected function
getRenderedCode($content, $language, array $config = [])
    {
        return
$this->templater->renderTemplate('email:bb_code_tag_code', [
           
'content' => new \XF\PreEscaped($content),
           
'language' => $language
       
]);
    }

    protected function
getRenderedQuote($content, $name, array $source, array $attributes)
    {
        return
$this->templater->renderTemplate('email:bb_code_tag_quote', [
           
'content' => new \XF\PreEscaped($content),
           
'name' => $name ? new \XF\PreEscaped($name) : null,
           
'source' => $source,
           
'attributes' => $attributes
       
]);
    }

    protected function
getRenderedSpoiler($content, $title = null)
    {
        return
$this->templater->renderTemplate('email:bb_code_tag_spoiler', [
           
'content' => new \XF\PreEscaped($content),
           
'title' => $title ? new \XF\PreEscaped($title) : null
       
]);
    }

    protected function
getRenderedInlineSpoiler($content)
    {
        return
$this->templater->renderTemplate('email:bb_code_tag_ispoiler', [
           
'content' => new \XF\PreEscaped($content)
        ]);
    }

    public function
renderTagMedia(array $children, $option, array $tag, array $options)
    {
        if (isset(
$this->mediaSites[strtolower($option)]))
        {
            return
$this->templater->renderTemplate('email:bb_code_tag_media');
        }
        else
        {
            return
'';
        }
    }

    protected function
getRenderedUnfurl($url, array $options)
    {
       
$text = $this->prepareTextFromUrlExtended($url, $options);
        return
$this->getRenderedLink($text, $url, $options);
    }

    public static function
factory(\XF\App $app)
    {
       
$renderer = parent::factory($app);
       
$renderer->setTemplater($app['mailer.templater']);

        return
$renderer;
    }
}