/[cvs]/nfo/php/libs/net.php.smarty/core/core.get_php_resource.php
ViewVC logotype

Annotation of /nfo/php/libs/net.php.smarty/core/core.get_php_resource.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Wed Jun 16 21:58:12 2004 UTC (20 years, 1 month ago) by joko
Branch: MAIN
CVS Tags: HEAD
updated to smarty-2.6.3

1 joko 1.1 <?php
2     /**
3     * Smarty plugin
4     * @package Smarty
5     * @subpackage plugins
6     */
7    
8     /**
9     * Retrieves PHP script resource
10     *
11     * sets $php_resource to the returned resource
12     * @param string $resource
13     * @param string $resource_type
14     * @param $php_resource
15     * @return boolean
16     */
17    
18     function smarty_core_get_php_resource(&$params, &$smarty)
19     {
20    
21     $params['resource_base_path'] = $smarty->trusted_dir;
22     $smarty->_parse_resource_name($params, $smarty);
23    
24     /*
25     * Find out if the resource exists.
26     */
27    
28     if ($params['resource_type'] == 'file') {
29     $_readable = false;
30     if(file_exists($params['resource_name']) && is_readable($params['resource_name'])) {
31     $_readable = true;
32     } else {
33     // test for file in include_path
34     $_params = array('file_path' => $params['resource_name']);
35     require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php');
36     if(smarty_core_get_include_path($_params, $smarty)) {
37     $_include_path = $_params['new_file_path'];
38     $_readable = true;
39     }
40     }
41     } else if ($params['resource_type'] != 'file') {
42     $_template_source = null;
43     $_readable = is_callable($smarty->_plugins['resource'][$params['resource_type']][0][0])
44     && call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][0],
45     array($params['resource_name'], &$_template_source, &$smarty));
46     }
47    
48     /*
49     * Set the error function, depending on which class calls us.
50     */
51     if (method_exists($smarty, '_syntax_error')) {
52     $_error_funcc = '_syntax_error';
53     } else {
54     $_error_funcc = 'trigger_error';
55     }
56    
57     if ($_readable) {
58     if ($smarty->security) {
59     require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_trusted.php');
60     if (!smarty_core_is_trusted($params, $smarty)) {
61     $smarty->$_error_funcc('(secure mode) ' . $params['resource_type'] . ':' . $params['resource_name'] . ' is not trusted');
62     return false;
63     }
64     }
65     } else {
66     $smarty->$_error_funcc($params['resource_type'] . ':' . $params['resource_name'] . ' is not readable');
67     return false;
68     }
69    
70     if ($params['resource_type'] == 'file') {
71     $params['php_resource'] = $params['resource_name'];
72     } else {
73     $params['php_resource'] = $_template_source;
74     }
75     return true;
76     }
77    
78     /* vim: set expandtab: */
79    
80     ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed