default_resource_type; $params['resource_name'] = $_file_path_parts[0]; } else { if(strlen($_file_path_parts[0]) == 1) { // 1 char is not resource type, but part of filepath $params['resource_type'] = $this->default_resource_type; $params['resource_name'] = $params['file_path']; } else { $params['resource_type'] = $_file_path_parts[0]; $params['resource_name'] = $_file_path_parts[1]; } } if ($params['resource_type'] == 'file') { if (!preg_match("/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/", $params['resource_name'])) { // relative pathname to $params['file_base_path'] // use the first directory where the file is found $_file_base_path = isset($params['file_base_path']) ? $params['file_base_path'] : array('.'); settype($_file_base_path, 'array'); foreach ($_file_base_path as $_curr_path) { $_fullpath = $_curr_path . DIRECTORY_SEPARATOR . $params['resource_name']; if (file_exists($_fullpath) && is_file($_fullpath)) { $params['resource_name'] = $_fullpath; return true; } // didn't find the file, try include_path $_params = array('file_path' => $_fullpath); require_once(SMARTY_DIR . 'core/core.get_include_path.php'); if(smarty_core_get_include_path($_params, $this)) { $params['resource_name'] = $_params['new_file_path']; return true; } } return false; } } else { $_params = array('type' => $params['resource_type']); require_once(SMARTY_DIR . 'core/core.load_resource_plugin.php'); smarty_core_load_resource_plugin($_params, $this); } return true; } /* vim: set expandtab: */ ?>