Вход Регистрация
Файл: library/XenForo/Template/Compiler/Function/If.php
Строк: 66
<?php

/**
* Class to handle compiling template function calls for "if". If the specified
* condition evaluates to true, the true argument will be evaluated. Otherwise,
* the false argument will be evaluated (if specified).
*
* @package XenForo_Template
*/
class XenForo_Template_Compiler_Function_If implements XenForo_Template_Compiler_Function_Interface
{
    
/**
    * Compiles the function call.
    *
    * @param XenForo_Template_Compiler The invoking compiler
    * @param string                 Name of the function called
    * @param array                  Arguments to the function (should have at least 1)
    * @param array                  Compilation options
    *
    * @return string
    */
    
public function compile(XenForo_Template_Compiler $compiler$function, array $arguments, array $options)
    {
        
$argc count($arguments);
        if (
$argc != && $argc != 3)
        {
            throw 
$compiler->getNewCompilerArgumentException();
        }

        
$condition $compiler->parseConditionExpression($arguments[0], $options);
        
$true $compiler->compileAndCombineSegments($arguments[1], $options);

        if (!isset(
$arguments[2]))
        {
            
$arguments[2] = '';
        }
        
$false $compiler->compileAndCombineSegments($arguments[2], $options);

        return 
'(' $condition ' ? (' $true ') : (' $false '))';
    }
}
Онлайн: 0
Реклама