Code

Updated to smarty 2.6.20
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 9 Oct 2008 08:10:40 +0000 (08:10 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 9 Oct 2008 08:10:40 +0000 (08:10 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@12642 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/smarty/Config_File.class.php
gosa-core/include/smarty/Smarty.class.php
gosa-core/include/smarty/Smarty_Compiler.class.php
gosa-core/include/smarty/internals/core.process_compiled_include.php
gosa-core/include/smarty/plugins/modifier.regex_replace.php
gosa-core/include/smarty/plugins/outputfilter.trimwhitespace.php

index e3c3ca25c60688da42a34e54be6cab0c61c27de6..a10d30469d8975ac0c992afd2f957add103bb35d 100644 (file)
@@ -18,7 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  * @link http://smarty.php.net/
- * @version 2.6.19
+ * @version 2.6.20
  * @copyright Copyright: 2001-2005 New Digital Group, Inc.
  * @author Andrei Zmievski <andrei@php.net>
  * @access public
index 5eda787bd2c9aeb9f76c1213f53c6b4cb697fe18..19318e6a17827929d0280e1cdd4c62937eed8e4a 100644 (file)
@@ -27,7 +27,7 @@
  * @author Monte Ohrt <monte at ohrt dot com>
  * @author Andrei Zmievski <andrei@php.net>
  * @package Smarty
- * @version 2.6.19
+ * @version 2.6.20
  */
 
 /* $Id: Smarty.class.php 2722 2007-06-18 14:29:00Z danilo $ */
@@ -464,7 +464,7 @@ class Smarty
      *
      * @var string
      */
-    var $_version              = '2.6.19';
+    var $_version              = '2.6.20';
 
     /**
      * current template inclusion depth
index 52466d3188d7b613f30f87b5730844a692c8a756..f09f8de8dc6a0bbacde086324f362b57423d81e1 100644 (file)
  * @link http://smarty.php.net/
  * @author Monte Ohrt <monte at ohrt dot com>
  * @author Andrei Zmievski <andrei@php.net>
- * @version 2.6.19
+ * @version 2.6.20
  * @copyright 2001-2005 New Digital Group, Inc.
  * @package Smarty
  */
 
-/* $Id: Smarty_Compiler.class.php 2736 2007-09-16 14:47:53Z mohrt $ */
+/* $Id: Smarty_Compiler.class.php 2773 2008-08-12 18:17:51Z Uwe.Tews $ */
 
 /**
  * Template compiling class
@@ -1363,9 +1363,14 @@ class Smarty_Compiler extends Smarty {
                     /* If last token was a ')', we operate on the parenthesized
                        expression. The start of the expression is on the stack.
                        Otherwise, we operate on the last encountered token. */
-                    if ($tokens[$i-1] == ')')
+                    if ($tokens[$i-1] == ')') {
                         $is_arg_start = array_pop($is_arg_stack);
-                    else
+                        if ($is_arg_start != 0) {
+                            if (preg_match('~^' . $this->_func_regexp . '$~', $tokens[$is_arg_start-1])) {
+                                $is_arg_start--;
+                            } 
+                        } 
+                    } else
                         $is_arg_start = $i-1;
                     /* Construct the argument for 'is' expression, so it knows
                        what to operate on. */
index d539423bf740ee58787d4352a9e83b2990696b1f..904d59745288b54da60c92397a8fb854556d297c 100644 (file)
@@ -25,7 +25,7 @@ function smarty_core_process_compiled_include($params, &$smarty)
         $smarty->_include($_include_file_path, true);
     }
 
-    foreach ($smarty->_cache_serials as $_include_file_path=>$_cache_serial) {
+    foreach ($smarty->_cache_info['cache_serials'] as $_include_file_path=>$_cache_serial) {
         $_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s',
                                          array(&$smarty, '_process_compiled_include_callback'),
                                          $_return);
index d1f1545d8f095c6dab06d6362efa25f501e8fc7e..100b58ce4b1e7a969bef4fdee59f17d36f56f41c 100644 (file)
  * @return string
  */
 function smarty_modifier_regex_replace($string, $search, $replace)
+{
+    if(is_array($search)) {
+      foreach($search as $idx => $s)
+        $search[$idx] = _smarty_regex_replace_check($s);
+    } else {
+      $search = _smarty_regex_replace_check($search);
+    }       
+
+    return preg_replace($search, $replace, $string);
+}
+
+function _smarty_regex_replace_check($search)
 {
     if (($pos = strpos($search,"\0")) !== false)
       $search = substr($search,0,$pos);
@@ -28,8 +40,7 @@ function smarty_modifier_regex_replace($string, $search, $replace)
         /* remove eval-modifier from $search */
         $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]);
     }
-       
-    return preg_replace($search, $replace, $string);
+    return $search;
 }
 
 /* vim: set expandtab: */
index 97b0d21e8495185671a190b90db9c426a73482a1..739fa39b021a36fe24d8b39efee9363f1aab8cc1 100644 (file)
 function smarty_outputfilter_trimwhitespace($source, &$smarty)
 {
     // Pull out the script blocks
-    preg_match_all("!<script[^>]+>.*?</script>!is", $source, $match);
+    preg_match_all("!<script[^>]*?>.*?</script>!is", $source, $match);
     $_script_blocks = $match[0];
-    $source = preg_replace("!<script[^>]+>.*?</script>!is",
+    $source = preg_replace("!<script[^>]*?>.*?</script>!is",
                            '@@@SMARTY:TRIM:SCRIPT@@@', $source);
 
     // Pull out the pre blocks
-    preg_match_all("!<pre>.*?</pre>!is", $source, $match);
+    preg_match_all("!<pre[^>]*?>.*?</pre>!is", $source, $match);
     $_pre_blocks = $match[0];
-    $source = preg_replace("!<pre>.*?</pre>!is",
+    $source = preg_replace("!<pre[^>]*?>.*?</pre>!is",
                            '@@@SMARTY:TRIM:PRE@@@', $source);
-
+    
     // Pull out the textarea blocks
-    preg_match_all("!<textarea[^>]+>.*?</textarea>!is", $source, $match);
+    preg_match_all("!<textarea[^>]*?>.*?</textarea>!is", $source, $match);
     $_textarea_blocks = $match[0];
-    $source = preg_replace("!<textarea[^>]+>.*?</textarea>!is",
+    $source = preg_replace("!<textarea[^>]*?>.*?</textarea>!is",
                            '@@@SMARTY:TRIM:TEXTAREA@@@', $source);
 
     // remove all leading spaces, tabs and carriage returns NOT