From 9f8f500ba33963a28c656af8a28a9a6521af4616 Mon Sep 17 00:00:00 2001 From: Nathan Guse Date: Mon, 10 Jun 2013 00:59:06 -0500 Subject: [feature/twig] Working on DEFINE PHPBB3-11598 --- .../includes/template/twig/tokenparser/define.php | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 phpBB/includes/template/twig/tokenparser/define.php (limited to 'phpBB/includes/template/twig/tokenparser/define.php') diff --git a/phpBB/includes/template/twig/tokenparser/define.php b/phpBB/includes/template/twig/tokenparser/define.php new file mode 100644 index 0000000000..8eb33c7ff9 --- /dev/null +++ b/phpBB/includes/template/twig/tokenparser/define.php @@ -0,0 +1,45 @@ + + * {% set foo = 'foo' %} + * + * {% set foo = [1, 2] %} + * + * {% set foo = {'foo': 'bar'} %} + * + * {% set foo = 'foo' ~ 'bar' %} + * + * {% set foo, bar = 'foo', 'bar' %} + * + * {% set foo %}Some content{% endset %} + * + */ +class phpbb_template_twig_tokenparser_define extends Twig_TokenParser_Set +{ + public function decideBlockEnd(Twig_Token $token) + { + return $token->test('ENDDEFINE'); + } + + /** + * Gets the tag name associated with this token parser. + * + * @return string The tag name + */ + public function getTag() + { + return 'DEFINE'; + } +} -- cgit v1.2.1 From 309ed5e5c32cb334986b53ca855e26dd483c2919 Mon Sep 17 00:00:00 2001 From: Nathan Guse Date: Mon, 24 Jun 2013 13:37:22 -0500 Subject: [feature/twig] Fixing file header copyrights PHPBB3-11598 --- .../includes/template/twig/tokenparser/define.php | 33 +++++----------------- 1 file changed, 7 insertions(+), 26 deletions(-) (limited to 'phpBB/includes/template/twig/tokenparser/define.php') diff --git a/phpBB/includes/template/twig/tokenparser/define.php b/phpBB/includes/template/twig/tokenparser/define.php index 8eb33c7ff9..83f537a1ea 100644 --- a/phpBB/includes/template/twig/tokenparser/define.php +++ b/phpBB/includes/template/twig/tokenparser/define.php @@ -1,31 +1,12 @@ - * {% set foo = 'foo' %} - * - * {% set foo = [1, 2] %} - * - * {% set foo = {'foo': 'bar'} %} - * - * {% set foo = 'foo' ~ 'bar' %} - * - * {% set foo, bar = 'foo', 'bar' %} - * - * {% set foo %}Some content{% endset %} - * - */ +* +* @package phpBB3 +* @copyright (c) 2013 phpBB Group, sections (c) 2009 Fabien Potencier +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + class phpbb_template_twig_tokenparser_define extends Twig_TokenParser_Set { public function decideBlockEnd(Twig_Token $token) -- cgit v1.2.1 From 64963b5962d9a4bf1888dd1642a32ba3f6037258 Mon Sep 17 00:00:00 2001 From: Nathaniel Guse Date: Sat, 29 Jun 2013 11:07:10 -0500 Subject: [feature/twig] Fixing DEFINE statements PHPBB3-11598 --- .../includes/template/twig/tokenparser/define.php | 33 +++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'phpBB/includes/template/twig/tokenparser/define.php') diff --git a/phpBB/includes/template/twig/tokenparser/define.php b/phpBB/includes/template/twig/tokenparser/define.php index 83f537a1ea..ebf7cb4c4a 100644 --- a/phpBB/includes/template/twig/tokenparser/define.php +++ b/phpBB/includes/template/twig/tokenparser/define.php @@ -7,8 +7,39 @@ * */ -class phpbb_template_twig_tokenparser_define extends Twig_TokenParser_Set +class phpbb_template_twig_tokenparser_define extends Twig_TokenParser { + /** + * Parses a token and returns a node. + * + * @param Twig_Token $token A Twig_Token instance + * + * @return Twig_NodeInterface A Twig_NodeInterface instance + */ + public function parse(Twig_Token $token) + { + $lineno = $token->getLine(); + $stream = $this->parser->getStream(); + $name = $this->parser->getExpressionParser()->parseExpression(); + + $capture = false; + if ($stream->test(Twig_Token::OPERATOR_TYPE, '=')) { + $stream->next(); + $value = $this->parser->getExpressionParser()->parseExpression(); + + $stream->expect(Twig_Token::BLOCK_END_TYPE); + } else { + $capture = true; + + $stream->expect(Twig_Token::BLOCK_END_TYPE); + + $value = $this->parser->subparse(array($this, 'decideBlockEnd'), true); + $stream->expect(Twig_Token::BLOCK_END_TYPE); + } + + return new phpbb_template_twig_node_define($capture, $name, $value, $lineno, $this->getTag()); + } + public function decideBlockEnd(Twig_Token $token) { return $token->test('ENDDEFINE'); -- cgit v1.2.1 From 57c2d99e65ce107208db10721cff5b815ee3403c Mon Sep 17 00:00:00 2001 From: Nathaniel Guse Date: Tue, 2 Jul 2013 12:34:16 -0500 Subject: [feature/twig] Fix indentation PHPBB3-11598 --- .../includes/template/twig/tokenparser/define.php | 90 +++++++++++----------- 1 file changed, 45 insertions(+), 45 deletions(-) (limited to 'phpBB/includes/template/twig/tokenparser/define.php') diff --git a/phpBB/includes/template/twig/tokenparser/define.php b/phpBB/includes/template/twig/tokenparser/define.php index ebf7cb4c4a..ed77699b77 100644 --- a/phpBB/includes/template/twig/tokenparser/define.php +++ b/phpBB/includes/template/twig/tokenparser/define.php @@ -9,49 +9,49 @@ class phpbb_template_twig_tokenparser_define extends Twig_TokenParser { - /** - * Parses a token and returns a node. - * - * @param Twig_Token $token A Twig_Token instance - * - * @return Twig_NodeInterface A Twig_NodeInterface instance - */ - public function parse(Twig_Token $token) - { - $lineno = $token->getLine(); - $stream = $this->parser->getStream(); - $name = $this->parser->getExpressionParser()->parseExpression(); - - $capture = false; - if ($stream->test(Twig_Token::OPERATOR_TYPE, '=')) { - $stream->next(); - $value = $this->parser->getExpressionParser()->parseExpression(); - - $stream->expect(Twig_Token::BLOCK_END_TYPE); - } else { - $capture = true; - - $stream->expect(Twig_Token::BLOCK_END_TYPE); - - $value = $this->parser->subparse(array($this, 'decideBlockEnd'), true); - $stream->expect(Twig_Token::BLOCK_END_TYPE); - } - - return new phpbb_template_twig_node_define($capture, $name, $value, $lineno, $this->getTag()); - } - - public function decideBlockEnd(Twig_Token $token) - { - return $token->test('ENDDEFINE'); - } - - /** - * Gets the tag name associated with this token parser. - * - * @return string The tag name - */ - public function getTag() - { - return 'DEFINE'; - } + /** + * Parses a token and returns a node. + * + * @param Twig_Token $token A Twig_Token instance + * + * @return Twig_NodeInterface A Twig_NodeInterface instance + */ + public function parse(Twig_Token $token) + { + $lineno = $token->getLine(); + $stream = $this->parser->getStream(); + $name = $this->parser->getExpressionParser()->parseExpression(); + + $capture = false; + if ($stream->test(Twig_Token::OPERATOR_TYPE, '=')) { + $stream->next(); + $value = $this->parser->getExpressionParser()->parseExpression(); + + $stream->expect(Twig_Token::BLOCK_END_TYPE); + } else { + $capture = true; + + $stream->expect(Twig_Token::BLOCK_END_TYPE); + + $value = $this->parser->subparse(array($this, 'decideBlockEnd'), true); + $stream->expect(Twig_Token::BLOCK_END_TYPE); + } + + return new phpbb_template_twig_node_define($capture, $name, $value, $lineno, $this->getTag()); + } + + public function decideBlockEnd(Twig_Token $token) + { + return $token->test('ENDDEFINE'); + } + + /** + * Gets the tag name associated with this token parser. + * + * @return string The tag name + */ + public function getTag() + { + return 'DEFINE'; + } } -- cgit v1.2.1 From c5c34ff831faf96368d34012dc65bdb9451227aa Mon Sep 17 00:00:00 2001 From: Nathan Guse Date: Fri, 5 Jul 2013 13:10:35 -0500 Subject: [feature/twig] Add check for defined IN_PHPBB in all new Twig related files PHPBB3-11598 --- phpBB/includes/template/twig/tokenparser/define.php | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'phpBB/includes/template/twig/tokenparser/define.php') diff --git a/phpBB/includes/template/twig/tokenparser/define.php b/phpBB/includes/template/twig/tokenparser/define.php index ed77699b77..4ea15388c4 100644 --- a/phpBB/includes/template/twig/tokenparser/define.php +++ b/phpBB/includes/template/twig/tokenparser/define.php @@ -7,6 +7,15 @@ * */ +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + + class phpbb_template_twig_tokenparser_define extends Twig_TokenParser { /** -- cgit v1.2.1