Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Widget/WidgetCompiledEntry.php
<?php

namespace XF\Widget;

class
WidgetCompiledEntry
{
    public
$key;

    public
$conditionExpression = '';

    public function
__construct($key)
    {
       
$this->key = $key;
    }

    public function
applyCondition($conditionExpression)
    {
       
$this->conditionExpression = $conditionExpression;
    }

    public function
generateWidgetCode($widgetVar, $optionsVar, $depth = 1)
    {
       
$output = '';
       
$indent = str_repeat("\t", $depth);

        if (
$this->conditionExpression)
        {
           
$output .= "{$indent}{$widgetVar} = '';\n\n";
           
$output .= "{$indent}if ({$this->conditionExpression}) {\n";

           
$depth++;
           
$indent .= "\t";
        }

       
$key = addcslashes($this->key, "\\'");
       
$output .= "{$indent}{$widgetVar} = \\XF::app()->widget()->widget('{$key}', {$optionsVar})->render();\n";

        if (
$this->conditionExpression)
        {
           
$depth--;
           
$indent = str_repeat("\t", $depth);

           
$output .= "{$indent}}";
        }

        return
rtrim($output);
    }
}