Latte\Parser::filter PHP Method

filter() protected method

Process low-level macros.
protected filter ( latte\Token $token )
$token latte\Token
    protected function filter(Token $token)
    {
        if ($token->type === Token::MACRO_TAG && $token->name === '/syntax') {
            $this->setSyntax($this->defaultSyntax);
            $token->type = Token::COMMENT;
        } elseif ($token->type === Token::MACRO_TAG && $token->name === 'syntax') {
            $this->setSyntax($token->value);
            $token->type = Token::COMMENT;
        } elseif ($token->type === Token::HTML_ATTRIBUTE_BEGIN && $token->name === 'n:syntax') {
            $this->setSyntax($token->value);
            $this->syntaxEndTag = $this->lastHtmlTag;
            $this->syntaxEndLevel = 1;
            $token->type = Token::COMMENT;
        } elseif ($token->type === Token::HTML_TAG_BEGIN && $this->lastHtmlTag === $this->syntaxEndTag) {
            $this->syntaxEndLevel++;
        } elseif ($token->type === Token::HTML_TAG_END && $this->lastHtmlTag === '/' . $this->syntaxEndTag && --$this->syntaxEndLevel === 0) {
            $this->setSyntax($this->defaultSyntax);
        } elseif ($token->type === Token::MACRO_TAG && $token->name === 'contentType') {
            if (strpos($token->value, 'html') !== FALSE) {
                $this->setContentType(self::CONTENT_HTML);
            } elseif (strpos($token->value, 'xml') !== FALSE) {
                $this->setContentType(self::CONTENT_XML);
            } else {
                $this->setContentType(self::CONTENT_TEXT);
            }
        }
    }