5 Modification information for LGPL compliance
7 r56990 - 2010-06-16 13:05:36 -0700 (Wed, 16 Jun 2010) - kjing - snapshot "Mango" svn branch to a new one for GitHub sync
9 r56989 - 2010-06-16 13:01:33 -0700 (Wed, 16 Jun 2010) - kjing - defunt "Mango" svn dev branch before github cutover
11 r55980 - 2010-04-19 13:31:28 -0700 (Mon, 19 Apr 2010) - kjing - create Mango (6.1) based on windex
13 r51719 - 2009-10-22 10:18:00 -0700 (Thu, 22 Oct 2009) - mitani - Converted to Build 3 tags and updated the build system
15 r51634 - 2009-10-19 13:32:22 -0700 (Mon, 19 Oct 2009) - mitani - Windex is the branch for Sugar Sales 1.0 development
17 r50375 - 2009-08-24 18:07:43 -0700 (Mon, 24 Aug 2009) - dwong - branch kobe2 from tokyo r50372
19 r42807 - 2008-12-29 11:16:59 -0800 (Mon, 29 Dec 2008) - dwong - Branch from trunk/sugarcrm r42806 to branches/tokyo/sugarcrm
21 r8230 - 2005-10-03 17:47:19 -0700 (Mon, 03 Oct 2005) - majed - Added Sugar_Smarty to the code tree.
34 * Retrieves PHP script resource
36 * sets $php_resource to the returned resource
37 * @param string $resource
38 * @param string $resource_type
39 * @param $php_resource
43 function smarty_core_get_php_resource(&$params, &$smarty)
46 $params['resource_base_path'] = $smarty->trusted_dir;
47 $smarty->_parse_resource_name($params, $smarty);
50 * Find out if the resource exists.
53 if ($params['resource_type'] == 'file') {
55 if(file_exists($params['resource_name']) && is_readable($params['resource_name'])) {
58 // test for file in include_path
59 $_params = array('file_path' => $params['resource_name']);
60 require_once(SMARTY_CORE_DIR . 'core.get_include_path.php');
61 if(smarty_core_get_include_path($_params, $smarty)) {
62 $_include_path = $_params['new_file_path'];
66 } else if ($params['resource_type'] != 'file') {
67 $_template_source = null;
68 $_readable = is_callable($smarty->_plugins['resource'][$params['resource_type']][0][0])
69 && call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][0],
70 array($params['resource_name'], &$_template_source, &$smarty));
74 * Set the error function, depending on which class calls us.
76 if (method_exists($smarty, '_syntax_error')) {
77 $_error_funcc = '_syntax_error';
79 $_error_funcc = 'trigger_error';
83 if ($smarty->security) {
84 require_once(SMARTY_CORE_DIR . 'core.is_trusted.php');
85 if (!smarty_core_is_trusted($params, $smarty)) {
86 $smarty->$_error_funcc('(secure mode) ' . $params['resource_type'] . ':' . $params['resource_name'] . ' is not trusted');
91 $smarty->$_error_funcc($params['resource_type'] . ':' . $params['resource_name'] . ' is not readable');
95 if ($params['resource_type'] == 'file') {
96 $params['php_resource'] = $params['resource_name'];
98 $params['php_resource'] = $_template_source;
103 /* vim: set expandtab: */