[feature/template-engine] Dependency inject locator into template.

PHPBB3-9726
This commit is contained in:
Oleg Pudeyev 2011-08-09 23:28:40 -04:00
parent 66232035aa
commit acb767f14d
6 changed files with 14 additions and 7 deletions

View file

@ -224,7 +224,8 @@ $config = new phpbb_config_db($db, $cache->get_driver(), CONFIG_TABLE);
set_config(null, null, null, $config);
set_config_count(null, null, null, $config);
$template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user);
$template_locator = new phpbb_template_locator();
$template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $template_locator);
// Add own hook handler
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);

View file

@ -133,7 +133,8 @@ class bbcode
{
$this->template_bitfield = new bitfield($user->theme['bbcode_bitfield']);
$template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user);
$template_locator = new phpbb_template_locator();
$template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $template_locator);
$template->set_template();
$locator = $template->_get_locator();
$locator->set_filenames(array('bbcode.html' => 'bbcode.html'));

View file

@ -193,7 +193,8 @@ class messenger
// tpl_msg now holds a template object we can use to parse the template file
if (!isset($this->tpl_msg[$template_lang . $template_file]))
{
$this->tpl_msg[$template_lang . $template_file] = new phpbb_template($phpbb_root_path, $phpEx, $config, $user);
$template_locator = new phpbb_template_locator();
$this->tpl_msg[$template_lang . $template_file] = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $template_locator);
$tpl = &$this->tpl_msg[$template_lang . $template_file];
$fallback_template_path = false;

View file

@ -72,14 +72,15 @@ class phpbb_template
*
* @param string $phpbb_root_path phpBB root path
* @param user $user current user
* @param phpbb_template_locator $locator template locator
*/
public function __construct($phpbb_root_path, $phpEx, $config, $user)
public function __construct($phpbb_root_path, $phpEx, $config, $user, phpbb_template_locator $locator)
{
$this->phpbb_root_path = $phpbb_root_path;
$this->phpEx = $phpEx;
$this->config = $config;
$this->user = $user;
$this->locator = new phpbb_template_locator();
$this->locator = $locator;
}
/**

View file

@ -68,7 +68,8 @@ class phpbb_template_template_inheritance_test extends phpbb_template_template_t
$this->template_path = dirname(__FILE__) . '/templates';
$this->parent_template_path = dirname(__FILE__) . '/parent_templates';
$this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user);
$this->template_locator = new phpbb_template_locator();
$this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $this->template_locator);
$this->template->set_custom_template($this->template_path, 'tests', $this->parent_template_path);
}
}

View file

@ -13,6 +13,7 @@ class phpbb_template_template_test_case extends phpbb_test_case
{
protected $template;
protected $template_path;
protected $template_locator;
// Keep the contents of the cache for debugging?
const PRESERVE_CACHE = true;
@ -41,7 +42,8 @@ class phpbb_template_template_test_case extends phpbb_test_case
$config = new phpbb_config(array_merge($defaults, $new_config));
$this->template_path = dirname(__FILE__) . '/templates';
$this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user);
$this->template_locator = new phpbb_template_locator();
$this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $this->template_locator);
$this->template->set_custom_template($this->template_path, 'tests');
}