Mercurial > epgrec.yaz
comparison Smarty/plugins/function.eval.php @ 1:f5a9f0eb4858
deleted: LICENSE.ja
author | Sushi-k <epgrec@park.mda.or.jp> |
---|---|
date | Wed, 08 Jul 2009 11:44:50 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:96312e6ab8d4 | 1:f5a9f0eb4858 |
---|---|
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 ?> |