mirror of
https://github.com/smarty-php/smarty.git
synced 2025-10-15 21:45:21 +02:00
- move class Smarty_Template_Source into its own file - impelement all source processing into the classes it better belongs to
70 lines
1.8 KiB
PHP
70 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* Smarty Resource Plugin
|
|
*
|
|
* @package Smarty
|
|
* @subpackage TemplateResources
|
|
* @author Rodney Rehm
|
|
*/
|
|
|
|
/**
|
|
* Smarty Resource Plugin
|
|
* Base implementation for resource plugins that don't use the compiler
|
|
*
|
|
* @package Smarty
|
|
* @subpackage TemplateResources
|
|
*/
|
|
abstract class Smarty_Resource_Uncompiled extends Smarty_Resource
|
|
{
|
|
/**
|
|
* Flag that it's an uncompiled resource
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $uncompiled = true;
|
|
|
|
/**
|
|
* Render and output the template (without using the compiler)
|
|
*
|
|
* @param Smarty_Template_Source $source source object
|
|
* @param Smarty_Internal_Template $_template template object
|
|
*
|
|
* @throws SmartyException on failure
|
|
*/
|
|
abstract public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template);
|
|
|
|
/**
|
|
* populate compiled object with compiled filepath
|
|
*
|
|
* @param Smarty_Template_Compiled $compiled compiled object
|
|
* @param Smarty_Internal_Template $_template template object (is ignored)
|
|
*/
|
|
public function populateCompiledFilepath(Smarty_Template_Compiled $compiled, Smarty_Internal_Template $_template)
|
|
{
|
|
$compiled->filepath = false;
|
|
$compiled->timestamp = false;
|
|
$compiled->exists = false;
|
|
}
|
|
|
|
/**
|
|
* render compiled template code
|
|
*
|
|
* @param Smarty_Internal_Template $_template
|
|
*
|
|
* @return string
|
|
* @throws Exception
|
|
*/
|
|
public function render($_template)
|
|
{
|
|
try {
|
|
ob_start();
|
|
$this->renderUncompiled($_template->source, $_template);
|
|
return ob_get_clean();
|
|
}
|
|
catch (Exception $e) {
|
|
ob_get_clean();
|
|
throw $e;
|
|
}
|
|
}
|
|
}
|