if (is_int($_key)) { $_paramsArray[] = "
$_key=>
$_value";
} elseif ($compiler->template->caching &&
in_array($_key,
$tag_info[2
])) { $_value =
str_replace("'","^#^",
$_value);
$_paramsArray[] = "'
$_key'=>^#^.var_export(
$_value,true).^#^";
} else { $_paramsArray[] = "'
$_key'=>
$_value";
} } $_params = 'array(' .
implode(",",
$_paramsArray) . ')';
$this->
openTag($compiler,
$tag, array
($_params,
$compiler->nocache
));
// maybe nocache because of nocache variables or nocache plugin
$compiler->nocache = !
$tag_info[1
] |
$compiler->nocache |
$compiler->tag_nocache;
$function =
$tag_info[0
];
// compile code
if (!
is_array($function)) { $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{
$tag}', {
$_params}); \$_block_repeat=true; echo {
$function}({
$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
} else if (is_object($function[0
])) { $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{
$tag}', {
$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_plugins['block']['{
$tag}'][0][0]->{
$function[1
]}({
$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
} else { $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{
$tag}', {
$_params}); \$_block_repeat=true; echo {
$function[0
]}::{
$function[1
]}({
$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
} }