|
@@ -1,66 +0,0 @@
|
|
|
-<?php
|
|
|
-
|
|
|
-namespace Symfony\Bundle\TwigBundle\TokenParser;
|
|
|
-
|
|
|
-use Symfony\Bundle\TwigBundle\Node\TagNode;
|
|
|
-
|
|
|
-/*
|
|
|
- * This file is part of the Symfony package.
|
|
|
- *
|
|
|
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
|
|
|
- *
|
|
|
- * For the full copyright and license information, please view the LICENSE
|
|
|
- * file that was distributed with this source code.
|
|
|
- */
|
|
|
-
|
|
|
-/**
|
|
|
- *
|
|
|
- *
|
|
|
- * @author Fabien Potencier <fabien.potencier@symfony-project.com>
|
|
|
- */
|
|
|
-class ContentTagTokenParser 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();
|
|
|
-
|
|
|
- $tag = $this->parser->getExpressionParser()->parseExpression();
|
|
|
-
|
|
|
- $attributes = null;
|
|
|
- if ($stream->test('with')) {
|
|
|
- $stream->next();
|
|
|
- $attributes = $this->parser->getExpressionParser()->parseExpression();
|
|
|
- }
|
|
|
-
|
|
|
- $stream->expect(\Twig_Token::BLOCK_END_TYPE);
|
|
|
-
|
|
|
- $content = $this->parser->subparse(array($this, 'decideContentTagFork'), true);
|
|
|
-
|
|
|
- $stream->expect(\Twig_Token::BLOCK_END_TYPE);
|
|
|
-
|
|
|
- return new TagNode($tag, $content, $attributes, $lineno, $this->getTag());
|
|
|
- }
|
|
|
-
|
|
|
- public function decideContentTagFork($token)
|
|
|
- {
|
|
|
- return $token->test(array('endcontenttag'));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Gets the tag name associated with this token parser.
|
|
|
- *
|
|
|
- * @param string The tag name
|
|
|
- */
|
|
|
- public function getTag()
|
|
|
- {
|
|
|
- return 'contenttag';
|
|
|
- }
|
|
|
-}
|