Mercurial > epgrec.yaz
comparison Smarty/internals/core.is_trusted.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 * determines if a resource is trusted or not | |
10 * | |
11 * @param string $resource_type | |
12 * @param string $resource_name | |
13 * @return boolean | |
14 */ | |
15 | |
16 // $resource_type, $resource_name | |
17 | |
18 function smarty_core_is_trusted($params, &$smarty) | |
19 { | |
20 $_smarty_trusted = false; | |
21 if ($params['resource_type'] == 'file') { | |
22 if (!empty($smarty->trusted_dir)) { | |
23 $_rp = realpath($params['resource_name']); | |
24 foreach ((array)$smarty->trusted_dir as $curr_dir) { | |
25 if (!empty($curr_dir) && is_readable ($curr_dir)) { | |
26 $_cd = realpath($curr_dir); | |
27 if (strncmp($_rp, $_cd, strlen($_cd)) == 0 | |
28 && substr($_rp, strlen($_cd), 1) == DIRECTORY_SEPARATOR ) { | |
29 $_smarty_trusted = true; | |
30 break; | |
31 } | |
32 } | |
33 } | |
34 } | |
35 | |
36 } else { | |
37 // resource is not on local file system | |
38 $_smarty_trusted = call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][3], | |
39 array($params['resource_name'], $smarty)); | |
40 } | |
41 | |
42 return $_smarty_trusted; | |
43 } | |
44 | |
45 /* vim: set expandtab: */ | |
46 | |
47 ?> |