From fd626022ec02ef47b9142bba08180502babbd0ca Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 3 Jul 2012 22:23:08 -0700 Subject: add smarty engine, remove some obsolete zot1 stuff --- ...y_internal_compile_private_special_variable.php | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php (limited to 'library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php') diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php new file mode 100644 index 000000000..4760dbe3f --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php @@ -0,0 +1,107 @@ +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 '@' . trim($_index[1], "'"); + + case 'config': + 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; + } + +} + +?> \ No newline at end of file -- cgit v1.2.3