diff options
| author | Vjacheslav Trushkin <arty@phpbb.com> | 2012-04-01 09:52:55 +0300 |
|---|---|---|
| committer | Vjacheslav Trushkin <arty@phpbb.com> | 2012-04-01 09:52:55 +0300 |
| commit | f80512f1066ebfc09d2a4ffac412c56a3fb247de (patch) | |
| tree | b6e15ac28a9d5ac5f93f9bd7cfb3951cad44cf29 /phpBB/includes/style/template.php | |
| parent | 2ce73baeab35adc3515a04c1db38af62c98d5c93 (diff) | |
| download | forums-f80512f1066ebfc09d2a4ffac412c56a3fb247de.tar forums-f80512f1066ebfc09d2a4ffac412c56a3fb247de.tar.gz forums-f80512f1066ebfc09d2a4ffac412c56a3fb247de.tar.bz2 forums-f80512f1066ebfc09d2a4ffac412c56a3fb247de.tar.xz forums-f80512f1066ebfc09d2a4ffac412c56a3fb247de.zip | |
[ticket/10733] Adding functions to locate resources
Adding $style->locate() and $template->locate() functions
PHPBB3-10733
Diffstat (limited to 'phpBB/includes/style/template.php')
| -rw-r--r-- | phpBB/includes/style/template.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/phpBB/includes/style/template.php b/phpBB/includes/style/template.php index 21a2e821dd..aebf1da603 100644 --- a/phpBB/includes/style/template.php +++ b/phpBB/includes/style/template.php @@ -456,4 +456,40 @@ class phpbb_style_template } include($file); } + + /** + * Locates source template path, accounting for styles tree and verifying that + * the path exists. + * + * @param string or array $files List of templates to locate. If there is only + * one template, $files can be a string to make code easier to read. + * @param bool $return_default Determines what to return if template does not + * exist. If true, function will return location where template is + * supposed to be. If false, function will return false. + * @param bool $return_full_path If true, function will return full path + * to template. If false, function will return template file name. + * This parameter can be used to check which one of set of template + * files is available. + * @return string or boolean Source template path if template exists or $return_default is + * true. False if template does not exist and $return_default is false + */ + public function locate($files, $return_default = false, $return_full_path = true) + { + // add tempalte path prefix + $templates = array(); + if (is_string($files)) + { + $templates[] = $this->template_path . $files; + } + else + { + foreach ($files as $file) + { + $templates[] = $this->template_path . $file; + } + } + + // use resource locator to find files + return $this->locator->get_first_file_location($templates, $return_default, $return_full_path); + } } |
