Latte\Macros\CoreMacros::macroContentType PHP Method

macroContentType() public method

..}
public macroContentType ( MacroNode $node, PhpWriter $writer )
$node Latte\MacroNode
$writer Latte\PhpWriter
    public function macroContentType(MacroNode $node, PhpWriter $writer)
    {
        if (!$this->getCompiler()->isInHead() && !($node->htmlNode && strtolower($node->htmlNode->name) === 'script' && strpos($node->args, 'html') !== FALSE)) {
            throw new CompileException($node->getNotation() . ' is allowed only in template header.');
        }
        $compiler = $this->getCompiler();
        if ($node->modifiers) {
            throw new CompileException('Modifiers are not allowed in ' . $node->getNotation());
        } elseif (strpos($node->args, 'xhtml') !== FALSE) {
            $type = $compiler::CONTENT_XHTML;
        } elseif (strpos($node->args, 'html') !== FALSE) {
            $type = $compiler::CONTENT_HTML;
        } elseif (strpos($node->args, 'xml') !== FALSE) {
            $type = $compiler::CONTENT_XML;
        } elseif (strpos($node->args, 'javascript') !== FALSE) {
            $type = $compiler::CONTENT_JS;
        } elseif (strpos($node->args, 'css') !== FALSE) {
            $type = $compiler::CONTENT_CSS;
        } elseif (strpos($node->args, 'calendar') !== FALSE) {
            $type = $compiler::CONTENT_ICAL;
        } else {
            $type = $compiler::CONTENT_TEXT;
        }
        $compiler->setContentType($type);
        if (strpos($node->args, '/') && !$node->htmlNode) {
            return $writer->write('if (empty($this->global->coreCaptured) && in_array($this->getReferenceType(), ["extends", NULL], TRUE)) header(%var);', "Content-Type: {$node->args}");
        }
    }