From 3bd281fa2784048e29c6004b90bcd203733e4e32 Mon Sep 17 00:00:00 2001 From: Nathan Guse Date: Mon, 24 Jun 2013 11:18:29 -0500 Subject: [feature/twig] Event template tag PHPBB3-11598 --- phpBB/includes/template/twig/node/event.php | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 phpBB/includes/template/twig/node/event.php (limited to 'phpBB/includes/template/twig/node/event.php') diff --git a/phpBB/includes/template/twig/node/event.php b/phpBB/includes/template/twig/node/event.php new file mode 100644 index 0000000000..c76c727ba5 --- /dev/null +++ b/phpBB/includes/template/twig/node/event.php @@ -0,0 +1,44 @@ +environment = $environment; + + parent::__construct(array('expr' => $expr), array(), $lineno, $tag); + } + + /** + * Compiles the node to PHP. + * + * @param Twig_Compiler A Twig_Compiler instance + */ + public function compile(Twig_Compiler $compiler) + { + $compiler->addDebugInfo($this); + + $compiler->indent(); + + $location = $this->getNode('expr')->getAttribute('name'); + + foreach ($this->environment->get_phpbb_extensions() as $ext_namespace => $ext_path) + { + $ext_namespace = str_replace('/', '_', $ext_namespace); + + if ($this->environment->getLoader()->exists('@' . $ext_namespace . '/' . $location . '.html')) + { + $compiler->write("\$this->env->loadTemplate('@" . $ext_namespace . "/" . $location . ".html')->display(\$context);\n"); + } + } + } +} -- cgit v1.2.1