equal
deleted
inserted
replaced
|
1 <?php |
|
2 /** |
|
3 * Smarty plugin |
|
4 * @package Smarty |
|
5 * @subpackage plugins |
|
6 */ |
|
7 |
|
8 |
|
9 /** |
|
10 * Smarty {eval} function plugin |
|
11 * |
|
12 * Type: function<br> |
|
13 * Name: eval<br> |
|
14 * Purpose: evaluate a template variable as a template<br> |
|
15 * @link http://smarty.php.net/manual/en/language.function.eval.php {eval} |
|
16 * (Smarty online manual) |
|
17 * @author Monte Ohrt <monte at ohrt dot com> |
|
18 * @param array |
|
19 * @param Smarty |
|
20 */ |
|
21 function smarty_function_eval($params, &$smarty) |
|
22 { |
|
23 |
|
24 if (!isset($params['var'])) { |
|
25 $smarty->trigger_error("eval: missing 'var' parameter"); |
|
26 return; |
|
27 } |
|
28 |
|
29 if($params['var'] == '') { |
|
30 return; |
|
31 } |
|
32 |
|
33 $smarty->_compile_source('evaluated template', $params['var'], $_var_compiled); |
|
34 |
|
35 ob_start(); |
|
36 $smarty->_eval('?>' . $_var_compiled); |
|
37 $_contents = ob_get_contents(); |
|
38 ob_end_clean(); |
|
39 |
|
40 if (!empty($params['assign'])) { |
|
41 $smarty->assign($params['assign'], $_contents); |
|
42 } else { |
|
43 return $_contents; |
|
44 } |
|
45 } |
|
46 |
|
47 /* vim: set expandtab: */ |
|
48 |
|
49 ?> |