1 |
<?php |
2 |
/** |
3 |
* Smarty plugin |
4 |
* @package Smarty |
5 |
* @subpackage plugins |
6 |
*/ |
7 |
|
8 |
/** |
9 |
* called for included php files within templates |
10 |
* |
11 |
* @param string $smarty_file |
12 |
* @param string $smarty_assign variable to assign the included template's |
13 |
* output into |
14 |
* @param boolean $smarty_once uses include_once if this is true |
15 |
* @param array $smarty_include_vars associative array of vars from |
16 |
* {include file="blah" var=$var} |
17 |
*/ |
18 |
|
19 |
// $file, $assign, $once, $_smarty_include_vars |
20 |
|
21 |
function smarty_core_smarty_include_php($params, &$smarty) |
22 |
{ |
23 |
$_params = array('resource_name' => $params['smarty_file']); |
24 |
require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); |
25 |
smarty_core_get_php_resource($_params, $smarty); |
26 |
$_smarty_resource_type = $_params['resource_type']; |
27 |
$_smarty_php_resource = $_params['php_resource']; |
28 |
|
29 |
if (!empty($params['smarty_assign'])) { |
30 |
ob_start(); |
31 |
if ($_smarty_resource_type == 'file') { |
32 |
$smarty->_include($_smarty_php_resource, $params['smarty_once'], $params['smarty_include_vars']); |
33 |
} else { |
34 |
$smarty->_eval($_smarty_php_resource, $params['smarty_include_vars']); |
35 |
} |
36 |
$smarty->assign($params['smarty_assign'], ob_get_contents()); |
37 |
ob_end_clean(); |
38 |
} else { |
39 |
if ($_smarty_resource_type == 'file') { |
40 |
$smarty->_include($_smarty_php_resource, $params['smarty_once'], $params['smarty_include_vars']); |
41 |
} else { |
42 |
$smarty->_eval($_smarty_php_resource, $params['smarty_include_vars']); |
43 |
} |
44 |
} |
45 |
} |
46 |
|
47 |
|
48 |
/* vim: set expandtab: */ |
49 |
|
50 |
?> |