Exemple #1
0
 /**
  * @param \Twig_Token $token
  *
  * @return \Twig_Node
  * @throws \Twig_Error_Syntax
  */
 public function parse(\Twig_Token $token)
 {
     $stream = $this->parser->getStream();
     $form = $stream->expect(\Twig_Token::NAME_TYPE)->getValue();
     $stream->expect(\Twig_Token::BLOCK_END_TYPE);
     if (FormState::$current !== null) {
         throw new \Twig_Error_Syntax(sprintf('form [%s] not closed while opening form [%s]', FormState::$current, $form), $token->getLine(), $stream->getFilename());
     } else {
         FormState::$current = $form;
     }
     return new FormNode($form, $token->getLine(), $this->getTag());
 }
 /**
  * @param \Twig_Token $token Token consumed by the lexer.
  *
  * @return \Twig_Node
  * @throws \Twig_Error_Syntax
  */
 public function parse(\Twig_Token $token)
 {
     $stream = $this->parser->getStream();
     if ($stream->getCurrent()->getType() != \Twig_Token::BLOCK_END_TYPE) {
         $error = sprintf("'%s' does not require any arguments.", $this->getTag());
         throw new \Twig_Error_Syntax($error, $token->getLine(), $this->parser->getFilename());
     }
     $stream->expect(\Twig_Token::BLOCK_END_TYPE);
     if (FormState::$current === null) {
         throw new \Twig_Error_Syntax('Trying to close a form tag, while none opened', $token->getLine(), $this->parser->getFilename());
     } else {
         FormState::$current = null;
     }
     return new FormEndNode($token->getLine(), $this->getTag());
 }