diff options
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php')
-rw-r--r-- | library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php index 4ee5d7908..a52d86e87 100644 --- a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php +++ b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php @@ -17,6 +17,13 @@ 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 @@ -38,4 +45,28 @@ abstract class Smarty_Resource_Uncompiled extends Smarty_Resource $compiled->timestamp = false; $compiled->exists = false; } + + /** + * render compiled template code + * + * @param Smarty_Internal_Template $_template + * + * @return string + * @throws Exception + */ + public function render($_template) + { + $level = ob_get_level(); + ob_start(); + try { + $this->renderUncompiled($_template->source, $_template); + return ob_get_clean(); + } + catch (Exception $e) { + while (ob_get_level() > $level) { + ob_end_clean(); + } + throw $e; + } + } } |