From 7085a0c2f7104a56a7e946c43ba0b5736be5f4e7 Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 27 Dec 2016 14:47:01 +0100 Subject: * smarty bundled --- .../sysplugins/smarty_internal_resource_php.php | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 lib/smarty3/sysplugins/smarty_internal_resource_php.php (limited to 'lib/smarty3/sysplugins/smarty_internal_resource_php.php') diff --git a/lib/smarty3/sysplugins/smarty_internal_resource_php.php b/lib/smarty3/sysplugins/smarty_internal_resource_php.php new file mode 100644 index 0000000..3cff781 --- /dev/null +++ b/lib/smarty3/sysplugins/smarty_internal_resource_php.php @@ -0,0 +1,107 @@ +short_open_tag = ini_get('short_open_tag'); + } + + /** + * Load template's source from file into current template object + * + * @param Smarty_Template_Source $source source object + * + * @return string template source + * @throws SmartyException if source cannot be loaded + */ + public function getContent(Smarty_Template_Source $source) + { + if ($source->exists) { + return ''; + } + throw new SmartyException("Unable to read template {$source->type} '{$source->name}'"); + } + + /** + * Render and output the template (without using the compiler) + * + * @param Smarty_Template_Source $source source object + * @param Smarty_Internal_Template $_template template object + * + * @return void + * @throws SmartyException if template cannot be loaded or allow_php_templates is disabled + */ + public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template) + { + if (!$source->smarty->allow_php_templates) { + throw new SmartyException("PHP templates are disabled"); + } + if (!$source->exists) { + $parentIsTpl = isset($this->parent) && $this->parent->_objType == 2; + throw new SmartyException("Unable to load template {$source->type} '{$source->name}'" . + ($parentIsTpl ? " in '{$this->parent->template_resource}'" : '')); + } + + // prepare variables + extract($_template->getTemplateVars()); + + // include PHP template with short open tags enabled + ini_set('short_open_tag', '1'); + /** @var Smarty_Internal_Template $_smarty_template + * used in included file + */ + $_smarty_template = $_template; + include($source->filepath); + ini_set('short_open_tag', $this->short_open_tag); + } + + /** + * 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 = $_template->source->filepath; + $compiled->timestamp = $_template->source->timestamp; + $compiled->exists = $_template->source->exists; + $compiled->file_dependency[ $_template->source->uid ] = + array($compiled->filepath, $compiled->timestamp, + $_template->source->type,); + } +} -- cgit v1.2.3