short_open_tag = ini_get('short_open_tag'); } /** * populate Source Object with meta data from Resource * * @param Smarty_Template_Source $source source object * @param Smarty_Internal_Template $_template template object * * @return void */ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null) { $source->filepath = $this->buildFilepath($source, $_template); if ($source->filepath !== false) { if (is_object($source->smarty->security_policy)) { $source->smarty->security_policy->isTrustedResourceDir($source->filepath); } $source->uid = sha1($source->filepath); if ($source->smarty->compile_check) { $source->timestamp = @filemtime($source->filepath); $source->exists = !!$source->timestamp; } } } /** * populate Source Object with timestamp and exists from Resource * * @param Smarty_Template_Source $source source object * * @return void */ public function populateTimestamp(Smarty_Template_Source $source) { $source->timestamp = @filemtime($source->filepath); $source->exists = !!$source->timestamp; } /** * 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->timestamp) { 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) { if ($_template->parent instanceof Smarty_Internal_Template) { $parent_resource = " in '{$_template->parent->template_resource}'"; } else { $parent_resource = ''; } throw new SmartyException("Unable to load template {$source->type} '{$source->name}'{$parent_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); } }