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

namespace XF\Template\Compiler\Tag;

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

class
NumberBox extends AbstractFormElement
{
    public function
compile(Tag $tag, Compiler $compiler, array $context, $inlineExpected)
    {
       
$context['escape'] = false;

       
$attributes = $tag->attributes;
       
$withEscaping = [];
       
$rowAttributes = [];

        foreach (
$this->defaultRowOptions AS $option => $escaped)
        {
            if (
$escaped)
            {
               
$withEscaping[] = $option;
            }
            if (isset(
$attributes[$option]))
            {
               
$rowAttributes[$option] = $attributes[$option];
                unset(
$attributes[$option]);
            }
        }

       
$config = $this->compileAttributesAsArray($attributes, $compiler, $context);
       
$indent = $compiler->indent();
       
$attributesCode = "array(" . implode('', $config) . "\n$indent)";

       
$contentHtml = "{$compiler->templaterVariable}->formNumberBox($attributesCode)";

        if (
$tag->name == 'numberboxrow')
        {
           
$rowOptions = $this->compileAttributesAsArray($rowAttributes, $compiler, $context, $withEscaping);
           
$indent = $compiler->indent();
           
$rowOptionCode = "array(" . implode('', $rowOptions)  . "\n$indent)";

            return
"{$compiler->templaterVariable}->formRow($contentHtml, $rowOptionCode)";
        }
        else
        {
            return
$contentHtml;
        }
    }
}