getVariable('smarty')->value$parameter"; case 'section': return "\$_smarty_tpl->getVariable('smarty')->value$parameter"; case 'capture': return "Smarty::\$_smarty_vars$parameter"; case 'now': return 'time()'; case 'cookies': if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_super_globals) { $compiler->trigger_template_error("(secure mode) super globals not permitted"); break; } $compiled_ref = '$_COOKIE'; break; case 'get': case 'post': case 'env': case 'server': case 'session': case 'request': if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_super_globals) { $compiler->trigger_template_error("(secure mode) super globals not permitted"); break; } $compiled_ref = '$_' . strtoupper($variable); break; case 'template': return 'basename($_smarty_tpl->source->filepath)'; case 'template_object': return '$_smarty_tpl'; case 'current_dir': return 'dirname($_smarty_tpl->source->filepath)'; case 'version': $_version = Smarty::SMARTY_VERSION; return "'$_version'"; case 'const': if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_constants) { $compiler->trigger_template_error("(secure mode) constants not permitted"); break; } return "@constant({$_index[1]})"; case 'config': if (isset($_index[2])) { return "(is_array(\$tmp = \$_smarty_tpl->getConfigVariable($_index[1])) ? \$tmp[$_index[2]] : null)"; } else { return "\$_smarty_tpl->getConfigVariable($_index[1])"; } case 'ldelim': $_ldelim = $compiler->smarty->left_delimiter; return "'$_ldelim'"; case 'rdelim': $_rdelim = $compiler->smarty->right_delimiter; return "'$_rdelim'"; default: $compiler->trigger_template_error('$smarty.' . trim($_index[0], "'") . ' is invalid'); break; } if (isset($_index[1])) { array_shift($_index); foreach ($_index as $_ind) { $compiled_ref = $compiled_ref . "[$_ind]"; } } return $compiled_ref; } }