cvs: smarty /libs Smarty.class.php /libs/core core.assemble_auto_filename.php core.write_cache_paths_file.php

"Monte Ohrt" <[email protected]>
Newsgroups gmane.comp.php.cvs.smarty
Message-ID <cvsmohrt1056469502@cvsserver>
mohrt		Tue Jun 24 11:45:02 2003 EDT

  Modified files:              
    /smarty/libs	Smarty.class.php 
    /smarty/libs/core	core.assemble_auto_filename.php 
                     	core.write_cache_paths_file.php 
  Log:
  fixed cache_paths bug, simplified filename assembly logic
  
  
Index: smarty/libs/Smarty.class.php
diff -u smarty/libs/Smarty.class.php:1.418 smarty/libs/Smarty.class.php:1.419
--- smarty/libs/Smarty.class.php:1.418	Mon Jun 23 17:31:32 2003
+++ smarty/libs/Smarty.class.php	Tue Jun 24 11:45:01 2003
@@ -42,7 +42,7 @@
  * @version 2.5.0-cvs
  */
 
-/* $Id: Smarty.class.php,v 1.418 2003/06/23 21:31:32 mohrt Exp $ */
+/* $Id: Smarty.class.php,v 1.419 2003/06/24 15:45:01 mohrt Exp $ */
 
 /**
  * DIR_SEP isn't used anymore, but third party apps might
@@ -1165,13 +1165,21 @@
     {
         static $_cache_info = array();
 
-		$this->_cache_paths_file = $this->compile_dir
+		define('SMARTY_COMPILE_DIR_SEP', $this->use_sub_dirs ? DIRECTORY_SEPARATOR : '^');
+		
+		$this->_cache_paths_file =
+				$this->compile_dir
 				. DIRECTORY_SEPARATOR
 				. '_smarty_cached_paths'
-				. DIRECTORY_SEPARATOR
+				. SMARTY_COMPILE_DIR_SEP
 				. urlencode($resource_name)
 				. '.php';
-		
+
+		if(!$this->force_compile
+			&& file_exists($this->_cache_paths_file)) {
+			include_once($this->_cache_paths_file);
+		}		
+				
         $_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(error_reporting() & ~E_NOTICE);
 
         if($this->security && !in_array($this->template_dir, $this->secure_dir)) {
@@ -1415,11 +1423,6 @@
 		if (isset($this->_cache_paths['plugins'][$_cache_paths_key])) {
 			return $this->_cache_paths['plugins'][$_cache_paths_key];
 		}
-		if (!$this->force_compile
-			&& !isset($this->_cache_paths)
-			&& file_exists($this->_cache_paths_file)) {
-			include_once($this->_cache_paths_file);
-		}
 		
 		$_params = array('type' => $type, 'name' => $name);
 		require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.assemble_plugin_filepath.php');
@@ -1684,11 +1687,6 @@
 		$_cache_paths_key = $auto_base . '/' . $auto_source . '/' . $auto_id;
 		if (isset($this->_cache_paths['auto_file'][$_cache_paths_key])) {
 			return $this->_cache_paths['auto_file'][$_cache_paths_key];
-		}
-		if(!$this->force_compile
-			&& !isset($this->_cache_paths)
-			&& file_exists($this->_cache_paths_file)) {
-			include_once($this->_cache_paths_file);
 		}
 
 		$_params = array('auto_base' => $auto_base, 'auto_source' => $auto_source, 'auto_id' => $auto_id);
Index: smarty/libs/core/core.assemble_auto_filename.php
diff -u smarty/libs/core/core.assemble_auto_filename.php:1.3 smarty/libs/core/core.assemble_auto_filename.php:1.4
--- smarty/libs/core/core.assemble_auto_filename.php:1.3	Sat Jun 21 23:13:25 2003
+++ smarty/libs/core/core.assemble_auto_filename.php	Tue Jun 24 11:45:02 2003
@@ -17,17 +17,6 @@
  */    
 function smarty_core_assemble_auto_filename($params, &$smarty)
 {	
-    static $_dir_sep = null;
-    static $_dir_sep_enc = null;
-
-    if(!isset($_dir_sep)) {
-        $_dir_sep_enc = urlencode(DIRECTORY_SEPARATOR);
-        if($smarty->use_sub_dirs) {
-            $_dir_sep = DIRECTORY_SEPARATOR;
-        } else {
-            $_dir_sep = '^';
-        }
-    }
 
     if(@is_dir($params['auto_base'])) {
         $_return = $params['auto_base'] . DIRECTORY_SEPARATOR;
@@ -43,22 +32,18 @@
         // 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('|', $_dir_sep, $params['auto_id']);
-        $_return .= $params['auto_id'] . $_dir_sep;
+        $params['auto_id'] = str_replace('|', SMARTY_COMPILE_DIR_SEP, $params['auto_id']);
+        $_return .= $params['auto_id'] . SMARTY_COMPILE_DIR_SEP;
     }
 
     if(isset($params['auto_source'])) {
         // make source name safe for filename
-        if($smarty->use_sub_dirs) {
-            $_filename = urlencode(basename($params['auto_source']));
-            $_crc32 = crc32($params['auto_source']) . $_dir_sep;
-            // prepend %% to avoid name conflicts with
-            // with $params['auto_id'] names
-            $_crc32 = '%%' . substr($_crc32,0,3) . $_dir_sep . '%%' . $_crc32;
-            $_return .= $_crc32 . $_filename;
-        } else {
-            $_return .= str_replace($_dir_sep_enc,'^',urlencode($params['auto_source']));
-        }
+        $_filename = urlencode(basename($params['auto_source']));
+        $_crc32 = crc32($params['auto_source']) . SMARTY_COMPILE_DIR_SEP;
+        // prepend %% to avoid name conflicts with
+        // with $params['auto_id'] names
+        $_crc32 = '%%' . substr($_crc32,0,3) . SMARTY_COMPILE_DIR_SEP . '%%' . $_crc32;
+        $_return .= $_crc32 . $_filename;
     }
 	
     return $_return;
Index: smarty/libs/core/core.write_cache_paths_file.php
diff -u smarty/libs/core/core.write_cache_paths_file.php:1.5 smarty/libs/core/core.write_cache_paths_file.php:1.6
--- smarty/libs/core/core.write_cache_paths_file.php:1.5	Mon Jun 23 17:31:32 2003
+++ smarty/libs/core/core.write_cache_paths_file.php	Tue Jun 24 11:45:02 2003
@@ -15,7 +15,7 @@
 function smarty_core_write_cache_paths_file($params, &$smarty)
 {
 	$_compiled_content = function_exists('var_export') ? var_export($smarty->_cache_paths, true) : "unserialize('" . serialize($smarty->_cache_paths) . "')";
-	$_compiled_content = '<?php $smarty->_cache_paths = ' . $_compiled_content . '; ?>';
+	$_compiled_content = '<?php $this->_cache_paths = ' . $_compiled_content . '; ?>';
 	$_params = array('compile_path' => $smarty->_cache_paths_file, 'compiled_content' => $_compiled_content, 'resource_timestamp' => time());
 	require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_resource.php');
 	return smarty_core_write_compiled_resource($_params, $smarty);



-- 
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.