Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Template/Compiler/Tag/PageAction.php
<?php

namespace XF\Template\Compiler\Tag;

use
XF\Template\Compiler\Syntax\Tag;
use
XF\Template\Compiler;

class
PageAction extends AbstractTag
{
    public function
compile(Tag $tag, Compiler $compiler, array $context, $inlineExpected)
    {
        if (
$tag->isSelfClose)
        {
            return
"(isset({$compiler->templaterVariable}->pageParams['pageAction']) ?"
               
. " {$compiler->templaterVariable}->pageParams['pageAction'] : '')";
        }
        else
        {
           
$attributes = $tag->attributes;

            if (!empty(
$attributes['if']))
            {
               
$if = $compiler->compileForcedExpression($attributes['if'], $context);
            }
            else
            {
               
$if = null;
            }

            if (
$if)
            {
               
$compiler->write("if ($if) {")->pushIndent();
            }

           
$value = $compiler->compileInlineList($tag->children, $context);
           
$compiler->write("{$compiler->templaterVariable}->pageParams['pageAction'] = {$compiler->templaterVariable}->preEscaped($value);");

            if (
$if)
            {
               
$compiler->popIndent()->write('}');
            }

            return
$inlineExpected ? "''" : false;
        }
    }
}