1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-13 12:14:06 +02:00

Merge remote-tracking branch 'p/ticket/10933' into develop

* p/ticket/10933:
  [ticket/10933] Prose for get_first_file_location.
  [ticket/10933] Remaining documentation for added functions in resource locator
  [ticket/10933] Update template locator test to use style resource locator.
  [ticket/10933] Dispose of locate function in template class.
  [ticket/10933] Add mutators for template_path to style resource locator.
  [ticket/10933] Delete template_path assignment.
  [ticket/10933] Delete template_path from template class.
  [ticket/10933] Add get_first_template_location.
This commit is contained in:
Igor Wiedler
2012-11-17 19:49:03 +01:00
5 changed files with 173 additions and 86 deletions

View File

@@ -74,12 +74,6 @@ class phpbb_template
*/
private $locator;
/**
* Location of templates directory within style directories
* @var string
*/
public $template_path = 'template/';
/**
* Constructor.
*
@@ -95,7 +89,6 @@ class phpbb_template
$this->config = $config;
$this->user = $user;
$this->locator = $locator;
$this->template_path = $this->locator->template_path;
$this->context = $context;
}
@@ -458,74 +451,6 @@ class phpbb_template
include($file);
}
/**
* Obtains filesystem path for a template file.
*
* The simplest use is specifying a single template file as a string
* in the first argument. This template file should be a basename
* of a template file in the selected style, or its parent styles
* if template inheritance is being utilized.
*
* Note: "selected style" is whatever style the style resource locator
* is configured for.
*
* The return value then will be a path, relative to the current
* directory or absolute, to the template file in the selected style
* or its closest parent.
*
* If the selected style does not have the template file being searched,
* (and if inheritance is involved, none of the parents have it either),
* false will be returned.
*
* Specifying true for $return_default will cause the function to
* return the first path which was checked for existence in the event
* that the template file was not found, instead of false.
* This is the path in the selected style itself, not any of its
* parents.
*
* $files can be given an array of templates instead of a single
* template. When given an array, the function will try to resolve
* each template in the array to a path, and will return the first
* path that exists, or false if none exist.
*
* If $return_full_path is false, then instead of returning a usable
* path (when the template is found) only the template's basename
* will be returned. This can be used to check which of the templates
* specified in $files exists, provided different file names are
* used for different templates.
*
* @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 template 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);
}
/**
* Include JS file
*