diff options
Diffstat (limited to '')
-rw-r--r-- | include/template.class.php | 46 |
1 files changed, 12 insertions, 34 deletions
diff --git a/include/template.class.php b/include/template.class.php index d99f7ebca..fafbf7670 100644 --- a/include/template.class.php +++ b/include/template.class.php @@ -64,9 +64,9 @@ class Template { $this->smarty->assign_by_ref( 'pwg', new PwgTemplateAdapter() ); $this->smarty->register_modifier( 'translate', array('Template', 'mod_translate') ); $this->smarty->register_modifier( 'explode', array('Template', 'mod_explode') ); + $this->smarty->register_modifier( 'get_extent', array(&$this, 'get_extent') ); $this->smarty->register_block('html_head', array(&$this, 'block_html_head') ); $this->smarty->register_function('known_script', array(&$this, 'func_known_script') ); - $this->smarty->register_function('known_template', array(&$this, 'func_known_template') ); $this->smarty->register_prefilter( array('Template', 'prefilter_white_space') ); if ( $conf['compiled_template_cache_language'] ) { @@ -153,13 +153,9 @@ class Template { { unset($this->files[$handle]); } - elseif (isset($this->extents[$handle])) - { - $this->files[$handle] = $this->extents[$handle]; - } else { - $this->files[$handle] = $filename; + $this->files[$handle] = $this->get_extent($filename, $handle); } } return true; @@ -209,6 +205,16 @@ class Template { } return true; } + + /** return template extension if exists */ + function get_extent($filename='', $handle='') + { + if (isset($this->extents[$handle])) + { + $filename = $this->extents[$handle]; + } + return $filename; + } /** see smarty assign http://www.smarty.net/manual/en/api.assign.php */ function assign($tpl_var, $value = null) @@ -409,34 +415,6 @@ class Template { } } - /** - * This smarty "known_template" functions allows to include template - * If extent[$params['id']] exists, include template extension - * else include $params[$file] - */ - function func_known_template($params, &$smarty ) - { - if (!isset($params['file'])) - { - $smarty->trigger_error("known_template: missing 'file' parameter"); - return; - } - - if (isset($params['id']) and isset($this->extents[$params['id']])) - { - $file = $this->extents[$params['id']]; - } - else - { - $file = $params['file']; - } - - return $smarty->_smarty_include(array( - 'smarty_include_tpl_file' => $file, - 'smarty_include_vars' => array() - )); - } - static function prefilter_white_space($source, &$smarty) { $ld = $smarty->left_delimiter; |