aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/template/twig/node/include.php36
1 files changed, 19 insertions, 17 deletions
diff --git a/phpBB/includes/template/twig/node/include.php b/phpBB/includes/template/twig/node/include.php
index df7a95af44..2a90dc19e4 100644
--- a/phpBB/includes/template/twig/node/include.php
+++ b/phpBB/includes/template/twig/node/include.php
@@ -18,28 +18,30 @@ class phpbb_template_twig_node_include extends Twig_Node_Include
{
$compiler->addDebugInfo($this);
- $location = $this->getNode('expr')->getAttribute('value');
- $namespace = false;
-
- if (strpos($location, '@') === 0)
- {
- $namespace = substr($location, 1, strpos($location, '/') - 1);
-
- $compiler
+ $compiler
+ ->write("\$location = ")
+ ->subcompile($this->getNode('expr'))
+ ->raw(";\n")
+ ->write("\$namespace = false;\n")
+ ->write("if (strpos(\$location, '@') === 0) {\n")
+ ->indent()
+ ->write("\$namespace = substr(\$location, 1, strpos(\$location, '/') - 1);\n")
->write("\$previous_look_up_order = \$this->env->getNamespaceLookUpOrder();\n")
// We set the namespace lookup order to be this namespace first, then the main path
- ->write("\$this->env->setNamespaceLookUpOrder(array('" . $namespace . "', '__main__'));\n")
- ;
- }
+ ->write("\$this->env->setNamespaceLookUpOrder(array(\$namespace, '__main__'));\n")
+ ->outdent()
+ ->write("}\n")
+ ;
parent::compile($compiler);
- if ($namespace)
- {
- $compiler
- ->write("\$this->env->setNamespaceLookUpOrder(\$previous_look_up_order);\n")
- ;
- }
+ $compiler
+ ->write("if (\$namespace) {\n")
+ ->indent()
+ ->write("\$this->env->setNamespaceLookUpOrder(\$previous_look_up_order);\n")
+ ->outdent()
+ ->write("}\n")
+ ;
}
}