mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-26 01:04:10 +02:00
[feature/twig] INCLUDEPHP token abs paths & fix test
PHPBB3-11598
This commit is contained in:
parent
8bccba1a2f
commit
1c8c03c4db
@ -50,9 +50,17 @@ class phpbb_template_twig_node_includephp extends Twig_Node
|
||||
$expr = preg_replace('#{{ ([a-zA-Z0-9_]+) }}#', '\' . ((isset($context["$1"])) ? $context["$1"] : null) . \'', $this->getNode('expr')->getAttribute('value'));
|
||||
|
||||
$compiler
|
||||
->write("require(\$this->getEnvironment()->get_phpbb_root_path() . '")
|
||||
->raw($expr)
|
||||
->raw("');\n")
|
||||
->write("if (phpbb_is_absolute('$expr')) {\n")
|
||||
->indent()
|
||||
->write("require('$expr');\n")
|
||||
->outdent()
|
||||
->write("} else {\n")
|
||||
->indent()
|
||||
->write("require(\$this->getEnvironment()->get_phpbb_root_path() . '")
|
||||
->raw($expr)
|
||||
->raw("');\n")
|
||||
->outdent()
|
||||
->write("}\n")
|
||||
;
|
||||
|
||||
if ($this->getAttribute('ignore_missing')) {
|
||||
|
@ -15,9 +15,7 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
{
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$cache_file = $this->template->cachepath . 'includephp_relative.html.php';
|
||||
|
||||
$this->run_template('includephp_relative.html', array(), array(), array(), "Path is relative to board root.\ntesting included php", $cache_file);
|
||||
$this->run_template('includephp_relative.html', array(), array(), array(), "Path is relative to board root.\ntesting included php");
|
||||
|
||||
$this->template->set_filenames(array('test' => 'includephp_relative.html'));
|
||||
$this->assertEquals("Path is relative to board root.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
|
||||
@ -27,9 +25,7 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
{
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$cache_file = $this->template->cachepath . 'includephp_variables.html.php';
|
||||
|
||||
$this->run_template('includephp_variables.html', array('TEMPLATES' => 'templates'), array(), array(), "Path includes variables.\ntesting included php", $cache_file);
|
||||
$this->run_template('includephp_variables.html', array('TEMPLATES' => 'templates'), array(), array(), "Path includes variables.\ntesting included php");
|
||||
|
||||
$this->template->set_filenames(array('test' => 'includephp_variables.html'));
|
||||
$this->assertEquals("Path includes variables.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
|
||||
@ -37,7 +33,7 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
|
||||
public function test_includephp_absolute()
|
||||
{
|
||||
$path_to_php = dirname(__FILE__) . '/templates/_dummy_include.php.inc';
|
||||
$path_to_php = str_replace('\\', '/', dirname(__FILE__)) . '/templates/_dummy_include.php.inc';
|
||||
$this->assertTrue(phpbb_is_absolute($path_to_php));
|
||||
$template_text = "Path is absolute.\n<!-- INCLUDEPHP $path_to_php -->";
|
||||
|
||||
@ -49,9 +45,8 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$this->style->set_custom_style('tests', $cache_dir, array(), '');
|
||||
$cache_file = $this->template->cachepath . 'includephp_absolute.html.php';
|
||||
|
||||
$this->run_template('includephp_absolute.html', array(), array(), array(), "Path is absolute.\ntesting included php", $cache_file);
|
||||
$this->run_template('includephp_absolute.html', array(), array(), array(), "Path is absolute.\ntesting included php");
|
||||
|
||||
$this->template->set_filenames(array('test' => 'includephp_absolute.html'));
|
||||
$this->assertEquals("Path is absolute.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
|
||||
|
Loading…
x
Reference in New Issue
Block a user