Хранилища Subversion ant

Редакция

Редакция 2 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

Редакция Автор № строки Строка
2 alex-w 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
?>