fix SMARTY_COMPILE_DIR_SEP problem, make local var

This commit is contained in:
mohrt
2003-06-25 21:50:34 +00:00
parent 0f3034af42
commit 5ae5a6f576
2 changed files with 8 additions and 6 deletions

View File

@@ -1165,13 +1165,13 @@ class Smarty
{
static $_cache_info = array();
define('SMARTY_COMPILE_DIR_SEP', $this->use_sub_dirs ? DIRECTORY_SEPARATOR : '^');
$_compile_dir_sep = $this->use_sub_dirs ? DIRECTORY_SEPARATOR : '^';
$this->_cache_paths_file =
$this->compile_dir
. DIRECTORY_SEPARATOR
. '_smarty_cached_paths'
. SMARTY_COMPILE_DIR_SEP
. $_compile_dir_sep
. urlencode($resource_name)
. '.php';

View File

@@ -18,6 +18,8 @@
function smarty_core_assemble_auto_filename($params, &$smarty)
{
$_compile_dir_sep = $this->use_sub_dirs ? DIRECTORY_SEPARATOR : '^';
if(@is_dir($params['auto_base'])) {
$_return = $params['auto_base'] . DIRECTORY_SEPARATOR;
} else {
@@ -32,17 +34,17 @@ function smarty_core_assemble_auto_filename($params, &$smarty)
// make auto_id safe for directory names
$params['auto_id'] = str_replace('%7C','|',(urlencode($params['auto_id'])));
// split into separate directories
$params['auto_id'] = str_replace('|', SMARTY_COMPILE_DIR_SEP, $params['auto_id']);
$_return .= $params['auto_id'] . SMARTY_COMPILE_DIR_SEP;
$params['auto_id'] = str_replace('|', $_compile_dir_sep, $params['auto_id']);
$_return .= $params['auto_id'] . $_compile_dir_sep;
}
if(isset($params['auto_source'])) {
// make source name safe for filename
$_filename = urlencode(basename($params['auto_source']));
$_crc32 = crc32($params['auto_source']) . SMARTY_COMPILE_DIR_SEP;
$_crc32 = crc32($params['auto_source']) . $_compile_dir_sep;
// prepend %% to avoid name conflicts with
// with $params['auto_id'] names
$_crc32 = '%%' . substr($_crc32,0,3) . SMARTY_COMPILE_DIR_SEP . '%%' . $_crc32;
$_crc32 = '%%' . substr($_crc32,0,3) . $_compile_dir_sep . '%%' . $_crc32;
$_return .= $_crc32 . $_filename;
}