0,0 → 1,42 |
<?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}')"); |
} |
} |