mirror of https://github.com/avecms/AVE.cms.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1014 B
49 lines
1014 B
<?php |
|
/** |
|
* Smarty plugin |
|
* @package Smarty |
|
* @subpackage plugins |
|
*/ |
|
|
|
|
|
/** |
|
* Smarty {eval} function plugin |
|
* |
|
* Type: function<br> |
|
* Name: eval<br> |
|
* Purpose: evaluate a template variable as a template<br> |
|
* @link http://smarty.php.net/manual/en/language.function.eval.php {eval} |
|
* (Smarty online manual) |
|
* @author Monte Ohrt <monte at ohrt dot com> |
|
* @param array |
|
* @param Smarty |
|
*/ |
|
function smarty_function_eval($params, &$smarty) |
|
{ |
|
|
|
if (!isset($params['var'])) { |
|
$smarty->trigger_error("eval: missing 'var' parameter"); |
|
return; |
|
} |
|
|
|
if($params['var'] == '') { |
|
return; |
|
} |
|
|
|
$smarty->_compile_source('evaluated template', $params['var'], $_var_compiled); |
|
|
|
ob_start(); |
|
$smarty->_eval('?>' . $_var_compiled); |
|
$_contents = ob_get_contents(); |
|
ob_end_clean(); |
|
|
|
if (!empty($params['assign'])) { |
|
$smarty->assign($params['assign'], $_contents); |
|
} else { |
|
return $_contents; |
|
} |
|
} |
|
|
|
/* vim: set expandtab: */ |
|
|
|
?>
|
|
|