split up _compile_template to _compile_file and _compile_source, fix eval function

VS: ----------------------------------------------------------------------
This commit is contained in:
mohrt
2003-06-19 14:04:49 +00:00
parent 96e1934b03
commit f869abbf9f
5 changed files with 63 additions and 50 deletions

View File

@@ -19,27 +19,27 @@
*/
function smarty_function_eval($params, &$smarty)
{
extract($params);
if (!isset($var)) {
if (!isset($params['var'])) {
$smarty->trigger_error("eval: missing 'var' parameter");
return;
}
if($var == '') {
if($params['var'] == '') {
return;
}
$smarty->_compile_template("evaluated template", $var, $source);
$smarty->_compile_source('evaluated template', $params['var'], $_var_compiled);
ob_start();
eval('?>' . $source);
$contents = ob_get_contents();
eval('?>' . $_var_compiled);
$_contents = ob_get_contents();
ob_end_clean();
if (!empty($assign)) {
$smarty->assign($assign, $contents);
$smarty->assign($assign, $_contents);
} else {
return $contents;
return $_contents;
}
}