1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-24 20:13:22 +01:00

[feature/twig] Correcting output of INCLUDEJS

PHPBB3-11598
This commit is contained in:
Nathan Guse 2013-06-12 12:32:56 -05:00
parent 612dbad63f
commit 95884edf08
2 changed files with 27 additions and 57 deletions

View File

@ -1,22 +1,19 @@
<?php <?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. *
* * @package phpBB3
* @author Fabien Potencier <fabien@symfony.com> * @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_Include *
*/
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. * Compiles the node to PHP.
* *
@ -27,24 +24,8 @@ class phpbb_template_twig_node_includejs extends Twig_Node_Include
$compiler->addDebugInfo($this); $compiler->addDebugInfo($this);
$compiler $compiler
->write("try {\n") ->write("\$context['SCRIPTS'] .= '<script type=\"text/javascript\" src=")
->indent() ->subcompile($this->getNode('expr'))
; ->raw(">';\n\n");
$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")
;
} }
} }

View File

@ -1,25 +1,13 @@
<?php <?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. *
* * @package phpBB3
* <pre> * @copyright (c) 2013 phpBB Group
* {% include 'header.html' %} * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
* Body *
* {% include 'footer.html' %} */
* </pre>
*/ class phpbb_template_twig_tokenparser_includejs extends Twig_TokenParser
class phpbb_template_twig_tokenparser_includejs extends Twig_TokenParser_Include
{ {
/** /**
* Parses a token and returns a node. * 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(); $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());
} }
/** /**