Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Install/Templater.php
<?php

namespace XF\Install;

use
XF\Template\ExtensionSet;

class
Templater extends \XF\Template\Templater
{
    public function
getTemplateFilePath($type, $name, $styleIdOverride = null)
    {
        return
$this->compiledPath . '/' .preg_replace('/[^a-zA-Z0-9_.-]/', '', $name) . '.php';
    }

   
/**
     * @param string $template
     * @param array $params
     * @param bool $addDefaultParams
     *
     * @return string
     */
   
public function renderTemplate(
       
$template, array $params = [], $addDefaultParams = true, ExtensionSet $extensionOverrides = null
   
)
    {
       
$params['templater'] = $this;

       
extract($params);
        list(
$type, $template) = $this->getTemplateTypeAndName($template);

       
set_error_handler([$this, 'handleTemplateError']);

       
ob_start();
        include(
$this->getTemplateFilePath($type, $template));
       
$output = ob_get_clean();

       
restore_error_handler();

        return
$output;
    }

    public function
setTitle($title)
    {
       
$this->setPageParam('title', $title);
    }

    public function
getJsUrl($js, $root = false)
    {
        if (
preg_match('#^(/|[a-z]+:)#i', $js))
        {
            return
$js;
        }

        if (!
strpos($js, '_v='))
        {
           
$js = $js . (strpos($js, '?') ? '&' : '?') . $this->getJsCacheBuster();
        }

       
$pather = $this->pather;
        return
$pather("../js/$js", 'base');
    }
}