aboutsummaryrefslogtreecommitdiffstats
path: root/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
diff options
context:
space:
mode:
authorredmatrix <redmatrix@redmatrix.me>2015-12-06 14:22:55 -0800
committerredmatrix <redmatrix@redmatrix.me>2015-12-06 14:22:55 -0800
commita88ec1b1af954a447a666d3ff66b1d1df0a645db (patch)
tree7ccfe6a03923ad118910202e21a605e13127192c /library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
parent553b3a5c6c2ba6b93ad1193ec044ee92cf7690aa (diff)
parenta6cb25020bb5200cc3c00ecc941ddb751644fbcc (diff)
downloadvolse-hubzilla-a88ec1b1af954a447a666d3ff66b1d1df0a645db.tar.gz
volse-hubzilla-a88ec1b1af954a447a666d3ff66b1d1df0a645db.tar.bz2
volse-hubzilla-a88ec1b1af954a447a666d3ff66b1d1df0a645db.zip
Merge https://github.com/redmatrix/hubzilla into pending_merge
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php')
-rw-r--r--library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php38
1 files changed, 38 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..88d2bba81 100644
--- a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
+++ b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
@@ -17,6 +17,20 @@
abstract class Smarty_Resource_Uncompiled extends Smarty_Resource
{
/**
+ * Flag that it's an uncompiled resource
+ *
+ * @var bool
+ */
+ public $uncompiled = true;
+
+ /**
+ * Resource does implement populateCompiledFilepath() method
+ *
+ * @var bool
+ */
+ public $hasCompiledHandler = true;
+
+ /**
* Render and output the template (without using the compiler)
*
* @param Smarty_Template_Source $source source object
@@ -38,4 +52,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;
+ }
+ }
}