Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** Extends All Resource* Resource Implementation modifying the extends-Resource to walk* through the template_dirs and inherit all templates of the same name** @package Resource-examples* @author Rodney Rehm*/class Smarty_Resource_Extendsall extends Smarty_Internal_Resource_Extends{/*** 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){$uid = '';$sources = array();$timestamp = 0;foreach ($source->smarty->getTemplateDir() as $key => $directory) {try {$s = Smarty_Resource::source(null, $source->smarty, 'file:' . '[' . $key . ']' . $source->name);if (!$s->exists) {continue;}$sources[ $s->uid ] = $s;$uid .= $s->filepath;$timestamp = $s->timestamp > $timestamp ? $s->timestamp : $timestamp;} catch (SmartyException $e) {}}if (!$sources) {$source->exists = false;return;}$sources = array_reverse($sources, true);reset($sources);$s = current($sources);$source->components = $sources;$source->filepath = $s->filepath;$source->uid = sha1($uid . $source->smarty->_joined_template_dir);$source->exists = true;$source->timestamp = $timestamp;}/*** Disable timestamp checks for extendsall resource.* The individual source components will be checked.** @return bool false*/public function checkTimestamps(){return false;}}