diff options
-rw-r--r-- | phpBB/includes/template/twig/node/includejs.php | 51 | ||||
-rw-r--r-- | phpBB/includes/template/twig/tokenparser/includejs.php | 33 |
2 files changed, 27 insertions, 57 deletions
diff --git a/phpBB/includes/template/twig/node/includejs.php b/phpBB/includes/template/twig/node/includejs.php index e30ab75125..6fe8e155b7 100644 --- a/phpBB/includes/template/twig/node/includejs.php +++ b/phpBB/includes/template/twig/node/includejs.php @@ -1,22 +1,19 @@ <?php - -/* - * This file is part of Twig. - * - * (c) 2009 Fabien Potencier - * (c) 2009 Armin Ronacher - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - /** - * Represents an include node. - * - * @author Fabien Potencier <fabien@symfony.com> - */ -class phpbb_template_twig_node_includejs extends Twig_Node_Include +* +* @package phpBB3 +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +class phpbb_template_twig_node_includejs extends Twig_Node { + public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null) + { + parent::__construct(array('expr' => $expr), array(), $lineno, $tag); + } + /** * Compiles the node to PHP. * @@ -27,24 +24,8 @@ class phpbb_template_twig_node_includejs extends Twig_Node_Include $compiler->addDebugInfo($this); $compiler - ->write("try {\n") - ->indent() - ; - - $this->addGetTemplate($compiler); - - $compiler->raw('->display('); - - $this->addTemplateArguments($compiler); - - $compiler->raw(");\n"); - - $compiler - ->write("} catch (Twig_Error_Loader \$e) {\n") - ->indent() - ->write("// ignore missing template\n") - ->outdent() - ->write("}\n\n") - ; + ->write("\$context['SCRIPTS'] .= '<script type=\"text/javascript\" src=") + ->subcompile($this->getNode('expr')) + ->raw(">';\n\n"); } } diff --git a/phpBB/includes/template/twig/tokenparser/includejs.php b/phpBB/includes/template/twig/tokenparser/includejs.php index 36a1fcb585..efa8692f4b 100644 --- a/phpBB/includes/template/twig/tokenparser/includejs.php +++ b/phpBB/includes/template/twig/tokenparser/includejs.php @@ -1,25 +1,13 @@ <?php - -/* - * This file is part of Twig. - * - * (c) 2009 Fabien Potencier - * (c) 2009 Armin Ronacher - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - /** - * Includes a template. - * - * <pre> - * {% include 'header.html' %} - * Body - * {% include 'footer.html' %} - * </pre> - */ -class phpbb_template_twig_tokenparser_includejs extends Twig_TokenParser_Include +* +* @package phpBB3 +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +class phpbb_template_twig_tokenparser_includejs extends Twig_TokenParser { /** * Parses a token and returns a node. @@ -32,9 +20,10 @@ class phpbb_template_twig_tokenparser_includejs extends Twig_TokenParser_Include { $expr = $this->parser->getExpressionParser()->parseExpression(); - list($variables, $only, $ignoreMissing) = $this->parseArguments(); + $stream = $this->parser->getStream(); + $stream->expect(Twig_Token::BLOCK_END_TYPE); - return new phpbb_template_twig_node_includejs($expr, $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag()); + return new phpbb_template_twig_node_includejs($expr, $token->getLine(), $this->getTag()); } /** |