mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-11-03 05:41:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Smarty Internal Plugin Compile Object Block Function
 | 
						|
 * Compiles code for registered objects as block function
 | 
						|
 *
 | 
						|
 * @package    Smarty
 | 
						|
 * @subpackage Compiler
 | 
						|
 * @author     Uwe Tews
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Smarty Internal Plugin Compile Object Block Function Class
 | 
						|
 *
 | 
						|
 * @package    Smarty
 | 
						|
 * @subpackage Compiler
 | 
						|
 */
 | 
						|
class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Internal_Compile_Private_Block_Plugin
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Setup callback and parameter array
 | 
						|
     *
 | 
						|
     * @param \Smarty_Internal_TemplateCompilerBase $compiler
 | 
						|
     * @param  array                                $_attr attributes
 | 
						|
     * @param  string                               $tag
 | 
						|
     * @param  string                               $method
 | 
						|
     *
 | 
						|
     * @return array
 | 
						|
     */
 | 
						|
    public function setup(Smarty_Internal_TemplateCompilerBase $compiler, $_attr, $tag, $method)
 | 
						|
    {
 | 
						|
        $_paramsArray = array();
 | 
						|
        foreach ($_attr as $_key => $_value) {
 | 
						|
            if (is_int($_key)) {
 | 
						|
                $_paramsArray[] = "$_key=>$_value";
 | 
						|
            } else {
 | 
						|
                $_paramsArray[] = "'$_key'=>$_value";
 | 
						|
            }
 | 
						|
        }
 | 
						|
        $callback = array("\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]", "->{$method}");
 | 
						|
        return array($callback, $_paramsArray, "array(\$_block_plugin{$this->nesting}, '{$method}')");
 | 
						|
    }
 | 
						|
}
 |